Ein bekanntes Szenario: Eine neue Sicherheitslücke (CVE) geht durch die News und es stellt sich die Frage: „Wurde das Update eigentlich schon eingespielt?“ Oder man möchte nach einer Woche mit einigen Upgrades genauer wissen, wie sich ein Debian-System verändert hat.
Das Changelog als Übersicht
Bei Debian werden Sicherheitspatches oft in die bestehende Version „zurückportiert“ (Backporting). Das bedeutet, die Versionsnummer ändert sich nur minimal (z. B. von +deb12u1 auf +deb12u2). Um sicherzugehen, ob ein spezifischer Fix enthalten ist, sucht man im Changelog nach der CVE-Nummer.
Der schnelle Blick ins lokale Archiv
Jedes installierte Paket speichert seine Historie unter /usr/share/doc/. Wenn man wissen will, ob ein Paket wie packagekit bereits gefixt ist:
zgrep "CVE-" /usr/share/doc/packagekit/changelog.Debian.gz
Wenn der Befehl zu einem Ergebnis führt, ist der Fix dokumentiert.
Allerdings werden Sicherheitspatches auch erstellt, bevor eine CVE-Nummer vergeben wurde (mit der CVE-Nummer ist die Sicherheitslücke veröffentlicht), daher lohnt es sich die letzten Changelog-Einträge zu prüfen.
Der proaktive Weg: apt-listchanges
Warum erst hinterher suchen, wenn die Informationen direkt beim Update vorhanden sind? Das Tool apt-listchanges hilft dabei. Es extrahiert die Changelogs während des Downloads und zeigt sie an, bevor die Installation startet.
Installation & Einrichtung
sudo apt update && sudo apt install apt-listchanges
Nach der Installation fragt das System, wie man die Informationen sehen möchte.
- Pager (Standard): Zeigt die Änderungen in
lessan. Man mussqauswählen, um das Upgrade fortzusetzen. - Confirm: Man kann das Tool so einstellen, dass es explizit fragt: „Wollen Sie nach dem Lesen dieser Änderungen wirklich fortfahren?“
Das ist besonders nützlich, um zu verhindern, dass ein automatisches Update kritische Konfigurationen überschreibt oder Funktionen entfernt, die man noch braucht.
Rückblick: Was wurde in den letzten 7 Tagen geändert?
Manchmal verliert man den Überblick, bei täglichen Updates. Mit einem kleinen Einzeiler kann man das System scannen und alle Changelog-Einträge der letzten Woche (oder des letzten Tages) finden.
Dieser Befehl durchsucht alle installierten Dokumentationen nach Dateien, die in den letzten 7 Tagen aktualisiert wurden, und gibt die neuesten Einträge formatiert aus:
find /usr/share/doc/ -name "changelog.Debian.gz" -newermt "7 days ago" \
-exec sh -c 'echo -e "\n\033[1;32m--- Paket: {} ---\033[0m"; zcat {} | head -n 15' \;
Was passiert hier technisch?
find: Sucht im Standard-Dokumentationspfad.-newermt "7 days ago": Filtert alle Dateien heraus, deren Änderungsdatum maximal eine Woche zurückliegt. ("today", wenn man nur den heutigen Tag sehen will!)zcat | head -n 15: Da die Changelogs platzsparend komprimiert sind (.gz), entpacktzcatsie im Speicher, undheadzeigt nur die aktuellsten (obersten) 15 Zeilen.
Tipp
Wenn man eine Sicherheitslücke sucht, kann man im Changelog auf das Stichwort DSA (Debian Security Advisory) achten. Das ist das Qualitätssiegel für einen offiziellen Sicherheitsfix.
