// Datei: ./werkzeuge/paketoperationen/liste-der-zuletzt-installierten-pakete-anzeigen.adoc

// Baustelle: Fertig

[[liste-der-zuletzt-installierten-pakete-anzeigen]]

=== Liste der zuletzt installierten Pakete anzeigen ===

// Stichworte für den Index
(((Paket installieren, zuletzt installierte Pakete anzeigen)))
(((Paket installieren, Auswerten der Logdateien)))
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.

==== Statusdaten von `dpkg` ====

// Stichworte für den Index
(((Logdatei, /var/log/dpkg.log)))
(((logrotate)))
`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
$
----

// Stichworte für den Index
(((Debianpaket, gzip)))
(((Debianpaket, zutils)))
(((zcat, -f)))

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.footnote:[Ist die alternative `zcat`-Implementation aus dem
Paket 'zutils' installiert, ist die Option `-f` nicht mehr
erforderlich.]

// Stichworte für den Index
(((zgrep, -h)))

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

==== Statusdaten von `apt` ====

// Stichworte für den Index
(((Debianpaket, apt-rdepends)))
(((Logdatei, /var/log/apt/history.log)))
(((logrotate)))
`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
----

// Stichworte für den Index
(((Debianpaket, wireshark)))
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.

// Datei (Ende): ./werkzeuge/paketoperationen/liste-der-zuletzt-installierten-pakete-anzeigen.adoc
