Apt-cache: Как вывести список всех установленных пакетов с номером версии?


51

apt-cache dump --installed не работает, в нем также перечислены неустановленные пакеты.

Я хочу перечислить установочные пакеты по одной строке с номером установленной версии.


3
ошибка # 775771 ограничить результаты поиска apt-cache установленными пакетами
bartolo-otrit

Ответы:


53

пытаться dpkg -l

он перечисляет вам пакеты, версию и краткое описание.


1
Мне также нравится, apt-show-versionsтак как он также показывает, какой из них uptotdate.
Малат

37

Простейший способ - использование dpkg, но он может показывать несколько посторонних пакетов и усекает длинные имена пакетов и номера версий:

dpkg -l

Чтобы вывести только правильно установленные пакеты, а не обрезать имена:

dpkg -l | grep '^ii'

Чтобы получить больше контроля над форматом вывода, вы можете использовать dpkg-query:

dpkg-query -W -f '${status} ${package} ${version}\n' | \
sed -n 's/^install ok installed //p'

13

Другая команда может быть:

apt-show-versions

Он также предоставляет вам информацию о состоянии пакета (обновлено, обновляется, ...) и о распространении источника (wheezy, jessie, ...). Можно легко отфильтровать пакеты, пришедшие из бэкпортов или других экзотических репозиториев.

Эта программа упакована отдельно. Установите его сначала с помощью:

apt-get install apt-show-versions

Это действительно приятно, так как показывает версию, до которой пакет может быть обновлен. +1.
Рэндалл Кук

в сочетании с apt-mark showmanualэтим вы получите удобный и простой способ получения версий всех установленных вручную пакетов, см. также этот ответ Askubuntu apt-mark showmanual > /tmp/versions && apt-show-versions | grep -f /tmp/versions
Gregor

4

Следующая команда выводит список пакетов с их версиями, и дополнительно позволяет вам настроить систему с такими же пакетами и версиями позже, используя pkg-selections.txtсгенерированный здесь файл:

aptitude -q -F "%?p=%?V %M" --disable-columns search \~i > pkg-selections.txt

Каждая строка будет содержать имя пакета, версию и дополнительную букву «А», если пакет был установлен автоматически.

Источник: « Клонирование системы Debian - идентичные пакеты и версии ». Также содержит скрипт, который устанавливает систему из pkg-selections.txt.


4

Чтобы вывести список имен каждого установленного пакета, введите от имени любого пользователя:

dpkg --get-selections

Вы получите такой вывод:

accountsservice              install
aclinstall                   install
acpi-supportinstall          install
acpidinstall                 install
...

Чтобы удалить ненужную строку символов «установить», вы можете использовать sed :

dpkg --get-selections | sed 's:install$::'

И если вы хотите сохранить его в файл с именем InstalledPackages , введите:

dpkg --get-selections | sed 's:install$::' > InstalledPackages

1

Если у вас нет доступа к работающей системе и у вас есть резервная копия корневого /раздела, вы можете:

root@backup_server /mnt/old_root/var/lib/dpkg/info # ls -la *.list | awk {'print $9'}| sed 's/.list//' >> /root/installed_app

Теперь это /root/installed_appсодержит все установленные пакеты!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.