Установим пакет, специально предназначенный для удаления ненужных пакетов:
# apt-get install debfoster
Удаляем пакеты, которые по нашему мнению не нужны. Предлагаются к выбору только те пакеты, от которых не зависят другие:
# debfoster
Создадим скрипт с именем no_repo.sh, который выведет список установленных пакетов, отсутствующих в текущих репозиториях:
#!/bin/sh dpkg -l | awk '/^ii/ { print $2; }' \ | while read pkg; do apt-cache policy $pkg \ | awk -v pkg=$pkg 'BEGIN { local = 0; repo = 0; } /^[ ]+[0-9]+ .*status$/ { local = 1; } /^[ ]+[0-9]+ / && !/status$/ { repo = 1; } END { if ((local == 1) && (repo == 0)) print pkg; }' done
Дадим скрипту право быть запущенным:
$ chmod +x not_repo.sh
Составляем список пакетов, отсутствующих в текущих репозиториях:
$ ./not_repo.sh > not_repo
Редактируем полученный список, удаляя из него пакеты, которые нам нужны или которые были установлены вручную. Затем удаляем оставшиеся:
# apt-get purge `cat not_repo`
Составляем список удалённых пакетов, от которых остались какие-либо файлы:
$ dpkg -l | awk '$1 !~ /^ii/ { print $2; }' > removed
Редактируем полученный список, удаляя из него пакеты, файлы конфигурации и файлы данных которых нужно оставить нетронутыми. Далее удаляем оставшиеся:
# apt-get purge `cat removed`
Теперь осталось удалить пакеты, установленные автоматически и больше не нужные:
# apt-get autoremove
Результат - удалось высвободить почти гигабайт места: