Как удалить все пакеты Ubuntu, кроме стандартных?

14

У меня Dell Mini 9 с 8 ГБ SSD. Я установил Lucid несколько лет назад и каждый раз обновлялся, и теперь мой жесткий диск почти заполнен. Я вижу, что устанавливаются новые программы по умолчанию, но старые не удаляются автоматически (например, Banshee и Rhythmbox). Теперь я могу установить новый дистрибутив с нуля, но если есть способ избежать хлопот, это было бы здорово. Я не против, если программы, которые я установил за эти годы, будут удалены, их всего несколько, и я могу переустановить их в одно мгновение.

qwazix
источник
Я думаю, что это может помочь: askubuntu.com/questions/33907/cleaning-disc-space
desgua
3
Лучше всего будет как-то очистить все установленные пакеты, а затем установить ubuntu-desktopметапакет. Причина в том, что это комментарий, потому что я не знаю, как указать все пакеты, но если вы сможете удалить их и установить, ubuntu-desktopвы попадете с установкой по умолчанию вашей текущей версии Ubuntu.
Oxwivi

Ответы:

12

Решение этого вопроса , вероятно , решить вашу проблему тоже.

Ubuntu до 12.04

Из gnome-terminalдо:

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

Это избавит от версий пакетов и предоставит вам отсортированный список default.txt, содержащий все пакеты, установленные по умолчанию. Как упоминалось в связанном вопросе, имейте в виду, что вы можете изменить установку по умолчанию при установке обновлений и / или пакетов с ограниченным доступом во время установки Ubuntu.

Ubuntu 12.04

Вышеуказанный шаг немного изменился. Чтобы получить список изначально установленных пакетов, вам нужно распаковать два файла:

  1. filesystem.manifest
  2. filesystem.manifest-удалить

Чтобы получить то, что вы хотите, вам нужно удалить последнее из первого:

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

Теперь продолжайте как до 12.04:

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

Это даст вам отсортированный список current.txt всех установленных на данный момент пакетов.

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

Таким образом вы получите различия между двумя списками пакетов, где instal.txt содержит все пакеты, не являющиеся частью установки по умолчанию, а uninstalled.txt содержит все отсутствующие пакеты по сравнению с установкой по умолчанию.

htorque
источник
Спасибо, но я думаю, что я создал суп зависимости, я пойду с установкой с нуля. Ваш метод, кажется, работает, хотя.
qwazix
2
Спасибо за ваш ответ, это помогло мне куча! К сведению будущих пользователей: filesystem.manifest-desktop можно найти на компакт-диске Ubuntu в папке casper /. Кроме того, это работало отлично, еще раз спасибо!
Тови7
1

Если вы настаиваете на удалении этих пакетов вручную, вы можете запустить Ubuntu Software Center или даже старый, но более рискованный Synaptic, перейдите в раздел «Установлено» и начните удалять все, что, по вашему мнению, вам не нужно. Это может включать в себя все старые программы, но даже программы, которые находятся в вашей текущей установке, но вы никогда не будете использовать.

Бьюсь об заклад, это будет нечетное 10 или около того вы хотите удалить, и это может занять у вас 15 минут,

Rinzwind
источник
2
Это не поможет найти и выбрать пакет по умолчанию.
Oxwivi