Wie erstelle ich eine Liste aller Anwendungen, die manuell installiert wurden?

10

Ich verwende Fedora und möchte alle Paketnamen in einer Liste haben, aber nur die, die ich selbst installiert habe, nicht die Standardnamen.

78c32b76b8368b2
quelle
Schauen Sie sich die yum.logDatei an, sie sollte einen Verlauf der installierten Pakete enthalten. Ich glaube jedoch, dass dies auch alle Abhängigkeiten umfasst. Ich glaube, es befindet sich in /var/log/yum.log.
Mr. Shickadance
Nur zu Ihrer Information, ich habe eine Funktionsanforderung für DNF hinzugefügt, um diesen Anwendungsfall abzudecken. DNF verfolgt diese Informationen tatsächlich, verfügt jedoch meines Wissens nicht über eine Benutzeroberfläche zum Anzeigen. bugzilla.redhat.com/show_bug.cgi?id=1278124
mattdm

Antworten:

6

Das ist schwierig, da es in Bezug auf RPM keinen großen Unterschied zwischen Paketen gibt, die anaconda im Rahmen der Installation installiert hat, und solchen, die Sie seitdem installiert haben. Wenn Sie die Paketauswahl während der Installation angepasst haben, können Sie nicht wissen, welche Anpassungen angewendet werden müssen, wenn Sie nur wissen, was danach installiert wurde.

Sie können verwenden, yum historyum auf den Verlauf zuzugreifen und zu sehen, wann Pakete installiert wurden. Dies schließt jedoch alle Aktualisierungen der zur Installationszeit installierten Pakete ein.

Eine andere Technik wäre, sofort nach der Installation eine Liste zu erstellen:

rpm --queryformat="%{NAME}.%{ARCH}\n" -qa | sort > base.list

später können Sie dann eine neue Liste erstellen:

rpm --queryformat="%{NAME}.%{ARCH}\n" -qa | sort > new.list

Verwenden Sie dann comm, um die Unterschiede zu finden:

comm -13 base.list new.list

Aber es ist eine Menge Ärger und ich bin mir nicht sicher, ob es einen guten Punkt gibt, wenn Sie nur aufzeichnen möchten, was für Sicherungszwecke installiert ist.

Wenn Sie dies möchten, erstellen Sie einfach eine Liste mit dem obigen Befehl. Anschließend können Sie versuchen, diese Pakete auf einem neu installierten Computer zu installieren mit:

yum install `cat package.list`

und es ignoriert einfach alles, was bereits installiert ist.

TomH
quelle
Das funktioniert wie ein Zauber!
Sergiofbsilva