MOTD-Begrüßung für Linux mit Systeminformationen

Wenn man sich auf Linux anmeldet, dann wird man in der Regel mit einigen Informationen begrüßt, der sogenannten Message of today (MOTD). Diese liegt z.B. bei Ubuntu oder Arch im Verzeichnis /etc/update-motd.d in Form von einzelnen ausführbaren Dateien, die bestimmte Informationen lilefern. Die Dateien werden in der Reihenfolge ihrer Numerierung ausgeführt bzw. angezeigt.

Damit ich für mein System etwas prägnantere und aussagekräftigere Informationen nach dem Login bekomme, habe ich mir folgedne datei 00-system-info gebaut, die mir meinen Rechner so anzeigt, hier am Beispiel menes Raspberry Pi:

Message of Today

Das Script ist dieses:

#!/bin/bash
#
#    00-header - create the header of the MOTD
#    Copyright (C)  Martin Doering <devel@datenbrei.de>
# # # License: Public Domain (do what you want with it) # diskusage=$(df -H -x squashfs -x tmpfs -x devtmpfs --total|grep total) printf "%`tput cols`s"|tr ' ' '#' echo " Hostname: $(cat /etc/hostname)" echo " Distro: $(lsb_release -s -d)" echo echo " CPU: $(cat /proc/cpuinfo | grep 'model name' | head -1 | cut -d':' -f2)" echo " Disk: $(echo $diskusage | awk '{ a = $2 } END { print a }'|sed 's/G/ G/'|sed 's/T/ T/')" echo " Memory: $(free -m | head -n 2 | tail -n 1 | awk {'print $2'}) M" echo " Swap: $(free -m | tail -n 1 | awk {'print $2'}) M" echo if which ip >/dev/null then echo " IP V4 Networks" ip -o -4 -br a|grep -v '^lo'|sed 's/^/ /'|sed 's/\/..//' echo echo " IP V6 Networks" ip -o -6 -br a|grep -v '^lo'|sed 's/^/ /'|sed 's/\/..//' fi printf "%`tput cols`s"|tr ' ' '#'

Das Script wurde auf Ubuntu und Raspian getestet. Auf Systemen, die nicht das Kommando ip haben, muss der untere Netzwerkteil angepasst werden, sonst wird nichts angezeigt.