Одни из самых частых задач, которые приходится выполнять системному администратору, - это установка, удаление и управление программным обеспечением. Иногда необходимо получить полный список установленных пакетов 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 и дополнительных утилит. Как видите, это очень просто.
Anubis – это максимально легкое open-source решение, созданное специально для защиты небольших веб-ресурсов от бесконечного потока запросов от ботов и AI парсеров. Этот инструмент можно считать "ядерным вариантом", потому что он заставляет ботов выполнять вычисления похожие на майнинг криптовалюты. Но это неплохая альтернатива для тех, кто не может или не хочет использовать Cloudflare. Посмотреть детали

















в режиме запроса (опция -q) rpm отдаёт информацию и обычному пользователю, ЕМНИП, sudo в этом случае совершенно не обязательна.
если записывать в файл список установленных в системе пакетов, то удобно будет предварительно его отсортировать:
rmp -qa | sort > packages.txtиспользовать этот файл для установки пакетов с yum мне видится слегка проблематичным, потому что список будет содержать не только названия пакетов, но ещё и их версии, при определённых обстоятельствах можно налететь на серьёзные грабли.
и да, если уж кто-то использует CentOS на сервере, очень полезно будет читать man rpm и man yum, рано или поздно это сделать в любом случае придётся - и это будет наверно наилучшим источником знаний.
rpm -qa | sort > packages.txtконечно же. в комментарии выше я опечатался.
И в чём же была опечатка?
А не подскажете, почему в списке установленных пакетов некоторые пакеты (например, jdk-18.x86_64), выделены красным цветом? (может с ними что-то не так и они неправильно установились?)