MOTD in Linux

vorhergehende Artikel in: Linux
16.07.2022

Vieles von dem, was Canonical tut, finde ich einigermaßen fragwürdig - eine Sache allerdings haben sie sich einfallen lassen, die unterstütze ich vollumfänglich:

Die Message Of The Day (MOTD), die unter Ubuntu beim Textlogin einige interessante Fakten zum System anzeigt. Bei mir sieht das exemplarisch zum Beispiel so aus:

Welcome to Ubuntu 20.04.4 LTS (GNU/Linux 5.13.0-44-generic x86_64)

System information as of Di 31. Mai 17:27:06 CEST 2022

System load: 0.88 Usage of /home: 25.8% of 389.87GB Memory usage: 46% Swap usage: 4% Temperature: 53.0 C Processes: 339 Users logged in: 1 IPv4 address for br-7836edc2c6a9: 172.18.0.1 IPv4 address for br0: 192.168.10.70 IPv6 address for br0: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx IPv6 address for br0: xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx IPv4 address for docker0: 172.17.0.1 IPv4 address for lxcbr0: 10.0.3.1 IPv4 address for virbr0: 192.168.122.1

0 updates can be applied immediately.

*** System restart required ***

Damit hat man wichtige Informationen im Blick, wenn man sich auf der Konsole einloggt. Lustigerweise musste ich dieses Feature erst wieder reaktivieren - ich trug dazu folgende Zeile am Ende der Datei ~/.bashrc ein:

run-parts /etc/update-motd.d/

im Verzeichnis /etc/update-motd.d/ liegen verschiedene Skripte, die entsprechend ihrer lexikalischen Reihenfolge ausgeführt werden und jeweils mittels echo einen Teil der Gesamtausgabe beisteuern. Man kann dort eigene Scripts hinzufügen (bei einem Server etwa eines, das den Status des RAID angibt) - möchte man Skripte deaktivieren, die dort vorhanden sind, muss man sie nicht löschen - es genügt, die Ausführungsberechtigung mittels chmod -x zu entfernen. Entsprechend lassen sich deaktivierte Skripts mittels chmod +x wieder reaktivieren.

Ein einfaches Skript für das Checken des RAID-Status könnte etwa wie folgt aussehen (mit einem Check, da nur root-User diese Informationen einsehen dürfen):

#!/bin/bash
if [ "$EUID" -eq 0 ]
then
echo
mdadm -D /dev/md1 |grep -E -w "State :|Working|Failed"|sed 's/^[[:space:]]*//g'|
echo
echo
fi

Für Rechner, die nicht mit Ubuntu laufen, auf denen aber trotzdem irgendeine Art von Debian als Betriebssystem installiert ist habe ich mich für das Hinzufügen von neofetch und ein kleines Script entschieden, das checkt, ob Packages zum Upgrade anstehen:

# whatever the .bashrc already contains...
neofetch
UPGRADABLEPACKAGES=$(apt-get -q -y --ignore-hold --allow-change-held-packages --allow-unauthenticated -s dist-upgrade | /bin/grep  ^Inst | wc -l)
if [ "$UPGRADABLEPACKAGES" -ne 0 ]
then
echo
echo "Upgradable packages: ${UPGRADABLEPACKAGES}"
echo
fi

Falls in einem solchen Fall Informationen darüber benötigt werden, ob das System gebootet werden muss, kann man das für Debian-basierte Systeme herausfinden, indem man testet, ob eine Datei namens /var/run/reboot-required vorhanden ist.

Eine Sache am Rande: Wer - wie ich - ein großer Fan des Films Sneakers - die Lautlosen ist, könnte eventuell in einer schwachen Minute versucht sein, die vorgestellten Werkzeuge mit no-more-secrets zu verknüpfen. Das ist weder un ter Ubuntu noch mit neofetch direkt möglich, da nms Inhalte per Pipe angereicht haben möchte - die Ausgaben der beiden Werkzeuge direkt nach nms zu pipen sorgt aber lediglich für Salat - möchte man trotz alledem eine standesgemäße Shell-Eröffnung feiern, sollte man die Ausgaben in eine Datei umlenken und diese anschließend mittels cat in eine Pipe lenken, aus der nms liest... Bei neofetch sollte man noch beachten, dass der Kommandozeilenparameter --stdout benutzt werden sollte, der ANSI-Escape-Sequenzen unterdrückt, die nms nicht unterstützt.

Alle Artikel rss Wochenübersicht Monatsübersicht Codeberg Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Multi-User-WebDAV, Docker, GitHub

    17.11.2019

    Nachdem ich mich in letzter Zeit verstärkt mit Docker und dem zugehörigen Ökosystem beschäftige, habe ich begonnen, verschiedenste Dienste in Containern zu testen um zu sehen, ob in manchen Fällen LXC oder KVM nicht doch die bessere Wahl wäre...

    Weiterlesen...

Neueste Artikel

  • Migration der Webseite und aller OpenSource Projekte

    In eigener Sache...

    Weiterlesen...
  • AutoHideToolbar für Java Swing

    Ich habe eine neue Java Swing Komponente erstellt: Es handelt sich um einen Wrapper für von JToolBar abgeleitete Klassen, die die Werkzeugleiste minimieren und sie nur dann einblenden, wenn der Mauszeiger über ihnen schwebt.

    Weiterlesen...
  • Integration von EBMap4D in die sQLshell

    Ich habe bereits in einem früheren Artikel über meine ersten Erfolge berichtet, der sQLshell auf Basis des bestehenden Codes aus dem Projekt EBMap4D eine bessere Integration für Geo-Daten zu spendieren und entsprechende Abfragen, bzw. deren Ergebnisse auf einer Kartenansicht zu visualisieren.

    Weiterlesen...

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen Codeberg-Repositories findet man hier.