Archive for the ‘Linux Solution’ Category

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

Montag, März 9th, 2026

 

root@pve-pdman-02:~# apt-get install podman -y
root@pve-pdman-02:~# podman –version
podman version 5.4.1
root@pve-pdman-02:~#
root@pve-pdman-02:~# mkdir -p $HOME/minio/data $HOME/minio/certs
root@pve-pdman-02:~#
root@pve-pdman-02:~# podman pull quay.io/minio/aistor/minio
Trying to pull quay.io/minio/aistor/minio:latest…
Getting image source signatures
Copying blob b9c0132d4fc4 done |
Copying blob a4040d7639ee done |
Copying blob 18c6d1aafeac done |
Copying blob 9b89e85e383a done |
Copying blob 07dad54395c5 done |
Copying blob 7d1fa4953c50 done |
Copying blob 4da47c45b87a done |
Copying blob a66c129ee211 done |
Copying blob a4a6f67359f4 done |
Copying blob 39dae2cafc87 done |
Copying blob 2632d3c09ca4 done |
Copying config 62640cc449 done |
Writing manifest to image destination
62640cc4499ca9b8235f6ade35019792dd8ee073f0059d0ed9de3e720eae7e54
root@pve-pdman-02:~#

Download the license file to $HOME/minio/minio.license for use in the next step

root@pve-pdman-02:~# podman run -dt \
-p 9000:9000 -p 9001:9001 \
-v $HOME/minio/data:/mnt/data \
-v $HOME/minio/minio.license:/minio.license \
-v $HOME/minio/certs:/etc/minio/certs \
–name „aistor-server“ \
quay.io/minio/aistor/minio:latest minio server /mnt/data \
–license /minio.license
82c3a5cbdae6bd6623deb5acd8eaf882c20290af385e14d990f1d2566920552e
root@pve-pdman-02:~#
root@pve-pdman-02:~# podman ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
82c3a5cbdae6 quay.io/minio/aistor/minio:latest minio server /mnt… 8 seconds ago Up 8 seconds 0.0.0.0:9000-9001->9000-9001/tcp aistor-server
root@pve-pdman-02:~#

Open your browser to http://pve-pdman-02:9001

root@pve-pdman-02:~# cd minio

root@pve-pdman-02:~/minio# wget https://dl.min.io/aistor/mc/release/linux-amd64/mc

–2026-03-09 11:13:17– https://dl.min.io/aistor/mc/release/linux-amd64/mc
Resolving dl.min.io (dl.min.io)… 138.68.11.125, 178.128.69.202
Connecting to dl.min.io (dl.min.io)|138.68.11.125|:443… connected.
HTTP request sent, awaiting response… 200 OK
Length: 98529464 (94M) [application/octet-stream]
Saving to: ‚mc‘
mc 100%[===========================================>] 93.96M 9.03MB/s in 12s
2026-03-09 11:13:31 (7.56 MB/s) – ‚mc‘ saved [98529464/98529464]
root@pve-pdman-02:~/minio#

root@pve-pdman-02:~/minio# chmod +x mc

root@pve-pdman-02:~/minio# ./mc –version
mc version RELEASE.2026-02-19T10-32-25Z (commit-id=562ae1114bc24f7d8ffcf78db97b70058b85d659)
Runtime: go1.25.7 linux/amd64
Copyright (c) 2015-2026 MinIO, Inc.
MinIO Enterprise License

