
Когда я запускаю synaptic, есть определенные пакеты, которые synaptic рассматривает как «необходимые». Например, если я выберу bash для удаления, я буду предупрежден, что bash является «необходимым пакетом». Если я затем нажму кнопку «Применить», я получу список пакетов, которые будут обработаны. Один из этих списков — список необходимых пакетов, которые я собираюсь удалить.
Как с помощью набора инструментов apt сгенерировать список всех пакетов, которые Synaptic считает необходимыми?
решение1
Вы можете перечислить все основные пакеты, используя aptitude search '?essential'
или dpkg-query -Wf '${Package;-40}${Essential}\n' | grep yes
.
Кроме того, есть также несколько пакетов с приоритетомнеобходимыйчто вам также не следует удалять:dpkg-query -Wf '${Package;-40}${Priority}\n' | grep -E "required"
Довожу до вашего сведения,СущественныйиПриоритетполя в контрольном файле пакета.
решение2
aptitude search ~E
для других шаблонов поиска вы можете посмотреть вдок-т способностей.
решение3
- для ежедневного использования:
apt list ?essential
илиapt list ~E
- для сценария:
apt-cache show ~E | grep -Po '(?<=^Package: ).*'
?essential
и ~E
задокументированы вapt-шаблоны(7), доступно в Ubuntu 20.04 LTS и Debian 11.