Frage Ist es möglich, eine Liste der zuletzt installierten Pakete zu erhalten?


Ist es möglich, eine Liste der Pakete zu erhalten, die zuletzt über apt-get installiert wurden?


141
2017-12-11 22:41


Ursprung


serverfault.com/questions/175504/ ... - Ciro Santilli 新疆改造中心 六四事件 法轮功
Nun, wenn mir nur jemand sagen würde, wie ich das auflisten soll manuell installiert Pakete, die Ich habe es nicht schon entfernt. Seufz, Linux. - Aleksandr Dubinsky
@ AleksandrDubinsky apt-mark showmanual | less macht es nicht? - GKFX
@GKFX meinte ich im Zusammenhang mit kürzlich installierten Paketen. - Aleksandr Dubinsky
@AleksandrDubinsky Sie müssten verwenden comm -12 a b mit a eine sortierte Kopie von apt-mark showmanual und b eine sortierte Liste von einer der Antworten unten. - GKFX


Antworten:


Befehl zum Auflisten kürzlich installierter Pakete, die mit einer beliebigen Methode installiert wurden (apt-get, Software Center ua):

grep " install " /var/log/dpkg.log

Beispielausgabe:

2010-12-08 15:48:14 install python-testtools <none> 0.9.2-1
2010-12-08 15:48:16 install quickly-widgets <none> 10.09
2010-12-08 22:21:31 install libobasis3.3-sdk <none> 3.3.0-17
2010-12-09 12:00:24 install mc <none> 3:4.7.0.6-1
2010-12-09 23:32:06 install oggconvert <none> 0.3.3-1ubuntu1
2010-12-09 23:34:50 install mpg123 <none> 1.12.1-3ubuntu1
2010-12-09 23:34:52 install dir2ogg <none> 0.11.8-1
2010-12-09 23:34:53 install faad <none> 2.7-4
2010-12-09 23:34:54 install wavpack <none> 4.60.1-1
2010-12-10 11:53:00 install playonlinux <none> 3.8.6

Sie können diesen Befehl ausführen, um nur die zuletzt installierten Paketnamen aufzulisten.

awk '$3~/^install$/ {print $4;}' /var/log/dpkg.log

Befehl zum Auflisten der Historie von apt-get (ANMERKUNG: Dies listet keine Abhängigkeiten auf, es listet nur vorherige auf apt-get Befehle, die ausgeführt wurden):

grep " install " /var/log/apt/history.log

Beispielausgabe:

Commandline: apt-get install libindicate-doc
Commandline: apt-get install googlecl
Commandline: apt-get --reinstall install ttf-mscorefonts-installer
Commandline: apt-get install valac libvala-0.10-dev
Commandline: apt-get install libgtksourceview-dev
Commandline: apt-get install python-sphinx
Commandline: apt-get install python-epydoc
Commandline: apt-get install quickly-widgets
Commandline: apt-get install libreoffice3* libobasis3.3*
Commandline: apt-get install mc

154
2017-12-11 22:45



Das Problem mit Synaptic ist, dass es nicht zeigt, was Sie mit aptitude, apt-get und dpkg tun, aus diesem Grund +1 für diese Option - hhlp
Dieser Befehl zeigt keine Updates an. Verwenden Sie das Softwarecenter, um alles zu sehen. - HDave
Es könnte besser sein, eine solche Textdatei zu speichern cat /var/log/apt/history.log | grep "\ install\ " > install.log - CrandellWS
grep " install " /var/log/dpkg.log wird genügen. Es gibt keine Notwendigkeit zu verwenden cat. Siehe auch Dies. - augurar
Beachten Sie, dass dies nur Pakete zu finden scheint, die neu installiert wurden. Pakete, für die eine neue Version installiert wurde, erscheinen als upgrade im dpkg.log - Andre Holzner


Das Ubuntu Software Center zeigt den gesamten Verlauf aller Pakete, die installiert / aktualisiert / entfernt wurden. Klicken Sie einfach auf "Verlauf" am Ende der Liste auf der linken Seite.


13
2017-12-12 13:09



