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

LinuxLinuxBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы узнаете, как проверить, установлен ли определенный пакет программного обеспечения на вашей системе Linux с использованием различных инструментов командной строки. Вы изучите команду apt list --installed для получения полного списка установленных пакетов и узнаете, как фильтровать этот список с помощью grep.

Кроме того, вы научитесь проверять установку пакетов и получать подробную информацию об установленных пакетах с использованием команд dpkg -l и apt policy, что даст вам важные навыки для управления программным обеспечением на дистрибутивах Linux на основе Debian.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux(("Linux")) -.-> linux/PackagesandSoftwaresGroup(["Packages and Softwares"]) linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") linux/PackagesandSoftwaresGroup -.-> linux/apt("Package Handling") subgraph Lab Skills linux/grep -.-> lab-558678{{"Как проверить, установлен ли пакет в Linux"}} linux/apt -.-> lab-558678{{"Как проверить, установлен ли пакет в Linux"}} end

Проверка статуса пакетов с помощью команды apt list --installed

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

Системы Linux, особенно основанные на Debian, такие как Ubuntu (которую вы используете в этом практическом занятии), управляют программным обеспечением с помощью менеджеров пакетов. apt - это мощный инструмент командной строки для этих целей.

Команда apt list используется для вывода списка пакетов на основе определенных критериев. Добавление опции --installed фильтрует список, показывая только те пакеты, которые в настоящее время установлены на вашей системе.

Откройте терминал, если он еще не открыт. Помните, что вы можете найти значок Xfce Terminal слева на рабочем столе.

Введите следующую команду и нажмите Enter:

apt list --installed

Вы увидите длинный список пакетов. Этот список включает имя пакета, версию и архитектуру.

Listing...
accountsservice/jammy-updates,now 0.6.55-0ubuntu12~22.04.5 amd64 [installed]
acl/jammy,now 2.3.1-1 amd64 [installed]
adduser/jammy,jammy,now 3.118ubuntu8 all [installed]
...
zlib1g/jammy-updates,now 1:1.2.11.dfsg-2ubuntu1.6 amd64 [installed]
zsh/jammy-updates,now 5.8.1-1ubuntu1.4 amd64 [installed]

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

Для упрощения работы с выводом вы можете комбинировать apt list --installed с другими командами, используя конвейер (|). Например, чтобы найти определенный пакет, такой как htop (который вы установили в предыдущем практическом занятии), вы можете использовать grep:

apt list --installed | grep htop

Эта команда берет вывод команды apt list --installed и "передает" его в качестве входных данных команде grep, которая ищет строки, содержащие "htop".

Вы должны увидеть вывод, похожий на следующий, подтверждающий, что htop установлен:

htop/jammy,now 3.0.5-1build2 amd64 [installed]

Использование grep вместе с apt list --installed - это быстрый способ проверить, присутствует ли определенный пакет на вашей системе.

Нажмите Продолжить, чтобы перейти к следующему шагу.

Проверка установки пакетов с помощью dpkg -l

На этом этапе вы будете использовать команду dpkg для проверки статуса установки пакетов. В то время как apt является более высокоуровневым инструментом для управления пакетами (установка, удаление, обновление), dpkg - это базовый инструмент, который обрабатывает фактическую установку и удаление файлов пакетов .deb.

Команда dpkg -l выводит список пакетов аналогично apt list --installed, но предоставляет несколько отличную информацию и часто используется для более детальной проверки статуса.

Откройте терминал. Введите следующую команду и нажмите Enter:

dpkg -l

Снова вы увидите длинный список пакетов. Формат вывода немного отличается от apt list --installed.

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  accountsservice                     0.6.55-0ubuntu12~22.04.5    amd64        query and manipulate user account information
ii  acl                                 2.3.1-1                     amd64        Access control list utilities
ii  adduser                             3.118ubuntu8                all          add and remove users and groups
...
ii  zlib1g:amd64                        1:1.2.11.dfsg-2ubuntu1.6    amd64        compression library - runtime
ii  zsh                                 5.8.1-1ubuntu1.4            amd64        shell with lots of features