root@pve-pdman-02:~/minio#
root@pve-pdman-02:~/minio# ./mc alias set myminio http://192.168.1.199:9000 <user> <password>
Configuration written to `/root/.mc/config.json`. Please update your access credentials.
Successfully created `/root/.mc/share`.
Initialized share uploads `/root/.mc/share/uploads.json` file.
Initialized share downloads `/root/.mc/share/downloads.json` file.
Added `myminio` successfully.
root@pve-pdman-02:~/minio#
root@pve-pdman-02:~/minio# ./mc mb –with-lock myminio/worm-with-versioning-and-retention-day
Bucket created successfully `myminio/worm-with-versioning-and-retention-day`.
root@pve-pdman-02:~/minio#
root@pve-pdman-02:~/minio# ./mc ilm add –expiry-days 15 myminio/worm-with-versioning-and-retention-day
Lifecycle configuration rule added with ID `d6nb3i35sgm06udsobh0` to myminio/worm-with-versioning-and-retention-day.
root@pve-pdman-02:~/minio#
root@pve-pdman-02:~/minio# ./mc ilm export myminio/worm-with-versioning-and-retention-day
{
„Rules“: [
{
„Expiration“: {
„Days“: 15
},
„ID“: „d6nb3i35sgm06udsobh0“,
„Status“: „Enabled“
}
]
}
root@pve-pdman-02:~/minio#
root@pve-pdman-02:~/minio# ./mc retention set –default compliance 7d myminio/worm-with-versioning-and-retention-day
Object locking ‚COMPLIANCE‘ is configured for 7DAYS.
root@pve-pdman-02:~/minio#
root@pve-pdman-02:~/minio# ./mc –json retention info myminio/worm-with-versioning-and-retention-day
{
„op“: „info“,
„enabled“: „Enabled“,
„mode“: „COMPLIANCE“,
„validity“: „7DAYS“,
„status“: „success“
}
root@pve-pdman-02:~/minio#

root@pve-pdman-02:~/minio# ./mc admin user add myminio admin <password>
Added user `admin` successfully.
root@pve-pdman-02:~/minio#
root@pve-pdman-02:~/minio# ./mc admin policy attach myminio consoleAdmin -user admin
Attached Policies: [consoleAdmin]
To User: admin
root@pve-pdman-02:~/minio# ./mc admin user disable myminio admin
Disabled user `admin` successfully.
root@pve-pdman-02:~/minio# ./mc admin user remove myminio admin
Removed user `admin` successfully.
root@pve-pdman-02:~/minio#

MinIO AIStor – exascale data store for high performance AI workloads natively supporting the S3 API for objects Iceberg for tables and SFTP for files

Samstag, März 7th, 2026

MinIO – die Open Source Version von MinIO (MinIO Community Edition) wurde im Dezember 2025 offiziell in den „Maintenance Mode“ versetzt dies kommt faktisch einem End of Life (EOL) für die freie Open Source Version gleich da keine neuen Features mehr entwickelt werden und Sicherheitspatches nur noch im Einzelfall geprüft werden

Freitag, März 6th, 2026

OpenClaw PicoClaw Clone – den „mächtigen“ KI Agenten auf einem Raspberry Pi 3 nutzen

Freitag, März 6th, 2026

Proxmox Virtual Environment (VE) 9.1.5 – um seinen Host per Wake-on-LAN (WoL) einzuschalten braucht es nur eine WoL fähige Hardware und entsprechende BIOS Einstellungen

Mittwoch, Februar 25th, 2026

pvenode config set –wakeonlan <MAC>

ethtool <e.g. eth0 | eno2> | grep „Wake-on“

root@pve:~# ethtool eth0 | grep „Wake-on“
Supports Wake-on: pumbg
Wake-on: g

PostgreSQL 18.2 – Installation Guide for Docker Containers with Linux x86_64 from ‚https://hub.docker.com/‘

Sonntag, Februar 22nd, 2026
root@pve-PostgreSQL-01:~# docker run –name postgreSQL \
-e POSTGRES_USER=admin \
-e POSTGRES_PASSWORD=<password> \
-e POSTGRES_DB=postgreSQL \
-p 5432:5432 \
-d postgres
Unable to find image ‚postgres:latest‘ locally
latest: Pulling from library/postgres
97d92c993d8c: Pull complete
777cc89ca451: Pull complete
b3892cfe5fd0: Pull complete
ead3bf55c003: Pull complete
c6f633039419: Pull complete
9ebad2bb4202: Pull complete
659362c5a0b7: Pull complete
dde5569f086b: Pull complete
0c8d55a45c0d: Pull complete
271cc796df4f: Pull complete
698873b94b0d: Pull complete
0d47a78b3257: Pull complete
ae2a61803f45: Pull complete
21ebeb2eb594: Download complete
f00d75aa906e: Download complete
Digest: sha256:b6b4d0b75c699a2c94dfc5a94fe09f38630f3b67ab0e1653ede1b7ac8e13c197
Status: Downloaded newer image for postgres:latest
737504436ebcc4a78a4b1abac28323036db2f83e55956cee9d5844bab63242f1
root@pve-PostgreSQL-01:~#
root@pve-PostgreSQL-01:~# docker exec -it postgreSQL psql -U admin -d postgreSQL
psql (18.2 (Debian 18.2-1.pgdg13+1))
Type „help“ for help.
postgreSQL=#
postgreSQL=# CREATE TABLE customers (first_name VARCHAR(50),last_name VARCHAR(50));
CREATE TABLE

