Ви задали тут кілька різних запитань, я сподіваюся, що я можу принаймні допомогти одному чи двом.
Щоб перелічити всі встановлені пакети, використовуйте dpkg для виведення у список, розділений полями
dpkg -l
Щоб просто отримати список пакунків без зайвих полів, ви зможете передати його в інше місце.
dpkg -l | awk '{print $2 }' # Pipe to grep after the awk, or glob from dpkg
Наприклад, якщо я хочу видалити старе ядро,
apt-get purge `dpkg -l linux* | awk '{print $2}' | grep 3.0.0-12`
Найпростіший спосіб пережити всі непотрібні залежності - це с debfoster. Він працює в інтерактивному режимі і проходить все, що ви хочете, їх залежності і може видалити або перерахувати те, що не є рекурсивною залежністю.
Щоб перелічити всі рекурсивні залежності конкретного пакету,
debfoster -d $PACKAGE ## PACKAGE is the specific package.
Після виконання debfosterви можете перевірити будь-які утриманці, які має також пакет,
debfoster -e $PACKAGE ## PACKAGE is the specific package.
Справді чудовий спосіб перерахувати «осиротілі» пакунки, це за допомогою deborphan . Запустіть deborphanбез опцій, і він перелічить усі "осиротілі" пакети. "Сирітка" - це пакет, від якого нічого не залежить, і ви явно не встановлені.
Я також люблю прибирати будь-які «осиротілі» пакети, після того, як свіжа установка. Після того, як я вилучив конкретні пакети, ви можете отримати все, що пропустили apt-get autoremove --purge,
apt-get purge `deborphan`
Зрештою, іноді ви цього не зробите --purge, і новіші версії пакету apt-getможуть автоматично їх видалити. Щоб видалити всі залишки 'із запущених видалених пакетів,
apt-get autoclean
Якщо у вас немає нової версії apt-get, ви завжди можете їх видалити за допомогою цих команд. Вони помиляються, якщо не існує файлів, що залишились, здається, що авточистка може іноді пропускати деякі, незалежно.
dpkg --list |grep "^rc" | cut -d " " -f 3 | xargs dpkg --purge
apt-get --dry-run removeвиглядає в основному правильно. Можливо, пропустять декілька автоматично встановлених пакетів, які потрібні лише для автоматично встановлених пакетів, які потрібні лише для вилученого пакету. То чому ви не вважаєте це підходящою відповіддю?