3.11. Поиск программ, установленных в системе Debian
Проблема
Требуется узнать, какие пакеты установлены в системе, к какому пакету относятся те или иные файлы и что находится в отдельных пакетах.
Решение
Воспользуйтесь средствами обработки запросов dpkg.
Следующая команда выводит список всех установленных пакетов и направляет его в файл:
$ dpkg -l | tee dpkglist
Поиск всех пакетов, удовлетворяющих критерию поиска, и вывод информации об их состоянии:
$ dpkg -l '*gnome*'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status.Err: uppercase=bad)
||/ Name Version Description
pn gnome <none> (no description available)
un gnome-about <none> (no description available)
ii gnome-applets 2.4.2-1 Various applets for GNOME 2 panel
rc gnome-bin 1.4.2-18 Miscellaneous binaries used by GNOME
Поиск установленных пакетов, удовлетворяющих критерию поиска:
$ dpkg -l | grep gnome
Вывод списка файлов, входящих в пакет:
$ dpkg -L gnome-applets
/usr/share
/usr/share/lintian
/usr/share/lintian/overrides
/usr/share/lintian/overrides/gnome-applets
...
Следующая команда определяет, к какому пакету относится файл:
$ dpkg -S boing.wav
tuxkart-data: /usr/share/games/tuxkart/wavs/boing.wav
Вывод полной информации о пакете:
$ dpkg -s kpoker
Package: kpoker
Status: install ok installed
Priority: optional
Section: games
Installed-Size: 428
Maintainer: Daniel Schepler <schepler@debian.org>
Source: kdegames
Version: 4:3.1.5-1
...
Комментарий
Таблица, выводимая командой dpkg -l, выглядит довольно загадочно, поэтому я приведу расшифровку.
$ dpkg -l gnome*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Installed/Config-files/Unpacked/Failed-config/Half-installed
|/ Err?=(none)/Hold/Reinst-required/X=both-problems (Status.Err: uppercase=bad)
||/ Name Version Description
pn gnome <none> (no description available)
un gnome-about <none> (no description available)
ii gnome-applets 2.4.2-1 Various applets for GNOME 2 panel
rc gnome-bin 1.4.2-18 Miscellaneous binaries used by GNOME
В строке pn gnome поднимитесь от буквы p наверх по «стрелке». Она приведёт вас к строке Desired=Unknown/Install/Remove/Purge/Hold с расшифровками первого символа (Purge в данном случае).
От следующего столбца, ii, стрелка ведёт к строке Status. По ней можно определить, что символ ii означает Not/Installed.
В третьем столбце отображается код ошибки. В нашем случае он пуст (и хорошо). Как указано в конце строки, любые символы верхнего регистра в столбцах Status и Err ни к чему хорошему не приведут.
Получаем: пакет gnome когда-то был установлен в системе, но потом он был удалён.
Код un означает, что пакет никогда не устанавливался.
Код ii означает, что пакет установлен.
Код rc означает, что пакет был установлен, а затем удалён, но после него остались конфигурационные файлы. Состав этих файлов определяется легко:
$ dpkg -L gnome-bin
/etc/logcheck/ignore.d.server/gnome-bin
/etc/logcheck/ignore.d.workstation/gnome-bin
См. также
dpkg(8).