Определим, установлен ли определённый пакет в нашей системе.
Запросите базу данных 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