Archive for the ‘Linux Solution’ Category

Podman & MinIO S3 Storage – mit Proxmox Virtual Environment (VE) 9.0.10 Container (LXC) Ubuntu 25.04 installieren für eine Backup Strategie ‚ProtectIT‘

Mittwoch, Oktober 1st, 2025
root@pve-pdman-01:~# apt-get install podman -y
root@pve-pdman-01:~# podman -v
podman version 5.4.1
root@pve-pdman-01:~# podman info
root@pve-pdman-01:~# mkdir -p ~/minio/data
root@pve-pdman-01:~# podman run \
-p 9000:9000 \
-p 9001:9001 \
–name minio \
-v ~/minio/data:/data \
-e „MINIO_ROOT_USER=<user>“ \
-e „MINIO_ROOT_PASSWORD=<password>“ \
quay.io/minio/minio server /data –console-address „:9001“
root@pve-pdman-01:~# podman images
REPOSITORY TAG IMAGE ID CREATED SIZE
quay.io/minio/minio latest 69b2ec208575 2 weeks ago 176 MB
root@pve-pdman-01:~# podman ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
86234ac671bb quay.io/minio/minio:latest server /data –co… About an hour ago Up 9 minutes 0.0.0.0:9000-9001->9000-9001/tcp minio
http://<IP@>:9001
root@pve-pdman-01:~# podman auto-update –dry-run

root@pve-pdman-01:~#
root@pve-pdman-01:~# curl https://dl.min.io/client/mc/release/linux-amd64/mc \
–create-dirs \
-o $HOME/minio-binaries/mc
root@pve-pdman-01:~# chmod +x $HOME/minio-binaries/mc
root@pve-pdman-01:~# export PATH=$PATH:$HOME/minio-binaries/
root@pve-pdman-01:~# mc –help
root@pve-pdman-01:~# mc alias set myminio http://192.168.1.177:9000 <user> <password>
Added `myminio` successfully.
root@pve-pdman-01:~#
root@pve-pdman-01:~# mc mb –with-lock myminio/worm-with-versioning-and-retention–day
Bucket created successfully `myminio/worm-with-versioning-and-retention–day`.
root@pve-pdman-01:~#
root@pve-pdman-01:~# mc ilm add –expiry-days 15 myminio/worm-with-versioning-and-retention–day
Lifecycle configuration rule added with ID `d3dsfjcukqlgnr42cv90` to myminio/worm-with-versioning-and-retention–day.
root@pve-pdman-01:~#
root@pve-pdman-01:~# mc ilm rule rm –id „d3dsfjcukqlgnr42cv90“ myminio/worm-with-versioning-and-retention–day
Rule ID `d3dsfjcukqlgnr42cv90` from target myminio/worm-with-versioning-and-retention–day removed.
root@pve-pdman-01:~#
root@pve-pdman-01:~# mc ilm add –expiry-days 12 myminio/worm-with-versioning-and-retention–day
Lifecycle configuration rule added with ID `d3f7j1cukqlhid0kvulg` to myminio/worm-with-versioning-and-retention–day.

root@pve-pdman-01:~#
root@pve-pdman-01:~# mc ilm add –insecure –noncurrentversion-expiration-days 3 myminio/worm-with-versioning-and-retention–day
Lifecycle configuration rule added with ID `d3dsgocukqlgnqqqgmi0` to myminio/worm-with-versioning-and-retention–day.
root@pve-pdman-01:~#
root@pve-pdman-01:~# mc ilm export myminio/worm-with-versioning-and-retention–day
{
„Rules“: [
{
„ID“: „d3dsgocukqlgnqqqgmi0“,
„NoncurrentVersionExpiration“: {
„NoncurrentDays“: 3
},
„Status“: „Enabled“
},
{
„Expiration“: {
„Days“: 12
},
„ID“: „d3f7j1cukqlhid0kvulg“,
„Status“: „Enabled“
}
]
}
root@pve-pdman-01:~#
root@pve-pdman-01:~# mc ilm add –expiry-days 96 myminio/worm-with-versioning-and-retention–week
root@pve-pdman-01:~# mc ilm add  –noncurrentversion-expiration-days 3 myminio/worm-with-versioning-and-retention–week
root@pve-pdman-01:~# mc ilm add –expiry-days 192 myminio/worm-with-versioning-and-retention–month
root@pve-pdman-01:~# mc ilm add  –noncurrentversion-expiration-days 3 myminio/worm-with-versioning-and-retention–month
root@pve-pdman-01:~# mc ilm add –expiry-days 484 myminio/worm-with-versioning-and-retention–year
root@pve-pdman-01:~# mc ilm add  –noncurrentversion-expiration-days 3 myminio/worm-with-versioning-and-retention–year

