Dynamische MOTD mit Debian

Hallo,
in Debian ist es ja nun schon eine Weile mögliche die motd dynamisch zu updaten (mittels Scripten in /etc/update-motd.d/).
Unter anderem sollen meien Scripte auch überprüfen, ob Updates vorliegen. Aktuell prüfe ich dies auf einem meiner Meinung nach sehr aufwendigem und ineffizientem Weg. Vielleicht hat da jemand von euch eine bessere (und vor allem schnellere) Möglichkeit:

Code:
echo "
`apt-get upgrade -s | grep "upgraded," | awk {'print $1'}` packages can be updated.
`unattended-upgrade --dry-run -d | grep "fetch.run() result: " | awk {'print $3'}` packages are security updates. "
 
Wenn du keine Unterscheidung zwischen Security-Updates und "normalen" Updates brauchst, ist das bestimmt schneller:

Code:
apt list --upgradable |wc -l
 
Danke für deine Antwort bitmuncher. Das ist wohl in der Tat etwas schneller ;)

Könnte man nicht einfach nach "security" greppen und dann einen Linecount machen, um die Security Updates zu bekommen?

Code:
apt list --upgradable | grep security | wc -l
 
Das wird nicht funktionieren, weil du ggf. eine Warnung ala 'apt does not have a stable CLI ...' bekommst. Du musst daher den STDOUT noch weg filtern und nur den STDIN verwenden. Sonst hast du immer mindestens eine Zeile, die von wc gezählt wird. Dürfte aber trotzdem noch schneller sein. Also was in der Art wie

Code:
apt list --upgradable 2> /dev/null | grep security | wc -l

Schlägt aber auch im fehl, wenn du ein oldstable verwendest, weil die Pakete dann nicht aus dem security-Repo kommen, sondern aus oldstable. Da aber die Einteilung nach Security-Updates und "normalen" Updates eh nie wirklich korrekt ist, weil manche Maintainer auch Security-Updates in ihre Releases packen, halte ich diese Unterteilung für unnötig.

Btw: Vergiss nicht, dass du einen Service laufen haben musst, der regelmässig das 'apt-get update' macht, also irgendwas wie den update-notifier.
 
Hallo bitmuncher,
wenn wir ehrlich sind, langt mir auch die Info, dass es überhaupt Updates gibt ;)
Also genügt folgender Ansatz:

Code:
apt list --upgradable 2> /dev/null | wc -l

Spricht irgendwas dagegen das apt-get update selbst zu basteln, indem man einfach eine neue Datei in /etc/cron.d erstellt?

Code:
0 */2 * * * root apt-get update > /dev/null 2>&1
 
Zuletzt bearbeitet:
Zurück
Oben