Я должен извлечь список установленных пакетов на Ubuntu/Debian, не используя команду или не смотря на dpkg.log?
Основное требование должно получить список установленных пакетов на ОС Debian/Ubuntu из файла дб пакетов (если таковые имеются), я могу получить список доступных пакетов из следующего файла,
/var/lib/dpkg/available
Но этот файл содержит все пакеты включая не установленный.
Есть ли какой-либо другой файл дб на Debian/Ubuntu, который содержит список только установленных пакетов?
Файл, который содержит ту же информацию как обеспеченный dpkg -l
команда /var/lib/dpkg/status
. От FILES
раздел man dpkg
:
/var/lib/dpkg/status Statuses of available packages. This file contains information about whether a package is marked for removing or not, whether it is installed or not, etc. See section INFORMATION ABOUT PACKAGES for more info. The status file is backed up daily in /var/backups. It can be useful if it's lost or corrupted due to filesystems troubles. The format and contents of a binary package are described in deb(5).
Но Ваш "w/o команда" требование имеет мало смысла, так как необходимо будет записать команду для парсинга его. Например,
awk -vRS= '/Status: install/ {print $2}' /var/lib/dpkg/status
будет примерно эквивалентно dpkg -l | awk '$1 == "ii" {print $2}'
(они будут отличаться по порядку сортировки и некоторым возможным суффиксам архитектуры как :amd64
).