Определим, установлен ли определённый пакет в нашей системе.
Запросите базу данных dpkg, чтобы определить, установлен ли пакет.
$ dpkg-query --show --showformat='${db:Status-Status}\n' rpi-imager
installed
$ echo $?
0
Вы можете легко определить неудачный запрос.
$ dpkg-query --show --showformat='${db:Status-Status}\n' jnettop
dpkg-query: no packages found matching jnettop
$ echo $?
1
Чтобы узнать о дополнительных статусах и кодах выхода, обратитесь к странице руководства по dpkg-query.
Это удобное для скриптов решение, а не использование apt или apt-cache.
$ apt list --quiet --quiet --installed rpi-imager
rpi-imager/now 1.8.5 amd64 [installed,local]
$ apt-cache policy rpi-imager
rpi-imager:
Installed: 1.8.5
Candidate: 1.8.5
Version table:
*** 1.8.5 100
100 /var/lib/dpkg/status
$ apt-cache policy jnettop
jnettop:
Installed: (none)
Candidate: 0.13.0-1.2
Version table:
0.13.0-1.2 500
500 http://ftp.task.gda.pl/debian bookworm/main amd64 Packages
см. также:
- 📦 Как установить и управлять пакетами из репозитория Copr в Linux
- 📦 Различия между пакетными менеджерами YUM и DNF
- 📦 Как составить список зависимостей RPM-пакета с помощью DNF
- 📜 Руководство для начинающих по созданию первого пакета Debian
- 📦 Как составить список установленных пакетов по размеру на Ubuntu/Debian
- 📦 Как скачать RPM пакетов без установки в системах Linux
![]()