Разберем первые несколько столбцов:

  • Desired: Что пользователь хочет сделать с пакетом (например, i - установить, r - удалить).
  • Status: Текущий статус пакета (например, i - установлен, c - только конфигурационные файлы, p - полностью удален).
  • Err?: Указывает, есть ли ошибка с пакетом.

Символы ii в начале большинства строк означают "Установка успешна, пакет установлен". Это указывает, что пакет установлен правильно.

Как и в случае с apt list, вы можете использовать grep для поиска определенного пакета. Проверим наличие htop еще раз:

dpkg -l | grep htop

Вы должны увидеть строку, похожую на следующую, подтверждающую статус htop:

ii  htop                                3.0.5-1build2               amd64        interactive processes viewer

Символы ii в начале строки для htop подтверждают, что он установлен правильно.

В то время как apt list --installed часто быстрее для получения простого списка, dpkg -l предоставляет более детальные флаги статуса, которые могут быть полезны при устранении проблем с установкой.

Нажмите Продолжить, чтобы перейти к следующему шагу.

Проверка деталей пакета с помощью apt policy

На этом этапе вы будете использовать команду apt policy для получения подробной информации о пакете, включая установленную версию и доступные версии из различных репозиториев. Эта команда особенно полезна для понимания, откуда взялся пакет и какую версию будет установлена при обновлении или переустановке.

Откройте терминал. Используем apt policy для проверки пакета htop. Введите следующую команду и нажмите Enter:

apt policy htop

Вы увидите вывод, похожий на следующий:

htop:
  Installed: 3.0.5-1build2
  Candidate: 3.0.5-1build2
  Version table:
 *** 3.0.5-1build2 500
        500 http://archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
        100 /var/lib/dpkg/status

Разберем вывод:

  • Installed: Показывает версию htop, которая в настоящее время установлена на вашей системе.
  • Candidate: Показывает версию, которая будет установлена, если вы выполните sudo apt install htop или sudo apt upgrade htop. В данном случае установленная версия совпадает с версией - кандидатом.
  • Version table: Список доступных версий пакета из настроенных репозиториев программного обеспечения.
    • Строка, начинающаяся с ***, указывает на установленную версию и ее приоритет.
    • Строка, начинающаяся с 500, показывает версию, доступную из репозитория Ubuntu jammy/universe, и ее приоритет (500).
    • Строка, начинающаяся с 100, относится к установленной версии из файла статуса dpkg.

Числа (например, 500 и 100) представляют приоритет источника пакета. Источники с более высоким приоритетом предпочтительны при установке или обновлении.

apt policy - это мощная команда для отладки проблем с пакетами, понимания, почему была установлена определенная версия пакета, или просмотра доступных версий из настроенных источников.

Вы также можете выполнить apt policy без указания имени пакета, чтобы увидеть политику для всех пакетов, которая включает информацию о настроенных репозиториях и их приоритетах. Однако вывод будет очень длинным.

Теперь вы узнали три разных способа проверки статуса и деталей установленных пакетов: apt list --installed, dpkg -l и apt policy. Эти команды являются важными инструментами для управления программным обеспечением на системе Linux, основанной на Debian.

Нажмите Продолжить, чтобы завершить это практическое занятие.

Резюме

В этом практическом занятии вы узнали, как проверить, установлен ли пакет на системе Linux, используя три разных инструмента командной строки. Сначала вы использовали apt list --installed для получения полного списка всех установленных пакетов и научились фильтровать этот вывод с помощью grep для поиска определенного пакета.

Затем вы изучили dpkg -l, еще один инструмент командной строки для управления пакетами Debian, чтобы проверить статус установки пакета и просмотреть его детали. Наконец, вы использовали apt policy для проверки деталей установки пакета, включая его версию и источник, что дало более глубокое понимание того, как пакеты управляются на вашей системе.