Diese Verlaufsschaltfläche befindet sich jetzt oben auf der Benutzeroberfläche und kann installierte Pakete und Updates anzeigen. Dies sollte die akzeptierte Antwort auf die Frage sein, da es die einzige Antwort ist, die für Updates funktioniert. - HDave
Diese Frage gibt keine Desktop (GUI) Umgebung an, aber die angenommene Antwort ist sowohl in GUI- als auch Nicht-GUI-Szenarien gültig. - msanford
@ HDade Definitiv nicht wahr, dpkg.log protokolliert Aktualisierungen. - GKFX


Um auch ältere Pakete nach Installationszeit sortiert zu sehen:

grep " install " /var/log/dpkg.log.1 /var/log/dpkg.log

Und für Pakete, die vor sehr langer Zeit installiert wurden:

gunzip -c `ls -tr /var/log/dpkg.log.*.gz` | grep " install "

9
2018-06-05 07:29



Ich habe ein Paket gefunden, das vor 2 Tagen installiert wurde /var/log/dpkg.logaber nicht in /var/log/apt/history.log. Ich weiß immer noch nicht warum ... - Samuel Li


Alles auf einer Linie; zur Verwendung des Befehls

Wählen und drucken Sie nur die kürzlich installierten Paketnamen, alle in einer Zeile.

Ändern Sie dazu die am häufigsten gewählte Antwort wie folgt:

cat /var/log/dpkg.log |awk '/ install / {printf "%s ",$4}'

Dies führt zu einer einzelnen Zeile von Paketnamen. Solch eine Zeile kann leicht zu a hinzugefügt werden sudo apt-get purge Befehl.

Beispielausgabe

libgnome-media-profiles-3.0-0 gstreamer0.10-gconf gnome-media gnome-menus librest-0.7-0 libgoa-1.0-common libgoa-1.0-0 libwacom-common libwacom2 ubuntu-docs apg libgnome-control-center1 libgnomekbd-common libgnomekbd7 gnome-control-center-data gnome-icon-theme-symbolic gnome-settings-daemon ubuntu-system-service gnome-control-center gnome-online-accounts gnome-session-bin indicator-power mousetweaks

Auflistung der Pakete untereinander

Auf vielfachen Wunsch gibt es hier eine leicht angepasste Version, um die Pakete untereinander aufzulisten:

cat /var/log/dpkg.log |awk '/ install / {printf "%s\n",$4}'

5
2018-05-26 01:43



Parsen Sie nicht die Ausgabe von cat Befehl. Und wie wäre es damit awk '$3~/^install$/ {print $4;}' /var/log/dpkg.log? - Avinash Raj
@AvinashRaj Deine awk Befehl druckt die Pakete eins unten Ein weiterer; meine eins Nächster Ein weiterer. Aus diesem Grund könnte ein Ausgabebeispiel von Zeit zu Zeit nützlich sein. - Serge Stroobandt


Es gibt ein Paket namens wajig Überprüfen Sie es für die Befehlszeile, es ist das erste, was ich jetzt installieren. Wie aptitude, außer dass es so funktioniert, als würden Sie erwarten, dass ein Befehls-Dispatcher funktioniert. Also wirklich, es ist nicht wie Eignung. Befehle unten sind nur eine kleine Teilmenge.

wajig help
Common JIG commands:

 update         Update the list of downloadable packages

 new            List packages that became available since last update
 newupgrades    List packages newly available for upgrading

 install        Install (or upgrade) one or more packages or .deb files
 remove         Remove one or more packages (see also purge)

 toupgrade      List packages with newer versions available for upgrading
 upgrade        Upgrade all of the installed packages or just those listed

 listfiles      List the files that are supplied by the named package
 listnames      List all known packages or those containing supplied string
 whatis         For each package named obtain a one line description
 whichpkg       Find the package that supplies the given command or file

Run 'wajig -v commands' for a complete list of commands.

2
2017-12-12 02:04



Ich bin mir nicht sicher wie wajig hilft bei der Auflistung der neuesten Pakete. Ich sehe keinen Befehl dafür nach einem flüchtigen Blick durch die Befehle. Weißt du, was der Befehl ist? - Ehtesh Choudhury