postgreSQL=# \q
root@pve-PostgreSQL-01:~#
root@pve-PostgreSQL-01:~# docker exec -it postgreSQL bash
root@737504436ebc:/# psql –version
psql (PostgreSQL) 18.2 (Debian 18.2-1.pgdg13+1)
root@737504436ebc:/# exit
root@pve-PostgreSQL-01:~#
root@pve-PostgreSQL-01:~# docker exec -it postgreSQL bash
root@737504436ebc:/# psql -U admin -d postgreSQL
psql (18.2 (Debian 18.2-1.pgdg13+1))
Type „help“ for help.
postgreSQL=#

List all databases – \l

postgreSQL=# \l
List of databases
Name | Owner | Encoding | Locale Provider | Collate | Ctype | Locale | ICU Rules | Access privileges
————+——-+———-+—————–+————+————+——–+———–+——————-
postgreSQL | admin | UTF8 | libc | en_US.utf8 | en_US.utf8 | | |
postgres | admin | UTF8 | libc | en_US.utf8 | en_US.utf8 | | |
template0 | admin | UTF8 | libc | en_US.utf8 | en_US.utf8 | | | =c/admin +
| | | | | | | | admin=CTc/admin
template1 | admin | UTF8 | libc | en_US.utf8 | en_US.utf8 | | | =c/admin +
| | | | | | | | admin=CTc/admin
(4 rows)
postgreSQL=#

List database tables – \dt

postgreSQL=# \dt
List of tables
Schema | Name | Type | Owner
——–+————-+——-+——-
public | kundenliste | table | admin
(1 row)
postgreSQL=#

Describe a table – \d <table>

postgreSQL=# \d kundenliste
Table „public.kundenliste“
Column | Type | Collation | Nullable | Default
———+————————+———–+———-+———
id | integer | | not null |
name | character varying(50) | | not null |
stadt | character varying(50) | | |
adresse | character varying(255) | | |
Indexes:
„kundenliste_pkey“ PRIMARY KEY, btree (id)
postgreSQL=#
postgreSQL=# \d+ kundenliste
Table „public.kundenliste“
Column | Type | Collation | Nullable | Default | Storage | Compression | Stats target | Description
———+————————+———–+———-+———+———-+————-+————–+————-
id | integer | | not null | | plain | | |
name | character varying(50) | | not null | | extended | | |
stadt | character varying(50) | | | | extended | | |
adresse | character varying(255) | | | | extended | | |
Indexes:
„kundenliste_pkey“ PRIMARY KEY, btree (id)
Not-null constraints:
„kundenliste_id_not_null“ NOT NULL „id“
„kundenliste_name_not_null“ NOT NULL „name“
Access method: heap
postgreSQL=#

List all schemas – \dn

postgreSQL=# \dn
List of schemas
Name | Owner
——–+——————-
public | pg_database_owner
(1 row)
postgreSQL=#

List users and their roles – \du

postgreSQL=# \du
List of roles
Role name | Attributes
———–+————————————————————
admin | Superuser, Create role, Create DB, Replication, Bypass RLS
postgreSQL=#
postgreSQL=# \du postgres
List of roles
Role name | Attributes
———–+————
postgreSQL=#

List all functions – \df

postgreSQL=# \df
List of functions
Schema | Name | Result data type | Argument data types | Type
——–+——+——————+———————+——
(0 rows)
postgreSQL=#

Save query results to a file – \o <file-name>

Proxmox Virtual Environment (VE) 9.1.5 – how to built a 5 Node Proxmox & Ceph Mini Rack with 17TB NVMe

Freitag, Februar 20th, 2026

Proxmox Virtual Environment (VE) 9.1.5 – Virtual Machines vs LXC vs Docker what’s the real difference

