Я раньше искал локальные пакеты, использующие Синаптический. Те пакеты, которые локально установлены, но не имеют никакого точного совпадения в текущих активных репозиториях. Поскольку это объяснено в этом сообщении: Что делает “локальный или устаревший” средний в Синаптическом.
Я нахожу, что функция, очень полезная когда дело доходит до отладки невстреченных зависимостей, выходит. В то время как я знаю, как получить список устаревших пакетов, я не мог найти путь к локальным пакетам.
Так, есть ли какая-либо эквивалентная командная строка, которая перечисляет все локальные пакеты?
Отметьте для объяснения идиом, которые я использовал.
Таким образом, я не имею в виду всех установленных пакетов.
Тест
debhelper
, выберите его. Menu:Packages → Версия Силы...: Выберите и установите версию от бэкпортов (Обычно последняя версия)Сравните теперь между этими двумя списками:
Синаптический Установленный → SideBar:Status → (локальный и устаревший)
aptitude search '~o'
user@user-vb:~$ aptitude search '~o'
i A linux-headers-4.15.0-19 - Header files related to Linux kernel version 4.15.0
i A linux-headers-4.15.0-19-generic - Linux kernel headers for version 4.15.0 on 64 bit x86 SMP
i A linux-image-4.15.0-19-generic - Signed kernel image generic
i A linux-modules-4.15.0-19-generic - Linux kernel extra modules for version 4.15.0 on 64 bit x86
i A linux-modules-extra-4.15.0-19-generic - Linux kernel extra modules for version 4.15.0 on 64 bit x86
user@user-vb:~$
Найдите установленные пакеты, который не происходит ни из какого source.list или не может быть загружен.
$ aptitude search \
'?narrow(?or(!?origin(), ?obsolete), ?installed)'
Или краткая форма:
$ aptitude search '~S (!~O|~o) ~i'
?narrow
(фильтр, шаблон)?or
(шаблон, шаблон)?origin
(шаблон)?obsolete
?installed
?not
(шаблон) или !
apt list --installed
пакеты маркировок как local
способом это, кажется, соглашается с Вашим определением (см. мой ответ здесь). Вы могли отфильтровать только пакеты, так маркированные, спрашивают, grep, и т.д.:
apt list --installed | awk -F/ '/local]/{print $1}'
Вы могли также, вероятно, осуществить подобную проверку с помощью APT Python API.
С apt-show-versions | grep -e 'No available version' -e 'newer than version'
необходимо получить список пакетов:
Вероятно, необходимо установить его заранее с sudo apt install apt-show-versions