Одни из самых частых задач, которые приходится выполнять системному администратору, - это установка, удаление и управление программным обеспечением. Иногда необходимо получить полный список установленных пакетов CentOS 7. Это нужно для создания резервной копии системы или для поиска определённого пакета.
В этой небольшой статье мы разберём несколько способов посмотреть установленные программы в CentOS через терминал.
Содержание статьи
Установленные пакеты CentOS 7
1. Пакетный менеджер RPM
RPM или Red Hat Package Manager - это низкоуровневый пакетный менеджер, который используется во всех дистрибутивах семейства Red Hat. Его можно сравнить с аналогичным инструментом в Ubuntu - dpkg. Уже существуют более высокоуровневые утилиты, например тот же YUM или DNF, но при необходимости можно использовать и rpm.
Чтобы посмотреть список всех установленных пакетов, необходимо использовать опцию -q, которая указывает, что надо выполнить запрос, вместе с опцией -a, она отображает все установленные пакеты:
sudo rpm -qa
Если вы хотите найти определённую группу пакетов, можно отфильтровать вывод с помощью grep:
sudo rpm -qa | grep google
Для сохранения вывода в файл используйте такую команду:
sudo rpm -qa > packages.txt
Позже этот список можно использовать для автоматической установки всех этих пакетов в другой системе. Для установки нужно использовать YUM:
sudo yum install $(cat packages.txt)
С помощью опции --last можно вывести время установки каждого пакета:
sudo rpm -qa --last
Посмотреть более подобную информацию об определённом пакете можно с помощью опции -i:
sudo rpm -qi wget
С помощью опции -l можно вывести список файлов пакета centos:
rpm -ql wget
2. Пакетный менеджер YUM
Это основной пакетный менеджер, который используется в CentOS 7. Чтобы получить список установленных пакетов с помощью YUM, необходимо использовать команду list:
sudo yum list installed
Также вы можете получить список всех доступных пакетов:
sudo yum list available
С помощью параметра update можно найти все пакеты, для которых есть обновления:
sudo yum list update
Вывести все пакеты можно с помощью параметра all:
sudo yum list all
Если вы хотите получить только список пакетов для установки, используйте awk:
sudo yum list installed | awk '{print $1}'
3. Дополнительные утилиты YUM-Utils
Пакет YUM-Utils - это набор утилит, реализующих дополнительные возможности для управления репозиториями, установки и отладки пакетов, поиска пакетов и много другого. Для установки набора программ используйте:
sudo yum install yum-utils
Чтобы посмотреть установленные пакеты CentOS, используйте команду repoquery:
sudo repoquery -a --installed
С помощью команды yumdb вы можете вывести все пакеты, установленные из определённого репозитория:
sudo yumdb search from_repo base
Выводы
В этой небольшой статье мы рассмотрели, как посмотреть установленные пакеты СentOS 7 с помощью пакетного менеджера RPM, YUM и дополнительных утилит. Как видите, это очень просто.
в режиме запроса (опция -q) rpm отдаёт информацию и обычному пользователю, ЕМНИП, sudo в этом случае совершенно не обязательна.
если записывать в файл список установленных в системе пакетов, то удобно будет предварительно его отсортировать:
rmp -qa | sort > packages.txt
использовать этот файл для установки пакетов с yum мне видится слегка проблематичным, потому что список будет содержать не только названия пакетов, но ещё и их версии, при определённых обстоятельствах можно налететь на серьёзные грабли.
и да, если уж кто-то использует CentOS на сервере, очень полезно будет читать man rpm и man yum, рано или поздно это сделать в любом случае придётся - и это будет наверно наилучшим источником знаний.
rpm -qa | sort > packages.txt
конечно же. в комментарии выше я опечатался.
И в чём же была опечатка?
А не подскажете, почему в списке установленных пакетов некоторые пакеты (например, jdk-18.x86_64), выделены красным цветом? (может с ними что-то не так и они неправильно установились?)