Wie deinstalliere ich alle Ubuntu-Pakete außer den Standardpaketen?

14

Ich habe einen Dell Mini 9 mit einer 8 GB SSD. Ich habe Lucid vor einigen Jahren installiert und jedes Mal aktualisiert, und jetzt ist meine Festplatte fast voll. Ich sehe, dass neue Standardprogramme installiert werden, aber alte nicht automatisch entfernt werden (zB Banshee und Rhythmbox). Jetzt kann ich eine neue Distribution von Grund auf installieren, aber wenn es eine Möglichkeit gibt, den Ärger zu vermeiden, wäre es großartig. Es macht mir nichts aus, wenn die Programme, die ich im Laufe der Jahre installiert habe, entfernt werden, es sind nur einige, und ich kann sie im Handumdrehen neu installieren.

qwazix
quelle
Ich denke, das kann helfen: askubuntu.com/questions/33907/cleaning-disc-space
desgua
3
Am besten ubuntu-desktoplösche ich alle installierten Pakete und installiere dann das Metapaket. Der Grund, warum dies ein Kommentar ist, ist, dass ich nicht weiß, wie alle Pakete angegeben werden sollen, aber wenn Sie sie löschen und installieren können, werden ubuntu-desktopSie mit der Standardinstallation Ihrer aktuellen Ubuntu-Version landen.
Oxwivi

Antworten:

12

Die Lösung dieser Frage wird wahrscheinlich auch Ihr Problem lösen.

Ubuntu vor dem 12.04

Von einem gnome-terminaldo:

cat filesystem.manifest-desktop | awk '{print $1}' | sort > default.txt

Dadurch werden die Paketversionen entfernt und Sie erhalten eine sortierte Liste default.txt mit allen Paketen, die standardmäßig installiert sind. Bedenken Sie, wie in der verknüpften Frage erwähnt, dass Sie möglicherweise die Standardinstallation geändert haben, wenn Sie während der Installation von Ubuntu Updates und / oder eingeschränkte Pakete installieren.

Ubuntu 12.04

Der obige Schritt hat sich etwas geändert. Um eine Liste der ursprünglich installierten Pakete zu erhalten, müssen Sie zwei Dateien entpacken:

  1. filesystem.manifest
  2. filesystem.manifest-remove

Um das zu bekommen, was Sie wollen, müssen Sie das letztere aus dem ersteren entfernen:

comm -3 <(cat filesystem.manifest | awk '{print $1}' | sort) <(cat filesystem.manifest-remove | sort) > default.txt

Nun weiter wie vor 12.04:

dpkg --get-selections | awk '{print $1}' | sort > current.txt

Dadurch erhalten Sie eine sortierte Liste current.txt aller derzeit installierten Pakete.

diff -u default.txt current.txt | grep "^+[^+]" | cut -c 2- > installed.txt
diff -u default.txt current.txt | grep "^-[^-]" | cut -c 2- > uninstalled.txt

Auf diese Weise erhalten Sie die Unterschiede zwischen den beiden Paketlisten, in denen die Datei „ installed.txt“ alle Pakete enthält, die nicht Teil der Standardinstallation sind, und die Datei „ uninstalled.txt“ alle Pakete enthält, die Sie im Vergleich zu einer Standardinstallation vermissen.

Drehmoment
quelle
Danke aber ich denke ich habe eine Abhängigkeitssuppe erstellt, ich werde mit der Installation von vorne anfangen. Ihre Methode scheint jedoch zu funktionieren.
Qwazix
2
Vielen Dank für Ihre Antwort, das hat mir sehr geholfen! Hinweis für zukünftige Benutzer: filesystem.manifest-desktop befindet sich auf der Ubuntu-CD unter dem Ordner casper /. Davon abgesehen hat dies perfekt funktioniert, nochmals vielen Dank!
Tovi7
1

Wenn Sie darauf bestehen, diese Pakete manuell zu entfernen, können Sie Ubuntu Software Center oder sogar ein gutes altes, aber etwas riskanteres Synaptic starten. Durchsuchen Sie den Abschnitt "Installiert" und entfernen Sie alles, was Sie für nicht erforderlich halten. Dies kann alle alten Programme einschließen, aber auch Programme, die sich in Ihrer aktuellen Installation befinden, die Sie jedoch niemals verwenden werden.

Ich wette, es werden ungerade 10 sein, die Sie entfernen möchten, und das könnte 15 Minuten dauern.

Rinzwind
quelle
2
Das hilft nicht beim Finden und Auswählen der Standard-Paketreihe.
Oxwivi