Ви задали тут кілька різних запитань, я сподіваюся, що я можу принаймні допомогти одному чи двом.
Щоб перелічити всі встановлені пакети, використовуйте 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
виглядає в основному правильно. Можливо, пропустять декілька автоматично встановлених пакетів, які потрібні лише для автоматично встановлених пакетів, які потрібні лише для вилученого пакету. То чому ви не вважаєте це підходящою відповіддю?