Как проверить установлен ли пакет в Linux: команды для Ubuntu, CentOS и Arch
-
Проверка, установлен ли пакет в Linux, - это базовая задача для любого администратора. Часто нужно быстро узнать, есть ли нужный софт, чтобы не тратить время на установку. Эти команды помогут избежать ошибок и сэкономить минуты работы.
В разных дистрибутивах менеджеры пакетов отличаются, но принципы похожи. Вы разберетесь с dpkg для Ubuntu, rpm для CentOS и другими. Это решит проблемы вроде ‘пакет не найден’ или дублирующих установок.
Команды для Debian/Ubuntu
В Ubuntu и других системах на базе Debian основной инструмент - dpkg и apt. Они хранят информацию обо всех пакетах и позволяют быстро проверить статус. Например, если вы разрабатываете скрипт и хотите убедиться, что gcc на месте, эти команды выдадут точный ответ с версией.
dpkg -s покажет статус пакета: ‘installed’ значит все ок, иначе - нет. Альтернатива dpkg-query -l с фильтром через grep удобна для поиска по ключевому слову. А apt list --installed выведет полный список с версиями, что полезно для аудита системы. Такие методы работают стабильно даже на старых версиях Ubuntu.
Вот основные команды для проверки:
dpkg -s firefox- статус конкретного пакета с деталями.dpkg-query -l | grep gcc- поиск по имени среди установленных.apt list --installed | grep nginx- список через apt с фильтром.
Важно: если вывод пустой, пакет не установлен.
Команда Описание Пример вывода dpkg -s <пакет> Статус и версия installed: firefox 1.0-1 dpkg-query -l <пакет> Список с описанием ii gcc 4:9.3.0 apt list --installed grep <пакет> Установленные пакеты nginx/jammy,now 1.18.0 Проверка в RPM-системах: CentOS, Fedora, RHEL
В дистрибутивах вроде CentOS или Fedora используется rpm и его наследники yum или dnf. Эти менеджеры проверяют пакеты по базе RPM. Представьте: сервер на RHEL, нужно срочно проверить chromium - rpm справится мгновенно.
rpm -q - простая команда для статуса, добавьте -i для полной информации. dnf list installed удобнее для новых систем, как Fedora, и поддерживает grep. Это критично при миграциях или обновлениях, когда версии пакетов меняются. Вывод покажет дату установки в некоторых случаях.
Полезные варианты:
rpm -q chromium- базовая проверка.rpm -qi gcc- детальная инфа с зависимостями.dnf list installed | grep httpd- для dnf-систем.
Менеджер Команда Подходит для rpm rpm -qa grep <пакет> CentOS, RHEL yum yum list installed grep <пакет> Старые RPM dnf dnf list installed grep <пакет> Fedora, новые RHEL Arch Linux и другие: Pacman, Zypper
Arch и производные вроде Manjaro полагаются на pacman, а SUSE - на zypper. Эти менеджеры тоже имеют встроенные опции для проверки. Например, в Manjaro pacman -Q быстро сканирует базу, показывая версию.
pacman -Q | grep <пакет> фильтрует локальные пакеты. Для zypper подойдет zypper search --installed-only. Такие команды полезны в минималистичных дистрибутивах, где нет лишнего софта. Они помогают поддерживать систему чистой без автозаполнения.
Список команд:
pacman -Q | grep vlc- в Arch/Manjaro.zypper search --installed-only docker- для openSUSE.pacman -Qi <пакет>- полная информация.
Дистрибутив Команда Фильтр Arch pacman -Q grep <пакет> Локальные пакеты SUSE zypper se --installed-only <пакет> Только установленные Расширенные приемы для опытных
Иногда базовых команд мало: нужно файлы пакета или историю установки. dpkg -L покажет все файлы от пакета в Debian. В RPM это rpm -ql. Логи вроде /var/log/dpkg.log хранят даты установки.
Для скриптов комбинируйте с grep и awk. Пример: проверка и вывод версии в один проход. Это ускоряет автоматизацию задач DevOps.
dpkg -L nginx- файлы пакета.rpm -ql httpd- аналог для RPM.zgrep 'installed' /var/log/dpkg.log* | grep php- история.
Когда команды подводят
Команды проверяют только локальную базу, а не доступные обновления. Если пакет удален с правами root или через chroot, результат может быть неверным. Подумайте о apt-mark showmanual для пользовательских пакетов или комбинации с поиском в репозиториях.
В контейнерах вроде Docker база пакетов изолирована - проверяйте внутри. Это оставляет пространство для скриптов с fallback-логикой, если стандартные методы не сработали.
© 2024 - 2026 ExLends, Inc. Все права защищены.