Der folgende Trick beantwortet die Anfrage von Aleksandr Dubinsky, diese auf manuell installierte Pakete zu beschränken:

comm -12 <(apt-mark showmanual | sort) <(grep " install " /var/log/dpkg.log | cut -d " " -sf4 | grep -o "^[^:]*" | sort)
  • comm -12 listet Zeilen auf, die zwei sortierten Dateien gemeinsam sind.
  • <(command) expandiert zum Namen einer Datei mit der Ausgabe von command.
  • apt-mark showmanual listet manuell installierte Pakete auf; dh. diejenigen, die nie automatisch entfernt werden sollten.
  • grep " install " /var/log/dpkg.log wird aus der angenommenen Antwort genommen.

Eine Alternative, die mehr Informationen in chronologischer Reihenfolge anzeigt und auf alle verfügbaren Protokolle zugreift, ist:

zcat -f /var/log/dpkg.log* | grep " install " | sort > /tmp/dpkg.log
grep -F "`comm -12 <(apt-mark showmanual | sort) <(cat /tmp/dpkg.log | cut -d " " -sf4 | grep -o "^[^:]*" | sort)`" /tmp/dpkg.log | grep \<none\>

grep \<none\> begrenzt die Ergebnisse auf neue Installationen. Sie könnten beispielsweise grep verwenden, um die Suche auf einen Zeitraum von drei Monaten zu beschränken, indem Sie hinzufügen grep 2016-0[567] zur ersten Pipeline; es ist sehr flexibel.


2
2017-07-16 12:56



Das kommt näher. Dinge, die verbessert werden könnten: 1) zeigen die Pakete in chronologischer Reihenfolge, 2) zeigen mehr Details wie Installationsdatum / -zeiten, die Version, vielleicht sogar die Größe 3) zeigen alle Pakete, die seit der Installation des Betriebssystems installiert wurden. - Aleksandr Dubinsky
Tolle! Macht es Ihnen etwas aus, wenn ich Ihre Antwort aufbessere, mit mehr Erklärungen zu jedem Befehl? - Aleksandr Dubinsky
@AleksandrDubinsky Danke für diesen Schnitt; Ich habe die Beschreibung so korrigiert, dass sie mit den Änderungen übereinstimmt, die Sie vorgenommen haben. - GKFX
Stört es dich, wenn ich den "folgenden Trick Antworten Aleksandr Dubinsky's Anfrage" Lärm, der erste Befehl, der nicht sinnvoll ist, entfernen Sie eine gute Überschrift, legen Sie den Hauptbefehl oben, fügen Sie Beispielausgabe und versuchen, alle Befehle zu beschreiben beteiligt? - Aleksandr Dubinsky
Es gibt einen Fehler im letzten Befehl, weil grep -F finde Teiltreffer. Zum Beispiel, wenn python3 installiert ist, wird es auch alle python3-Bibliotheken (python3-click-package) einschließlich solcher, die nicht mehr installiert sind. Außerdem, grep -Fw hilft nicht weil - ist eine Wortgrenze. - Aleksandr Dubinsky


Zusätzlich zur Antwort von DoR gibt es für Benutzer, die eine GUI bevorzugen, in Synaptic den Menüpunkt Datei -> Verlauf.


1
2017-12-12 00:51



Und wie Rafalcieslak weist darauf hin, dass diese Funktion auch im Software Center verfügbar ist. - belacqua
Die synaptische Geschichte zeigt nur, was Sie über Synaptic installiert haben ... völlig nutzlos. - HDave


Hier ist eine Shell, die dpkg installierte Dateien auflistet. (die alle installierten apt / aptitude / software center / synaptic Pakete beinhalten sollte)

grep -A 1 "Package: " /var/lib/dpkg/status | \
grep -B 1 -Ee "ok installed|half-installed|unpacked|half-configured|config-files" -Ee "^Essential:yes" | \
grep "Package:" | cut -d\  -f2

Dies beinhaltet keine Informationen zur Installationszeit / -datum. Es kann jedoch nützlich sein, um Unterschiede in Paketen festzustellen, die von der Installation bis zur Installation installiert wurden.


1
2018-02-13 19:22