Введение
В этом практическом занятии (лабораторной работе) вы узнаете, как проверить, установлен ли определенный пакет программного обеспечения на вашей системе Linux с использованием различных инструментов командной строки. Вы изучите команду apt list --installed для получения полного списка установленных пакетов и узнаете, как фильтровать этот список с помощью grep.
Кроме того, вы научитесь проверять установку пакетов и получать подробную информацию об установленных пакетах с использованием команд dpkg -l и apt policy, что даст вам важные навыки для управления программным обеспечением на дистрибутивах Linux на основе Debian.
Проверка статуса пакета с помощью 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, показывает версию, доступную из репозитория Ubuntujammy/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 для проверки деталей установки пакета, включая его версию и источник, что дало более глубокое понимание того, как пакеты управляются на вашей системе.



