Ich denke immer wieder darüber nach, was ich als Nächstes bloggen könnte. Ich habe auch immer wieder Themen an der Hand, bei denen ich etwas Neues lerne und über die man durchaus etwas schreiben könnte. Aber dann erwische ich mich dabei, wie ich meine eigene Arbeit anzweifle. „Das haben andere bestimmt eleganter gelöst.“ Verschwinde Perfektionismus! Ich habe jetzt entschieden dass Gefühl zu ignorieren und einfach meine persönlichen Errungenschaften zu Veröffentlichen!

Viele Shells begrüßen einen heutzutage, wenn man sich interaktiv anmeldet. Bei Ubuntu geschieht das sogar ausführlicher, inkl. der aktuell genutzten Systemressourcen und der anstehenden Updates.

Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 5.15.0-168-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

 System information as of Wed Feb 11 10:15:58 PM CET 2026

  System load:           0.37
  Usage of /:            41.8% of 737.11GB
  Memory usage:          77%
  Swap usage:            0%
  Processes:             285
  Users logged in:       1
  IPv4 address for eth0: 198.51.100.23
  IPv6 address for eth0: 2001:db8:2b:359:89c:e5ff:feac:c9c5

 * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s
   just raised the bar for easy, resilient and secure K8s cluster deployment.

   https://ubuntu.com/engage/secure-kubernetes-at-the-edge

Expanded Security Maintenance for Applications is enabled.

4 updates can be applied immediately.
1 of these updates is a standard security update.
To see these additional updates run: apt list --upgradable


You have no mail.
Last login: Wed Feb 11 14:48:51 2026 from 203.0.113.99
root@myMachine:~# 

Übrigens, die IPs habe ich mir aus RFC 5737 und RFC 3849 genommen, da gibt es fest definierte IP Bereiche für Dokumentationen.

Für ein aktuelles Projekt hatte ich mich aber für Rocky Linux mit fish entschieden. Das minimalistische fish_greeting habe ich deaktiviert und mit Abfragen zu laufenden Docker Containern, Festplattennutzung, letztes Backup und letzte automatische Paketaktualisierung direkt etwas übertrieben. Aber wenn man erstmal etwas Neues zum Spielen gefunden hat, artet es manchmal eben aus. Die aktuell geblockten IPs von fail2ban könnte ich eigentlich auch noch mit ausgeben lassen.

Last login: Tue Feb 10 21:27:47 2026 from 203.0.113.99

Hostname : myOtherMachine
OS       : Rocky Linux 10.1 (Red Quartz)
IPv4     : 198.51.100.42 (example.com)
IPv6     : 2001:db8:4f7a:9c21:7a3d:ff:fe91:b6c4

Runtime  : Docker enabled
Container:
  seadoc          : Up 25 hours
  seafile         : Up 25 hours (healthy)
  seafile-caddy   : Up 25 hours (healthy)
  seafile-mysql   : Up 25 hours (healthy)
  seafile-redis   : Up 25 hours

Data directory size :
  /opt/seafile      : 423M
  /backup/seafile   : 996M

Last Backup     : 2026-02-11 02:31:24
Last DNF action : 2026-02-10 21:02:00
MOTD created at : 2026-02-11 22:39:24

usr@myOtherMachine ~> 

Ich nutze für meine Lösung ein Bash Script (ja, da hätte ich auch fish schreibe können, aber solange schwimme ich noch nicht in den neuen Gewässern) und eine systemd Unit mit Timer. Das Script führt die vielen Befehle aus um alle Objekte abzufragen. Am Ende wird das Ergebnis in eine Datei geschrieben. Der systemd Timer läuft minütlich mit einem zufälligen Versatz von 20 Sekunden. Er startet die systemd Unit, die wiederum das Bash Script ausführt. Alle Ergebnisse der Ausführung landen im Journal. Das Script legt, wie gesagt, eine Datei mit dem Ergebnis an. In meiner fish config lasse ich dann einfach die angelegte Datei beim Starten einer interaktiven Session anzeigen.

Dadurch, dass die Generierung der Datei losgelöst vom Start der interaktiven Session ist, verzögert sich der Prozess nicht. Die Ausführung des eigentlichen Scripts dauert nämlich schon 1.3 Sekunden.

Am Ende war es gar nicht so schwer über den eigenen Schatten zu springen und die Seite zu veröffentlichen. Sollte ich häufiger machen.