Как найти установленный пакет в linux

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

Мы рассмотрим способы как для Ubuntu, так и для других популярных дистрибутивов Linux.

В Ubuntu для управления пакетами используется утилита dpkg, с помощью нее можно узнать всю информацию об установленных пакетах, в том числе проверить установлен ли пакет Ubuntu. Для этого есть опция -s. Например, если нужно узнать установлен ли пакет firefox, выполните:

dpkg -s firefox

ubuntu

Как видите, браузер установлен — installed — ok. Тут можно также узнать версию пакета Ubuntu. То же самое можно сделать с помощью команды dpkg-query:

dpkg-query -l firefox

ubuntu1

Утилита dpkg может намного больше. Чтобы посмотреть установленные пакеты Ubuntu выполните команду:

dpkg --get-selections

ubuntu2

Список может быть очень длинным, в зависимости от количества установленных в системе пакетов. С помощью wc мы можем подсчитать общее количество установленных пакетов:

dpkg --get-selections | wc -l

ubuntu3

Также можно отфильтровать только что полученный список с помощью grep чтобы узнать установлен ли пакет или пакеты. Это может быть полезно если вы не знаете полное имя пакета. Например, мы хотим узнать какие пакеты из набора gcc уже установлены:

dpkg --get-selections | grep gcc

ubuntu4

Также можно получить все файлы пакета, используя параметр -L:

dpkg -L gcc-5

ubuntu5

Но это мы рассматривали более подробно в другой статье. А теперь поговорим о том, как выполняется все выше перечисленное в дистрибутиве на базе rpm.

Проверить установлен ли пакет Linux

В операционных системах на базе менеджера пакетов rpm тоже можно проверить установлен ли пакет. Для этого используется утилита rpm. Просто выполните утилиту с ключом -q:

rpm -q chromium

ubuntu9

Если нужна более подробная информация, можно добавить опцию -i. Здесь вы можете узнать версию пакета linux, а также много полезной информации:

rpm -qi chromium

ubuntu6

Вывести все установленные пакеты можно с помощью опции -a:

rpm -qa

ubuntu7Затем, так же как и в предыдущем примере можно все отфильтровать с помощью grep:

rpm -qa | grep gcc

ubuntu8

Выводы

Пока что это все, теперь вы знаете как узнать установлен ли пакет linux в ubuntu и в других популярных дистрибутивах. Надеюсь, моя маленькая инструкция была вам полезной.

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Об авторе

Основатель и администратор сайта losst.ru, увлекаюсь открытым программным обеспечением и операционной системой Linux. В качестве основной ОС сейчас использую Ubuntu. Кроме Linux, интересуюсь всем, что связано с информационными технологиями и современной наукой.

dpkg-query --showformat='${db:Status-Status}'

This produces a small output string which is unlikely to change and is easy to compare deterministically without grep:

pkg=hello
status="$(dpkg-query -W --showformat='${db:Status-Status}' "$pkg" 2>&1)"
if [ ! $? = 0 ] || [ ! "$status" = installed ]; then
  sudo apt install $pkg
fi

The $? = 0 check is needed because if you’ve never installed a package before, and after you remove certain packages such as hello, dpkg-query exits with status 1 and outputs to stderr:

dpkg-query: no packages found matching hello

instead of outputting not-installed. The 2>&1 captures that error message too when it comes preventing it from going to the terminal.

For multiple packages:

pkgs='hello certbot'
install=false
for pkg in $pkgs; do
  status="$(dpkg-query -W --showformat='${db:Status-Status}' "$pkg" 2>&1)"
  if [ ! $? = 0 ] || [ ! "$status" = installed ]; then
    install=true
    break
  fi
done
if "$install"; then
  sudo apt install $pkgs
fi

The possible statuses are documented in man dpkg-query as:

   n = Not-installed
   c = Config-files
   H = Half-installed
   U = Unpacked
   F = Half-configured
   W = Triggers-awaiting
   t = Triggers-pending
   i = Installed

The single letter versions are obtainable with db:Status-Abbrev, but they come together with the action and error status, so you get 3 characters and would need to cut it.

So I think it is reliable enough to rely on the uncapitalized statuses (Config-files vs config-files) not changing instead.

dpkg -s exit status

This unfortunately doesn’t do what most users want:

pkgs='qemu-user pandoc'
if ! dpkg -s $pkgs >/dev/null 2>&1; then
  sudo apt-get install $pkgs
