apt-cache dump --installed
не работает, в нем также перечислены неустановленные пакеты.
Я хочу перечислить установочные пакеты по одной строке с номером установленной версии.
попробуй dpkg -l
он перечисляет вам пакеты, версию и краткое описание.
Самый простой способ - использовать dpkg
, но он может показывать несколько посторонних пакетов и усекает длинные имена пакетов и номера версий:
dpkg -l
Чтобы вывести только правильно установленные пакеты, а не обрезать имена:
dpkg -l | grep '^ii'
Чтобы получить больше контроля над форматом вывода, вы можете использовать dpkg-query
:
dpkg-query -W -f '${status} ${package} ${version}\n' | \
sed -n 's/^install ok installed //p'
Другая команда может быть:
apt-show-versions
Он также дает вам информацию о состоянии пакета (обновлено, обновляется, ...) и о распространении источника (wheezy, jessie, ...). Можно легко отфильтровать пакеты, пришедшие из бэкпортов или других экзотических репозиториев.
Эта программа упакована отдельно. Сначала установите его с помощью:
apt-get install apt-show-versions
Чтобы вывести список имен каждого установленного пакета, введите от имени любого пользователя:
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
Следующая команда выводит список пакетов с их версиями и дополнительно позволяет вам настроить систему с такими же пакетами и версиями позже, используя сгенерированный здесь файл pkg-selections.txt
:
aptitude -q -F "%?p=%?V %M" --disable-columns search \~i > pkg-selections.txt
Каждая строка будет содержать имя пакета, версию и дополнительную букву "А", если пакет был установлен автоматически.
Источник: « Клонирование системы Debian - идентичные пакеты и версии ». Также содержит скрипт, который настраивает систему из pkg-selections.txt
.
Если у вас нет доступа к работающей системе и у вас есть резервная копия корня /
раздела, вы можете:
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
содержит все установленные пакеты!