Ерунда, конечно. Но, пусть будет. За годы работы серваков под Debian на них накопилось какое-то количество пакетов уже завершивших свой жизненный цикл. Как их найти? Ниже тупая и неэффективная команда, которая распечатает список кандидатов на удаление. С каждым потом надо, конечно, повозиться.
for i in `echo "q w e r t y u i o p a s d f g h j k l z x c v b n m"`; do \ echo I=$i; aptitude versions --group-by=none $i |grep '^i' |fgrep -v 'testing' |fgrep 100 |fgrep -v 'i A '; \ done
Итого, команда ищет:
- Только установленные
- Не из “тестовой” ветки
- Имеющие “мусорный” вес в системе
- Не автоматические
Дано. Debian wheezy, недавно переведённый на ветку jessie. Посмотрим… Для примера возьмём
i kweather 4:4.4.5-1 100
Теперь смотрим, а нужен ли этот пакет. Если нет, сносим.
~# aptitude versions kweather Пакет kweather: i 4:4.4.5-1 100 ~# aptitude why kweather Не удалось найти причину для установки kweather. ~# apt-get remove kweather Чтение списков пакетов… Готово Построение дерева зависимостей Чтение информации о состоянии… Готово Пакеты, которые будут УДАЛЕНЫ: kweather ...
Ерунда, казалось бы. А уже набралось больше 500 метров освобождённого пространства. Да и зависимостям пакетов полегчало.
Главное, не удалить чего-то нужного. Пакеты ведь бывают и не из debian репозитория. Тот же dovecot попадает в этот список, но, он нужен. Мне нужен.
i dovecot-common 2:2.2.5-0~auto+41 100