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.
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 $
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.