Поиск по сайту:

Как узнать, установлен ли пакет в Linux и Unix

Некоторое время назад мы узнали, как найти версию пакета в Linux. Сегодня мы увидим, как узнать, установлен ли пакет или нет в операционных системах Linux и Unix. Найти установленные пакеты в режиме графического интерфейса легко. Все, что нам нужно сделать, это просто открыть меню или тире и ввести имя пакета в поле поиска. Если пакет установлен, вы увидите пункт меню. Это очень просто. Но его немного сложно найти в системе, где нет режима графического интерфейса. Таким образом, знание того, как определить, установлен пакет или нет в режиме CLI, так же важно, как и в режиме GUI. Теперь давайте выясним, как узнать, установлен ли пакет или нет, не так ли?

Узнайте, установлен ли пакет в Linux или нет.

Самый распространенный способ узнать, установлен пакет или нет, — использовать команду «который», как показано ниже:

which <package-name>

Пример:

which nano

Если пакет nano установлен, он отобразит путь установки, как показано ниже.

/usr/bin/nano

Как видите, пакет nano установлен по пути /usr/bin/.

Давайте проверим другой пакет, например Emacs:

which emacs
/usr/bin/which: no emacs in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)

Видеть? Emacs не установлен.

Узнайте, установлен ли пакет в Linux, используя какую команду

Команда «который» доступна по умолчанию в большинстве Unix-подобных операционных систем.

Кроме того, есть несколько других способов узнать, установлен ли пакет или нет. Читай дальше.

В Arch Linux:

В Arch Linux и его производных, таких как Antergos и Manjaro LInux, мы можем сделать это с помощью команды «pacman», как показано ниже:

pacman -Qs nano

Пример вывода:

local/nano 2.9.3-1 (base)
 Pico editor clone with enhancements

Узнайте, установлен ли пакет в Arch Linux с помощью Pacman

Вы заметили приставку «локальный» перед пакетом «нано»? Это означает, что Nano установлен в вашей системе.

Если приведенная выше команда ничего не возвращает, это означает, что данный пакет не установлен.

В Fedora/RHEL/CentOS/Scientific Linux:

В дистрибутивах Linux на основе RPM, таких как Fedora, RHEL и клонах RHEL, таких как CentOS, Scientific Linux, мы можем узнать, установлен ли пакет, с помощью команды "rpm", как показано ниже.

rpm -qa | grep nano

Или,

rpm -qa | grep -i nano

Пример вывода:

nano-2.3.1-10.el7.x86_64

Кроме того, вы можете использовать команду Yum, как показано ниже.

yum list installed|grep 'nano'

Чтобы просмотреть все установленные пакеты, запустите:

rpm -qa

Как отметил один из наших читателей Грегори Питтман в разделе комментариев ниже, мы можем использовать команду dnf в Fedora, чтобы найти установленный пакет.

dnf list packagename

или даже

dnf list package*

Из них вы получаете список того, что установлено, а также то, что доступно в репозиториях. dnf допускает использование подстановочных знаков, а также не учитывает регистр при поиске. Иногда вы не совсем знаете, что ищете или правильное написание.

В Debian/Ubuntu/Linux Mint:

В системе на основе DEB, такой как Debian, Ubuntu и ее производных, таких как Linux Mint и Elementary OS, мы можем сделать это с помощью команды "dpkg".

dpkg -s nano

Пример вывода:

Узнайте, установлен ли пакет в Debian, Ubuntu Linux с помощью команды dpkg.

Как вы видите в приведенном выше выводе, пакет nano установлен в нашей системе Ubuntu. Эта команда не только показывает, установлен ли указанный пакет или нет, но также приоритет пакета, номер версии, имя сопровождающего, зависимости, его описание и т. д.

Это не единственный способ найти установленные пакеты. Вот еще несколько команд.

dpkg-query -l nano

Пример вывода:

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-============-============-=================================
ii nano 2.5.3-2 amd64 small, friendly text editor inspired by Pico

Вот еще один.

dpkg --get-selections | grep nano

Пример вывода:

nano install

И еще одна команда....

dpkg --list | grep nano

Пример вывода:

ii nano 2.5.3-2 amd64 small, friendly text editor inspired by Pico

Или используйте эту команду:

dpkg --list | grep -i nano

Чтобы просмотреть список всех установленных пакетов, запустите:

dpkg --list

В SUSE/openSUSE:

Чтобы проверить, установлен ли пакет в SUSE и openSUSE, запустите:

zypper search nano

Или, короче:

zypper se nano

Вы также можете использовать команду «rpm», как показано ниже.

rpm -q nano

Определите, установлен ли пакет или нет, с помощью утилиты has

Поверьте, это очень просто! Утилита has проверит наличие различных инструментов командной строки по пути, а также сообщит об их установленной версии.

Чтобы установить его, выполните следующие команды:

git clone https://github.com/kdabir/has.git 
cd has 
sudo make install

Теперь проверьте, доступен ли пакет, как показано ниже.

has nano
✔ nano 2.5.3

Если вы видите галочку (✔), пакет установлен. Как вы видите в приведенном выше выводе, пакет nano установлен и его версия — 2.5.3.

Вы увидите крестик, если пакет не установлен. Проверьте следующий пример.

has emacs
✘ emacs

Вы также можете проверить наличие нескольких пакетов.

has nano emacs vim
✔ nano 2.5.3
✘ emacs
✔ vim 7.4

Если вы не хотите устанавливать его, вы можете использовать его напрямую, как показано ниже. Однако ваша система должна быть подключена к Интернету.

curl -sL https://git.io/_has | bash -s nano

Чтобы проверить наличие нескольких пакетов:

curl -sL https://git.io/_has | bash -s nano emacs vim

Создайте псевдоним, если вам лень вводить всю команду:

alias has="curl -sL https://git.io/_has | bash -s"

Теперь просто используйте эту утилиту, как показано ниже:

has nano

Более подробную информацию можно найти на странице проекта на GitHub.

  • имеет репозиторий GitHub

Узнайте, установлен ли пакет в Unix или нет.

Следующие шаги были протестированы во FreeBSD 10.3. Я никогда не пробовал никаких других операционных систем BSD, кроме FreeBSD. Таким образом, могут быть разные команды, чтобы узнать, установлен ли пакет в других операционных системах BSD.

Во FreeBSD это можно сделать с помощью команды "pkg":

pkg_info -Ix <package-name>

Пример:

pkg info -Ix nano

Пример вывода:

Узнайте, установлен ли пакет во FreeBSD, используя команду pkg.

Чтобы просмотреть все установленные пакеты, вы можете использовать следующую команду:

pkg info

Или,

pkg version -v

Это займет от нескольких секунд до минуты, в зависимости от количества пакетов в вашей системе FreeBSD.

Заключение

Теперь вы знаете, как узнать, установлен пакет или нет, используя официальный и неофициальный способ из командной строки. Как видите, это не так уж и сложно. Это всего лишь пара команд, которые вы легко запомните. Если вы не можете запомнить эти команды, просто добавьте их в закладки или сохраните их в самом Терминале, чтобы запускать их по требованию.

Статьи по данной тематике

Все права защищены. © Linux-Terminal.com • 2023-2025