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

  • Fährnisse des Buildprozesses unter Windows

    17.07.2019

    Nachdem ich begonnen hatte, mich mit der Beschleunigung der Berechnung des Mandelbrot-Fraktals unter Zuhilfenahme der Shadereinheiten in Graphikkarten zu beschäftigen und erste Erfolge feiern konnte, wollte ich das mal auf einer richtigen Graphikkarte ausprobieren...

    Weiterlesen...

Neueste Artikel

  • Datenvalidierung UTF8 mit BiDi-Steuerzeichen (TrojanSource 2.0)

    Ich bin heute nochmal inspiriert worden, weiter über die Trojan Source Vulnerability nachzudenken. Meiner Meinung nach bestehen hier noch Probleme - speziell bei Nutzereingaben oder Daten, die über externe Schnittstellen ampfangen werden.

    Weiterlesen...
  • OpenStreetMap Navi als Docker-Container

    Ich habe die auf OpenStreetMap basierende OpenSource Navigationslösung Graphhopper in einen Docker-Container gepackt und als neuestes Mitglied in meinem Docker-Zoo willkommen geheißen.

    Weiterlesen...
  • SQL-Aggregatfunktionen in SQLite als BeanShell-Scripts

    Ich habe neulich über eine Möglichkeit berichtet, SQLite mittels der sQLshell und Beanshell-Skripten um SQL-Funktionen zu erweitern. In diesem Artikel versprach ich auch, über eine solche Möglichkeit für Aggregatfunktionen zu berichten.

    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.