Jak odinstalować wszystkie oprócz domyślnych pakietów Ubuntu?

14

Mam Dell Mini 9 z dyskiem SSD 8 GB. Zainstalowałem Lucid kilka lat temu i za każdym razem aktualizowałem, a teraz mój dysk twardy jest prawie pełny. Widzę, że nowe domyślne programy są instalowane, ale stare nie są automatycznie usuwane (np. Banshee i Rhythmbox). Teraz mogę zainstalować nową dystrybucję od zera, ale jeśli istnieje sposób na uniknięcie kłopotów, byłoby świetnie. Nie mam nic przeciwko, jeśli programy, które instalowałem przez lata, zostały usunięte, to tylko kilka i mogę je ponownie zainstalować w mgnieniu oka.

qwazix
źródło
Myślę, że to może pomóc: askubuntu.com/questions/33907/cleaning-disc-space
desgua
3
Moim najlepszym rozwiązaniem byłoby usunięcie wszystkich zainstalowanych pakietów, a następnie zainstalowanie ubuntu-desktopmetapakietu. Jest to komentarz, ponieważ nie wiem, jak określić wszystkie pakiety, ale jeśli możesz je usunąć i zainstalować ubuntu-desktop, wylądujesz z domyślną instalacją bieżącej wersji Ubuntu.
Oxwivi

Odpowiedzi:

12

Rozwiązanie na to pytanie prawdopodobnie rozwiąże problemu zbyt.

Ubuntu przed 12.04

Od gnome-terminaldo:

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

Spowoduje to usunięcie wersji pakietów i pozostanie z posortowaną listą default.txt zawierającą wszystkie pakiety, które są domyślnie instalowane. Jak wspomniano w łączonym pytaniu, pamiętaj, że możesz zmienić domyślną instalację podczas instalowania aktualizacji i / lub ograniczonych pakietów podczas instalacji Ubuntu.

Ubuntu 12.04

Powyższy krok nieco się zmienił. Aby uzyskać listę pakietów, które są początkowo instalowane, musisz rozpakować dwa pliki:

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

Aby uzyskać to, czego chcesz, musisz usunąć to drugie z pierwszego:

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

Teraz kontynuuj jak przed 12.04:

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

Otrzymasz posortowaną listę current.txt wszystkich aktualnie zainstalowanych pakietów.

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

To dostarczy ci różnic między dwiema listami pakietów, gdzie install.txt zawiera wszystkie pakiety nieobjęte instalacją domyślną, a uninstalled.txt zawiera wszystkie brakujące pakiety w porównaniu do instalacji domyślnej.

htorque
źródło
Dzięki, ale myślę, że stworzyłem zupę zależną, pójdę z instalacją od zera. Twoja metoda wydaje się jednak działać.
qwazix,
2
Dziękuję za odpowiedź, pomogło mi to! Informacje dla przyszłych użytkowników: plikystem.manifest-desktop można znaleźć na płycie CD z systemem Ubuntu w folderze casper /. Poza tym to działało idealnie, dzięki jeszcze raz!
Tovi7
1

Jeśli nalegasz na ręczne usunięcie tych pakietów, możesz uruchomić Centrum oprogramowania Ubuntu lub nawet dobrą, ale nieco bardziej ryzykowną Synaptic, przejrzyj sekcję „zainstalowane” i zacznij usuwać to, co uważasz za niepotrzebne. Może to obejmować wszystkie stare programy, ale nawet programy, które są w bieżącej instalacji, ale nigdy nie będziesz ich używać.

Założę się, że będzie to nieparzysta 10 lub więcej, które chcesz usunąć, a może to zająć 15 minut,

Rinzwind
źródło
2
To nie pomoże w znalezieniu i wybraniu domyślnego zestawu pakietów.
Oxwivi