fi

because for some packages, e.g. certbot, doing:

sudo apt install certbot
sudo apt remove certbot

leaves certbot in state config-files, which means that config files were left in the machine. And in that state, dpkg -s still returns 0, because the package metadata is still kept around so that those config files can be handled more nicely.

To actually make dpkg -s return 1 as desired, --purge would be needed:

sudo apt remove --purge certbot

which actually moves it into not-installed/dpkg-query: no packages found matching.

Note that only certain packages leave config files behind. A simpler package like hello goes directly from installed to not-installed without --purge.

Tested on Ubuntu 20.10.

Python apt package

There is a pre-installed Python 3 package called apt in Ubuntu 18.04 which exposes an Python apt interface!

A script that checks if a package is installed and installs it if not can be seen at: How to install a package using the python-apt API

Here is a copy for reference:

#!/usr/bin/env python
# aptinstall.py

import apt
import sys

pkg_name = "libjs-yui-doc"

cache = apt.cache.Cache()
cache.update()
cache.open()

pkg = cache[pkg_name]
if pkg.is_installed:
    print "{pkg_name} already installed".format(pkg_name=pkg_name)
else:
    pkg.mark_install()

    try:
        cache.commit()
    except Exception, arg:
        print >> sys.stderr, "Sorry, package installation failed [{err}]".format(err=str(arg))

Check if an executable is in PATH instead

See: How can I check if a program exists from a Bash script?

See also

  • https://askubuntu.com/questions/165951/dpkg-get-selections-shows-packages-marked-deinstall
  • https://askubuntu.com/questions/423355/how-do-i-check-if-a-package-is-installed-on-my-server

Это краткое руководство объясняет, как вывести список всех установленных пакетов Linux из командной строки с примерами.

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

Я включил примеры команд для всех популярных менеджеров пакетов.

Содержание

  1. 1. Как вывести список установленных пакетов на Arch Linux с помощью команды pacman
  2. 2.  Как вывести c писок установленных пакетов в Alpine Linux с помощью команды apk.
  3. 3. Перечислим установленные пакеты в Debian, Ubuntu с помощью команды apt.
  4. 4. Перечислим установленные пакеты в Debian, Ubuntu с помощью команды dpkg.
  5. 5. Перечислим установленные пакеты в RHEL, Fedora, CentOS с помощью команды yum.
  6. 6. Перечислим установленные пакеты в RHEL, Fedora, CentOS с помощью команды dnf.
  7. 7. Как вывести список установленных пакетов в openSUSE с помощью команды zypper.
  8. 8. Как вывести список установленных пакетов в Linux с помощью команды rpm.
  9. 9. Как вывести список пакетов, установленных с помощью Snap на Linux.
  10. 10.  Как вывести список пакетов, установленных с помощью flatpak на Linux.

1. Как вывести список установленных пакетов на Arch Linux с помощью команды pacman

Pacman – это дефолтный менеджер пакетов для Arch Linux и его производных, таких как Manjaro Linux.

Чтобы вывести список всех установленных пакетов с помощью pacman на Arch Linux и его вариантах, запустите:

$ pacman -Q

Если вы хотите просмотреть страницу вывода с пролистыванием, направьте вывод в команду more, как показано ниже:

$ pacman -Q | more

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

$ pacman -Qe

Чтобы вывести только общее количество установленных пакетов в Arch Linux, направьте вывод pacman в команду wc:

$ pacman -Q | wc -l
134

Как видно из вышеприведенного вывода, я установил 134 пакета в своей системе Arch Linux.

2. Как вывести cписок установленных пакетов в Alpine Linux с помощью команды apk.

Apk, сокращение от Alpine Package Manager, является менеджером пакетов по умолчанию для Alpine Linux.

Команда для просмотра списка установленных пакетов в Alpine Linux:

$ apk info

Если вы хотите просмотреть список установленных пакетов, а также номер версии и описание пакета, используйте флаг -vv, как показано ниже:

$ apk info -vv

Вывод:

lm_sensors-3.4.0-r6 - Collection of user space tools for general SMBus access and hardware monitoring.
man-1.14.3-r0 - dummy package for upgrade compatibility.  this can safely be removed
libcrypto1.1-1.1.1i-r0 - Crypto library from openssl
libssl1.1-1.1.1i-r0 - SSL shared libraries
[...]

