8.18. Liste der zuletzt installierten Pakete anzeigen

Als Verantwortlicher für Ihr Linuxsystem möchten Sie ab und an wissen, was zuletzt auf dem System passiert ist. Dazu zählt insbesondere das Auswerten der Logdateien und beinhaltet die Änderungen der Paketliste – was wurde installiert, gelöscht bzw. aktualisiert etc. Sowohl dpkg, als auch apt lassen Sie die Aktionen nachverfolgen.

8.18.1. Statusdaten von dpkg

dpkg erfasst alle Änderungen im Paketbestand in der Logdatei /var/log/dpkg.log. Ältere dpkg-Logdateien werden vom Programm logrotate nach dem Rotationsprinzip archiviert und irgendwann auch komprimiert. Die zweit- und drittjüngsten Logdateien finden Sie beispielsweise in den beiden Dateien /var/log/dpkg.log.1 und /var/log/dpkg.log.2.gz wieder. Nachfolgender Auszug zeigt die Suche in der aktuellen Logdatei von dpkg mittels grep anhand des Schlüsselwortes „install“.

Recherche in den Logdateien von dpkg mittels grep

$ grep " install " /var/log/dpkg.log
2014-08-06 15:12:19 install texlive-games:all <keine> 2012.20120611-2
2014-08-06 15:59:34 install qxw:i386 <keine> 20110923-1
2014-08-08 10:46:42 install games-thumbnails:all <keine> 20120227
2014-08-08 10:46:43 install goplay:i386 <keine> 0.5-1.1
2014-08-08 19:42:14 install ocrad:i386 <keine> 0.22~rc1-2
$

Reicht Ihnen dieses Ergebnis noch nicht aus, suchen Sie zusätzlich noch in allen wegrotierten Logdateien. Zur Anwendung kommt hier das Kommando zcat aus dem Paket gzip, welches ein essentielles Paket darstellt. Dies ist auf einer Standard-Installation der Fall. Es gibt jedoch auch noch eine alternative Implementation im Paket zutils [Debian-Paket-zutils].

Untenstehende Ausgabe wurde zusätzlich mittels sort aufsteigend nach Datum sortiert, d.h. die untersten Einträge enthalten die jüngsten Änderungen im Paketbestand. Mit dem UNIX-Kommando tail beschränken Sie die Ausgabe des Rechercheergebnisses auf lediglich zehn Einträge.

Recherche in den Logdateien von dpkg mittels zcat

$ zcat -f /var/log/dpkg.log* | grep " install " | sort | tail
2014-07-23 20:18:35 install libparse-debianchangelog-perl:all <keine> 1.2.0-1
2014-07-23 20:18:36 install libxml-simple-perl:all <keine> 2.20-1
2014-07-23 20:18:36 install patchutils:i386 <keine> 0.3.2-1.1
2014-07-23 20:18:37 install lintian:all <keine> 2.5.10.4
2014-07-26 16:03:02 install libapt-pkg-doc:all <keine> 0.9.7.9+deb7u2
2014-08-06 15:12:19 install texlive-games:all <keine> 2012.20120611-2
2014-08-06 15:59:34 install qxw:i386 <keine> 20110923-1
2014-08-08 10:46:42 install games-thumbnails:all <keine> 20120227
2014-08-08 10:46:43 install goplay:i386 <keine> 0.5-1.1
2014-08-08 19:42:14 install ocrad:i386 <keine> 0.22~rc1-2
$

Die hier verwendete Option -f benötigen Sie, damit zcat auch nicht-komprimierte Dateien – in diesem Fall /var/log/dpkg.log – ausgibt.[27]

Alternativ können Sie auch zgrep verwenden, das spart ein klein wenig Tipparbeit. Damit die Sortierung gelingt, muss dort allerdings die Ausgabe von vorangestellten Dateinamen mit der Option -h unterdrückt werden:

Recherche in den Logdateien von dpkg mittels zgrep

$ zgrep -h " install " /var/log/dpkg.log* | sort | tail -7
2014-07-23 20:18:37 install lintian:all <keine> 2.5.10.4
2014-07-26 16:03:02 install libapt-pkg-doc:all <keine> 0.9.7.9+deb7u2
2014-08-06 15:12:19 install texlive-games:all <keine> 2012.20120611-2
2014-08-06 15:59:34 install qxw:i386 <keine> 20110923-1
2014-08-08 10:46:42 install games-thumbnails:all <keine> 20120227
2014-08-08 10:46:43 install goplay:i386 <keine> 0.5-1.1
2014-08-08 19:42:14 install ocrad:i386 <keine> 0.22~rc1-2
$

8.18.2. Statusdaten von apt

apt erfasst alle Änderungen im Paketbestand in der Logdatei /var/log/apt/history.log. Neben dem vollständigen Aufruf sind alle Pakete berücksichtigt, die in einer anderen Version eingespielt wurden. Nachfolgender Auszug zeigt die Installation des Paketes apt-rdepends am 20. Juli 2016:

Installation des Paketes apt-rdepends

Start-Date: 2016-07-20  16:00:48
Commandline: apt-get install apt-rdepends
Install: apt-rdepends:amd64 (1.3.0-3)
End-Date: 2016-07-20  16:00:49

Nehmen Sie eine Aktualisierung der Software vor, resultiert das bspw. in folgendem Eintrag:

Aktualisierung des Paketes wireshark samt dessen Abhängigkeiten. 

Start-Date: 2016-07-08  15:41:42
Upgrade: wireshark-common:amd64 (1.12.1+g01b65bf-4+deb8u6, 1.12.1+g01b65bf-4+deb8u7), wireshark-qt:amd64 (1.12.1+g01b65bf-4+deb8u6, 1.12.1+g01b65bf-4+deb8u7), wireshark:amd64 (1.12.1+g01b65bf-4+deb8u6, 1.12.1+g01b65bf-4+deb8u7)
End-Date: 2016-07-08  15:41:48

Analog zu dpkg werden ältere Logdateien vom Programm logrotate nach dem Rotationsprinzip archiviert und von Zeit zu Zeit komprimiert. Die zweit- und drittjüngsten Logdateien finden Sie beispielsweise in den beiden Dateien /var/log/apt/history.log.1.gz und /var/log/apt/history.log.2.gz wieder.



[27] Ist die alternative zcat-Implementation aus dem Paket zutils installiert, ist die Option -f nicht mehr erforderlich.