Mittwoch, Februar 18th, 2026

Oracle Database Express Edition (XE) 21c – Installation Guide for Docker Containers with Linux x86_64 from ‚https://container-registry.oracle.com‘

Mittwoch, Februar 11th, 2026

Oracle Database Express Edition (XE) 21c – Installation Guide for Docker Containers with Linux x86_64 from ‚https://hub.docker.com/‘

Montag, Februar 9th, 2026
root@pve-oraDB-01:~# docker run -d –name oracle-xe -p 1521:1521 -e ORACLE_PASSWORD=“<password>“ gvenzl/oracle-xe:21-slim
Unable to find image ‚gvenzl/oracle-xe:21-slim‘ locally
21-slim: Pulling from gvenzl/oracle-xe
f7b0b443446e: Pull complete
073f36588906: Pull complete
4f8ebc90375b: Pull complete
3820d7bb3a88: Pull complete
d3746687fc59: Pull complete
bea495abb2fa: Pull complete
Digest: sha256:ecdf4302ac3d134e1bac5ef6e0c223c2d0f4d4d2b6d551aa79b2346f1ab8f792
Status: Downloaded newer image for gvenzl/oracle-xe:21-slim
66096a703aa1f68b4ece371d47ae66f2e59b4faac9b13e9c40e1c17116d44382
root@pve-oraDB-01:~#
root@pve-oraDB-01:~# docker logs -f oracle-xe
CONTAINER: starting up…
CONTAINER: first database startup, initializing…
CONTAINER: uncompressing database data files, please wait…
CONTAINER: done uncompressing database data files, duration: 12 seconds.
CONTAINER: starting up Oracle Database…
LSNRCTL for Linux: Version 21.0.0.0.0 – Production on 09-FEB-2026 16:32:26
Copyright (c) 1991, 2021, Oracle. All rights reserved.
Starting /opt/oracle/product/21c/dbhomeXE/bin/tnslsnr: please wait…
TNSLSNR for Linux: Version 21.0.0.0.0 – Production
System parameter file is /opt/oracle/homes/OraDBHome21cXE/network/admin/listener.ora
Log messages written to /opt/oracle/diag/tnslsnr/66096a703aa1/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
STATUS of the LISTENER
————————
Alias LISTENER
Version TNSLSNR for Linux: Version 21.0.0.0.0 – Production
Start Date 09-FEB-2026 16:32:27
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Default Service XE
Listener Parameter File /opt/oracle/homes/OraDBHome21cXE/network/admin/listener.ora
Listener Log File /opt/oracle/diag/tnslsnr/66096a703aa1/listener/alert/log.xml
Listening Endpoints Summary…
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))
The listener supports no services
The command completed successfully
ORACLE instance started.
Total System Global Area 1610612120 bytes
Fixed Size 9686424 bytes
Variable Size 637534208 bytes
Database Buffers 956301312 bytes
Redo Buffers 7090176 bytes
Database mounted.
Database opened.
CONTAINER: Resetting SYS and SYSTEM passwords.
User altered.
#########################
DATABASE IS READY TO USE!
#########################
################################################
NOTICE: YOU ARE USING AN OLD IMAGE VERSION!
PLEASE CONSIDER UPGRADING TO gvenzl/oracle-free!
################################################
##################################################################
CONTAINER: The following output is now from the alert_XE.log file:
##################################################################
2026-02-09T16:32:40.673697+00:00
Resize operation completed for file# 201, fname /opt/oracle/oradata/XE/temp01.dbf, old size 2048K, new size 12288K
2026-02-09T16:32:40.959467+00:00
XEPDB1(3):Started service freepdb1/freepdb1/freepdb1
XEPDB1(3):Opening pdb with Resource Manager plan: DEFAULT_PLAN
Pluggable database XEPDB1 opened read write
Starting background process CJQ0
2026-02-09T16:32:41.829883+00:00
CJQ0 started with pid=59, OS id=226
Completed: ALTER DATABASE OPEN
2026-02-09T16:33:44.117281+00:00
TABLE SYS.WRP$_REPORTS: ADDED INTERVAL PARTITION SYS_P348 (5884) VALUES LESS THAN (TO_DATE(‚ 2026-02-10 01:00:00‘, ‚SYYYY-MM-DD HH24:MI:SS‘, ‚NLS_CALENDAR=GREGORIAN‘))
TABLE SYS.WRP$_REPORTS_DETAILS: ADDED INTERVAL PARTITION SYS_P349 (5884) VALUES LESS THAN (TO_DATE(‚ 2026-02-10 01:00:00‘, ‚SYYYY-MM-DD HH24:MI:SS‘, ‚NLS_CALENDAR=GREGORIAN‘))
TABLE SYS.WRP$_REPORTS_TIME_BANDS: ADDED INTERVAL PARTITION SYS_P352 (5883) VALUES LESS THAN (TO_DATE(‚ 2026-02-09 01:00:00‘, ‚SYYYY-MM-DD HH24:MI:SS‘, ‚NLS_CALENDAR=GREGORIAN‘))
2026-02-09T16:37:42.937472+00:00
Thread 1 advanced to log sequence 20 (LGWR switch), current SCN: 2977113
Current log# 1 seq# 20 mem# 0: /opt/oracle/oradata/XE/redo01.log
2026-02-09T16:37:49.373157+00:00
XEPDB1(3):TABLE SYS.WRI$_OPTSTAT_HISTHEAD_HISTORY: ADDED INTERVAL PARTITION SYS_P360 (46061) VALUES LESS THAN (TO_DATE(‚ 2026-02-10 00:00:00‘, ‚SYYYY-MM-DD HH24:MI:SS‘, ‚NLS_CALENDAR=GREGORIAN‘))
XEPDB1(3):TABLE SYS.WRI$_OPTSTAT_HISTGRM_HISTORY: ADDED INTERVAL PARTITION SYS_P363 (46061) VALUES LESS THAN (TO_DATE(‚ 2026-02-10 00:00:00‘, ‚SYYYY-MM-DD HH24:MI:SS‘, ‚NLS_CALENDAR=GREGORIAN‘))
2026-02-09T16:37:53.282430+00:00
Thread 1 advanced to log sequence 21 (LGWR switch), current SCN: 2980174
Current log# 2 seq# 21 mem# 0: /opt/oracle/oradata/XE/redo02.log
root@pve-oraDB-01:~#
root@pve-oraDB-01:~# docker exec -it oracle-xe sqlplus / as sysdba
SQL*Plus: Release 21.0.0.0.0 – Production on Mon Feb 9 19:06:42 2026
Version 21.3.0.0.0
Copyright (c) 1982, 2021, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 1610612120 bytes
Fixed Size 9686424 bytes
Variable Size 637534208 bytes
Database Buffers 956301312 bytes
Redo Buffers 7090176 bytes
Database mounted.
Database opened.
SQL>
SQL> shutdown
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL> exit
Disconnected from Oracle Database 21c Express Edition Release 21.0.0.0.0 – Production
Version 21.3.0.0.0

