Manchmal möchten Sie wissen, wann ein Paket auf Ihrem Betriebssystem installiert wurde, vielleicht zu Überwachungszwecken, meistens, wenn Sie ein Linux-Systemadministrator sind.
In diesem Blogbeitrag zeige ich Ihnen, wie Sie installierte Pakete auf Linux-Distributionen – Ubuntu, Debian, CentOS und Arch Linux – nach Datum auflisten.
Auf Ubuntu/Debian installierte Pakete nach Datum auflisten
Wenn Sie Ubuntu, Debian oder ein anderes Debian-Derivat wie Kubuntu, Xubuntu usw. ausführen, werden ähnliche Befehle verwendet. Um installierte Pakete nach Datum sortiert aufzulisten, führen Sie Folgendes aus:
$ grep -i "install" /var/log/dpkg.log
Beachten Sie, dass der obige Befehl nur funktioniert, wenn das installierte Paket in der Datei protokolliert wurde /var/log/dpkg.log. Da das Linux-System standardmäßig über eine Art Protokollrotation verfügt, funktioniert dies nicht für rotierte Protokolle, die komprimiert wurden. Um das gesamte Installationsdatum für Pakete abzurufen, einschließlich derer, deren Protokolle rotiert wurden, verwenden Sie den Befehl:
$ zcat /var/log/dpkg.log.* | grep -i "installed"
Beispielausgabe ist:
.....
2017-05-23 07:49:41 status installed libxaw7:amd64 2:1.0.13-1
2017-05-23 07:49:41 status installed libxcb-shape0:amd64 1.11.1-1ubuntu1
2017-05-23 07:49:41 status installed x11proto-xext-dev:all 7.3.0-1
2017-05-23 07:49:41 status installed libxext-dev:amd64 2:1.3.3-1
2017-05-23 07:49:41 status installed x11proto-render-dev:all 2:0.11.1-2
2017-05-23 07:49:41 status installed libxrender-dev:amd64 1:0.9.9-0ubuntu1
2017-05-23 07:49:41 status installed libxft-dev:amd64 2.3.2-1
2017-05-23 07:49:41 status installed libxrandr2:amd64 2:1.5.0-1
2017-05-23 07:49:41 status installed x11proto-scrnsaver-dev:all 1.2.2-1
zcat Der Befehl liest komprimierte Dateien, dann leiten wir die Ausgabe zum Filtern an grep weiter.
Wenn Sie nach einem bestimmten Paket suchen möchten, dessen Namen Sie teilweise kennen, können Sie die Ausgabe erneut an den Befehl grep weiterleiten. Sehen example darunter sucht nach dem Installationsdatum der apt-spiegel Paket.
# zcat /var/log/dpkg.log.* | grep -i "installed" | grep apt-mirror
2017-06-26 09:47:52 status installed apt-mirror:all 0.5.1-1ubuntu1
Eine Alternative zu zcat ist der Befehl zgrep, der ähnlich wie zcat funktioniert. Stellen Sie es sich einfach als grep-Befehl für komprimierte Dateien vor:
# zgrep "installed" /var/log/dpkg.log*
# zgrep "installed" /var/log/dpkg.log* | grep apt-mirror
/var/log/dpkg.log.7.gz:2017-06-26 09:47:52 status installed apt-mirror:all 0.5.1-1ubuntu1
Der Vorteil von zgrep besteht darin, dass es Ihnen die Protokolldatei anzeigt, aus der diese Daten geholt wurden. Wie Sie oben sehen können, wurden Daten aus der Datei gezogen /var/log/dpkg.log.7.gz.
Installierte Pakete nach Datum in CentOS auflisten
Für RPM-basierte Systeme wie Hat, CentOS, Scientific Linux, Fedora, SUSE, rpm Befehl wird verwendet, um installierte Pakete nach Datum aufzulisten. Die genauen auszuführenden Befehle sind:
# rpm -qa --last
Diese Befehle listen Pakete nach Installationszeit auf, das neueste zuerst. Die Ausgabe dieses Befehls sieht so aus:
libxml2-2.9.1-6.el7_2.3.x86_64 Sat 09 Dec 2017 10:15:00 AM EAT
findutils-4.5.11-5.el7.x86_64 Sat 09 Dec 2017 10:15:00 AM EAT
libgpg-error-1.12-3.el7.x86_64 Sat 09 Dec 2017 10:14:59 AM EAT
libffi-3.0.13-18.el7.x86_64 Sat 09 Dec 2017 10:14:59 AM EAT
libcap-ng-0.7.5-4.el7.x86_64 Sat 09 Dec 2017 10:14:59 AM EAT
libattr-2.4.46-12.el7.x86_64 Sat 09 Dec 2017 10:14:59 AM EAT
libacl-2.2.51-12.el7.x86_64 Sat 09 Dec 2017 10:14:59 AM EAT
dbus-libs-1.6.12-17.el7.x86_64 Sat 09 Dec 2017 10:14:59 AM EAT
sed-4.2.2-5.el7.x86_64 Sat 09 Dec 2017 10:14:58 AM EAT
Um das Installationsdatum für ein bestimmtes Paket zu suchen, fügen Sie den Paketnamen am Ende des obigen Befehls an.
# rpm -qa --last postfix3
postfix3-3.2.0-1.gf.el7.x86_64 Thu 25 May 2017 01:04:35 AM EAT
Von dem example. das postfix3-Paket wurde am Do 25. Mai 2017 01:04:35 EAT installiert.
Installierte Pakete nach Datum auf Arch . auflisten
Für Arch Linux und seine Derivate wie Antergos, Manjaro, Apricity, Ninja OS usw. wird das alpm-Datenbank-Datenextraktionsprogramm namens expac verwendet. Das Aufrufen von expac besteht darin, eine Formatzeichenfolge bereitzustellen. Eine weitere Formatierung der Ausgabe kann mit unterstützten Befehlsoptionen und Parametern erfolgen.
$ expac --timefmt="%F %T" '%l %n'
Um die Ausgabe nach dem numerischen Wert der Zeichenfolge zu vergleichen, leiten Sie die Ausgabe an sortieren -n Befehl.
$ expac --timefmt="%F %T" '%l %n' | sort -n
Die neueste befindet sich unten. Sie können die Ausgabe weiterleiten, um die neuesten Installationen zu erhalten.
$ expac --timefmt="%F %T" '%l %n' | sort -n | tail -n 7
2018-01-15 14:41:15 webkitgtk
2018-01-16 09:18:26 babl
2018-01-16 09:18:26 gegl02
2018-01-16 09:18:26 lcms
2018-01-16 09:18:26 libspiro
2018-01-16 09:18:26 libwmf
2018-01-16 09:18:27 gimp
Dies example listet 7 kürzlich installierte Pakete auf.
Einpacken
Bis zu diesem Punkt haben wir alle Schritte behandelt, die erforderlich sind, um das Datum der Paketinstallation auf CentOS, Ubuntu, Debian und Arch Linux zu überprüfen. Für jedes Betriebssystem mit demselben übergeordneten Derivat sollten die Befehle gleich sein. Da einige Distributionen mehr als einen Befehl haben, der dieselbe Aufgabe erfüllt, bleiben Sie einfach bei dem, den Sie bevorzugen.
Lesen Sie auch:
- Topgrade – Befehlszeilentool zum Aktualisieren aller Pakete unter Linux
- So finden Sie Pakete, die eine bestimmte Datei auf Ubuntu besitzen
- So aktualisieren Sie einzelne Pakete in Ubuntu/CentOS
- So zeigen Sie die installierte Paketgröße unter Ubuntu/Debian an