Чтобы перечислить только общее количество всех установленных пакетов в Alpine Linux, направьте вывод информации об apk команде wc, как показано ниже:

$ apk info | wc -l
86

3. Перечислим установленные пакеты в Debian, Ubuntu с помощью команды apt.

Apt предоставляет интерфейс командной строки высокого уровня для системы управления пакетами в Debian, Ubuntu и других системах на основе Debian.

Чтобы отобразить список установленных пакетов в Debian, Ubuntu, Linux Mint и других системах на основе DEB, запустите:

$ apt list --installed

Отобразите общее количество установленных пакетов в системах на основе Debian, направьте вывод команды apt в команду wc, как показано ниже:

$ apt list --installed | wc -l
2575

4. Перечислим установленные пакеты в Debian, Ubuntu с помощью команды dpkg.

Dpkg – это инструмент командной строки для установки, сборки, удаления пакетов Debian и управления ими.

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

$ dpkg -l

Кроме того, вы можете использовать команду dpkg-query для вывода списка всех установленных пакетов Debian.

$ dpkg-query -l

Укажите только общее количество установленных пакетов в системах на основе Debian:

$ dpkg -l | wc -l
2668
$ dpkg-query -l | wc -l
2668

5. Перечислим установленные пакеты в RHEL, Fedora, CentOS с помощью команды yum.

Yum, сокращение от Yellowdog Updater, Modified, – это утилита управления из командной строки для установки и управления пакетами в системах на основе Red Hat.

Теперь он заменен на dnf в последних версиях RHEL и CentOS.

Чтобы найти список установленных пакетов в Fedora, RHEL и его клонах, таких как CentOS, запустите:

$ yum list installed

Выведите только общее количество установленных пакетов с помощью команд yum и wc:

$ yum list installed | wc -l
347

6. Перечислим установленные пакеты в RHEL, Fedora, CentOS с помощью команды dnf.

DNF – это версия YUM следующего поколения, и он был менеджером пакетов по умолчанию, начиная с Fedora 22, RHEL 8 и CentOS 8.

Использование DNF такое же, как и в Yum.

Чтобы найти список установленных пакетов в RHEL, Fedora, CentOS с помощью dnf, запустите:

$ dnf list installed

Если вы хотите отобразить только общее количество пакетов с помощью команды dnf, запустите:

$ dnf list installed | wc -l

7. Как вывести список установленных пакетов в openSUSE с помощью команды zypper.

Zypper – это менеджер пакетов командной строки по умолчанию для установки и управления пакетами в SUSE и openSUSE.

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

$ zypper se --installed-only

8. Как вывести список установленных пакетов в Linux с помощью команды rpm.

Команда RPM, сокращение от Red Hat Package Manager, используется для установки и управления приложениями из командной строки в системах на основе Redhat.

Чтобы вывести список всех пакетов RPM, установленных в вашей системе, выполните:

$ rpm -qa

Чтобы просмотреть вывод с прокруткой, перенаправьте вывод в команду more:

$ rpm -qa | more

Вы также можете вывести все установленные пакеты, самые свежие из которых  будут находится вверху, используя флаг –last, как показано ниже:

$ rpm -qa --last

Следующие два метода являются универсальными.

Вы можете использовать эти команды в любых системах, в которых установлены инструменты Snap или Flatpak.

9. Как вывести список пакетов, установленных с помощью Snap на Linux.

Snap – это система развертывания программного обеспечения и управления пакетами, разработанная Canonical.

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

$ snap list

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

Иногда, необходимо найти установленный пакет или вывести список все установленных пакетов на вашем сервере Linux. Эта статья «Показать все установленные пакеты в Linux» поможет вам как найти все установленные пакеты на системах основанных на RedHat’s и Debian’s.

Показать все установленные пакеты в CentOS/RedHat/Fedora

Используйте следующую команду, чтобы вывести список всех установленных пакетов на CentOS/RedHat/Fedora:

# rpm -qa

или

# yum list installed

Если нужно найти конкретный установленный пакет, то можно использовать команду:

# rpm -qa | grep nginx

Показать все установленные пакеты в Ubuntu/Debian

Используйте следующую команду, чтобы вывести список всех установленных пакетов на Ubuntu и Debian:

# dpkg --get-selections

Если нужно найти конкретный установленный пакет, то можно использовать команду:

# dpkg --get-selections | grep nginx

Так же, можно использовать:

# dpkg --list

