49

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

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

6 ответов6

52

попробуй dpkg -l

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

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
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
4

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

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

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

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

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 содержит все установленные пакеты!

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .