Як видалити всі пакети Ubuntu, крім стандартних?


14

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


Я думаю, що це може допомогти: 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. файлова система.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

Це дозволить отримати розбіжність між двома списками пакетів, де install.txt містить усі пакети, які не є частиною встановлення за замовчуванням, а uninstalled.txt містить усі пакунки, які вам відсутні, порівняно з установкою за замовчуванням.


Дякую, але я думаю, що я створив суп для залежності, я піду з установкою з нуля. Здається, ваш метод працює.
qwazix

2
Дякую за вашу відповідь, це допомогло мені купу! FYI для майбутніх користувачів: filesystem.manifest-desktop можна знайти на компакт-диску Ubuntu під casper / папкою. Крім того, що це спрацювало чудово, ще раз дякую!
Tovi7

1

Якщо ви наполягаєте на видаленні цих пакетів вручну, ви можете запустити програмний центр Ubuntu або навіть старий добрий, але трохи ризикованіший Synaptic, перегляньте розділ «встановлений» і почніть видаляти все, що, на вашу думку, не потрібно. Це може включати всі старі програми, але навіть програми, які є у вашій поточній установці, але ви ніколи не будете користуватися.

Гадаю, що це буде 10 чи більше, що ви хочете зняти, і це може зайняти 15 хвилин,


2
Це не допоможе у пошуку та виборі типової лінійки пакетів.
Oxwivi
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.