root@pve-pdman-01:~#
root@pve-pdman-01:~# mc retention set –default compliance 7d myminio/worm-with-versioning-and-retention–day
Object locking ‚COMPLIANCE‘ is configured for 7DAYS.
root@pve-pdman-01:~# mc retention info myminio/worm-with-versioning-and-retention–day
Object locking ‚COMPLIANCE‘ is configured for 7DAYS.
root@pve-pdman-01:~# mc –json retention info myminio/worm-with-versioning-and-retention–day
{
„op“: „info“,
„enabled“: „Enabled“,
„mode“: „COMPLIANCE“,
„validity“: „7DAYS“,
„status“: „success“
}
root@pve-pdman-01:~#

The MinIO ‚mc mirror‘ command synchronizes content to MinIO deployment similar to the ‚rsync‘ utility

root@rpi-iot-jsho-cam-02:~# mc mirror –json $LocalBackupPath/$MirrorDay $MinioBucket/MotionEYE/$MirrorDay

MinIO – Object Management Versioning Lab

Dienstag, September 30th, 2025

MinIO – Object Management Lifecycle Management

Dienstag, September 30th, 2025

MinIO – Object Management Object Locking

Dienstag, September 30th, 2025

Podman Desktop – how to get started

Montag, September 29th, 2025

Podman Desktop – Container management and orchestration is critical part of software development of scalable applications

Montag, September 29th, 2025

Podman – how is it different than Docker

Sonntag, September 28th, 2025

Linux Tipp #12 – Linux Professional Institute LPIC-1 Tipps für die Prüfungsvorbereitung

Sonntag, September 28th, 2025

MinIO – is the only pure play exascale object store for AI data

Donnerstag, September 25th, 2025

Linux Tipp #11 – Einführung in den Text Editor VIM (Vi IMproved)

Donnerstag, September 25th, 2025

Raspberry Pi 500+ – kommt als Luxusversion mit bunt leuchtender Tastatur mit eingebauter 256GB SSD und 16GB RAM

Donnerstag, September 25th, 2025

Raspberry Pi 5 – der M.2 HAT+Compact nimmt die 30mm kleine SSD huckepack und das Ganze passt neben den offiziellen CPU Kühler

Dienstag, September 23rd, 2025

Open Archiver – ist eine sichere selbstgehostete eMail Archivierungslösung und vollständig Open Source somit erstellt man ein dauerhaftes durchsuchbares und rechtskonformes eMail Archiv von Google Workspace Microsoft 365 und beliebigen IMAP Servern

Dienstag, September 23rd, 2025

DietPi 9.17 – wenn mehrere Backups erstellt und aufbewahrt werden wird nun die Option ‚rsync –link-dest‘ verwendet um Dateien die sich zwischen der letzten und der aktuellen Backup Iteration nicht geändert haben als Hardlinks zur letzten Iteration zu erstellen anstatt sie zu duplizieren

Dienstag, September 23rd, 2025

Die Basis bildet dabei das erste Vollbackup wie man es auch von der inkrementellen Backup-Software kennt:

backup_timestamp=“$(date +%Y%m%d_%H%M%S)“
rsync -av –stats „${source_path}“ „${backup_path}/${backup_timestamp}“

Bei allen folgenden Backups nutzen wir aber nun über ‚–link-dest‘ das Backup des Vortages:

rsync -av –stats –delete –link-dest=“${backup_path}/${last_backup}“ „${source_path}“ „${backup_path}/${backup_timestamp}“

Proxmox Virtual Environment (VE) 9.0.6 – Cluster Node sicher entfernen & neu installieren

Montag, September 22nd, 2025