root@pve-oraDB-01:~#

Raspberry Pi Laptop – great execution but terrible timing

Freitag, Februar 6th, 2026

Thomas-Krenn.AG – Proxmox VE Konzepte Installation und Basiskonfiguration 2026 #1

Donnerstag, Februar 5th, 2026

Linux service ‚rsyslog‘ – how to use rsyslog to create a Linux log aggregation server

Samstag, Januar 31st, 2026

Ollama and AI model LLaMA3.1:8b – how to create an AI powered Linux log analysis tool

Freitag, Januar 30th, 2026

Troubleshooting Linux systems often involves digging through thousands of log lines to identify system issues in logs like syslog dmesg auth.log & etc. as a Linux system administrator you know that log analysis can be time consuming and error-prone. What if you could use AI to analyze those logs entirely offline without uploading sensitive data or relying on the cloud

Build a powerful AI log analysis tool that transforms cryptic log entries into human-readable insights using Ollama and LLaMA3.1:8b AI model

LLaMA3.1:8b is Meta’s latest open source stable and powerful large language model (LLM) released in 2024. It has become a powerhouse for technical tasksespecially when deployed locally including Log analysis Code completion Infrastructure troubleshooting

DietPi 10.0 – features overview

Mittwoch, Januar 28th, 2026

DietPi 10.0 – Release Notes