Для конкретного пакета, это будет выглядеть так:

# dpkg --list 'apache*'

Вот и все, очень просто и полезно. А я завершаю свою тему «Показать все установленные пакеты в Linux».

  • Архив новостей

    Архив новостей

  • Свежие записи

    • Pull/Push AWS ECR образов через AWS Route53 CNAME
      17.11.2021
    • openpgp: signature made by unknown entity в Terraform
      09.11.2021
    • Установка Terraformer в Unix/Linux
      31.05.2021
    • Установка ArgoCD в Unix/Linux
      06.01.2021
    • Установка tfswitch в Unix/Linux
      08.12.2020
  • Мета

    • Войти
    • Лента записей
    • Лента комментариев
    • WordPress.org

apt— это утилита командной строки для установки, обновления, удаления и иного управления пакетами deb в Ubuntu, Debian и связанных с ними дистрибутивах Linux. Он сочетает в себе наиболее часто используемые команды из инструментов apt-getи apt-cacheс разными значениями по умолчанию некоторых параметров.

aptпредназначен для интерактивного использования. Отдавайте предпочтение сценариям apt-getи apt-cacheв вашей оболочке, поскольку они обратно совместимы между различными версиями и имеют больше параметров и функций.

Большинство aptкоманд необходимо запускать от имени пользователя с sudo привилегиями.

В этом руководстве вы можете узнать все о aptкомандах в Linix системе.

Обновление индекса пакета ( apt update)

Индекс пакетов APT — это, по сути, база данных, в которой хранятся записи о доступных пакетах из репозиториев, включенных в вашей системе.

Чтобы обновить индекс пакета, выполните команду ниже. Это вытянет последние изменения из репозиториев APT:

sudo apt update

Всегда обновляйте индекс пакетов перед обновлением или установкой новых пакетов.

Обновление пакетов ( apt upgrade)

Регулярное обновление вашей системы Linux является одним из наиболее важных аспектов общей безопасности системы.

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

sudo apt upgrade

Команда не обновляет пакеты, требующие удаления установленных пакетов.

Если вы хотите обновить один пакет, передайте имя пакета:

sudo apt upgrade package_name

Полное обновление ( apt full-upgrade)

Разница между upgradeи full-upgradeзаключается в том, что последний удалит установленные пакеты, если это необходимо для обновления всей системы.

sudo apt full-upgrade

Будьте особенно осторожны при использовании этой команды.

Установка пакетов ( apt install)

Установка пакетов так же проста, как запуск следующей команды:

sudo apt install package_name

Если вы хотите установить несколько пакетов одной командой, укажите их в виде списка, разделенного пробелами:

sudo apt install package1 package2

Чтобы установить локальные файлы deb, укажите полный путь к файлу. В противном случае команда попытается получить и установить пакет из репозиториев APT.

sudo apt install /full/path/file.deb

Удаление пакетов ( apt remove)

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

sudo apt remove package_name

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

sudo apt remove package1 package2

Команда removeудалит указанные пакеты, но может оставить некоторые файлы конфигурации. Если вы хотите удалить пакет, включая все файлы конфигурации, используйте purgeвместо remove:

sudo apt purge package_name

Удалить неиспользуемые пакеты ( apt autoremove)

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

sudo apt autoremove

Список пакетов ( apt list)

Команда listпозволяет вам перечислить доступные, установленные и обновляемые пакеты.

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

sudo apt list

Команда напечатает список всех пакетов, включая информацию о версиях и архитектуре пакета. Чтобы узнать, установлен ли конкретный пакет, вы можете отфильтровать вывод с помощью grep команды.

sudo apt list | grep package_name

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

sudo apt list --installed

Получение списка обновляемых пакетов может быть полезно перед фактическим обновлением пакетов:

sudo apt list --upgradeable

Поиск пакетов ( apt search)

Эта команда позволяет вам искать данный пакет в списке доступных пакетов:

sudo apt search package_name

Если найдено, команда вернет пакеты, имя которых соответствует поисковому запросу.

Информация о пакете ( apt show)

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

Чтобы получить информацию о данном пакете, используйте showкоманду:

sudo apt show package_name

Понравилась статья? Поделить с друзьями:
  • Ведьмак 3 как найти тайник игоря
  • Как можно еще раз найти
  • Карта памяти самсунг а50 как найти
  • Как найти настоящих аниматроников
  • Как исправить номер гтд в книге покупок в 1с