Ich habe einen Linux-Server mit CentOS7 zum Testen und Installieren einiger Tools verwendet. Und jetzt weiß ich nicht mehr, wie viele Pakete ich installiert habe.
Ich möchte alle diese Pakete entfernen, damit mein Server wie neu ist. Ich möchte nicht nach jedem Paket suchen und eines nach dem anderen entfernen. Gibt es eine Möglichkeit, sie mit nur einem Befehl zu entfernen?
linux
package-management
command
Der Eine
quelle
quelle
/var/log/yum.log
Dies kann hilfreich sein, da sowohl der Paketname als auch ein Zeitstempel aufgeführt werden. Soweit ich sehen kann, werden keine Pakete aufgelistet, die bei der Erstinstallation hinzugefügt wurden.sudo yum remove $(gawk '$0 ~ /Installed/ {printf "%s ", $NF}' /var/log/yum.log)
Antworten:
Listen Sie alle Dateien in umgekehrter Reihenfolge ihres Installationsdatums in einer Datei auf:
Sie werden Linien wie bekommen
Wählen Sie das für Sie geltende Stichtagsdatum und löschen Sie alle darauf folgenden Zeilen. Geben Sie die verbleibenden Zeilen zum Entfernen an yum, nachdem Sie den Datumsteil entfernt haben. Z.B
quelle
Sie können es auch mit versuchen. In der
yum history
Regel erhalten Sie eine nummerierte Liste der installierten Komponenten, z.und Sie können
yum history undo 3
zum Beispiel danach verwenden.Mehr Details zur Geschichte von yum hier .
quelle
Um alle Verlaufstransaktionen zurückzusetzen, können Sie den folgenden O-Liner verwenden:
Seien Sie vorsichtig, wenn Sie diesen Befehl ausführen, da dadurch alle installierten Pakete entfernt werden! Wenn Sie eine Bestätigung wünschen, können Sie das Flag -y entfernen.
quelle