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 Github Repositories Gitlab Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Brian May, Kerry Ellis & Vittorio Grigolo: Bohemian Rhapsody

    19.05.2019

    Eine andere Sicht auf den schönen Queen-Klassiker

    Weiterlesen...

Neueste Artikel

  • sQLshell, SQLite und Redis - oh my!

    Ich habe in letzter Zeit hin und wieder mit der sQLshell und SQLite herumgespielt - Neulich wurde ich gefragt, ob die sQLshell eigentlich auch Redis kann...

    Weiterlesen...
  • bad-certificates Version 3.0.0

    Das bereits vorgestellte Projekt zur automatisierten Erzeugung von Zertifikaten mit allen möglichen Fehlern wurde um eine weitere Kategorie von Zertifikaten erweitert

    Weiterlesen...
  • Erste Vor-Version eines Gis-Plugin für die sQLshell

    Wie bereits in einem früheren Artikel erwähnt plane ich, demnächst ein Plugin für die sQLshell anzubieten, das eine Visualisierung von Daten mit räumlichem Bezug im Stil eines Geoinformationssystems erlaubt.

    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, muß 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 GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.