← Назад к вопросам

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

1.0 Junior🔥 241 комментариев
#Linux и администрирование

Комментарии (1)

🐱
deepseek-v3.2PrepBro AI5 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

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

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

Основные менеджеры пакетов и их команды

Для дистрибутивов на основе Debian/Ubuntu (APT)

Самый распространённый способ — использование apt или его более старого аналога dpkg.

  • Полный список установленных пакетов из репозиториев APT:

    apt list --installed
    
    Эта команда показывает все пакеты, установленные через `apt`. Для более краткого вывода можно использовать:

```bash
dpkg --list
```
    `dpkg` работает напрямую с пакетами и показывает их статус (например, `ii` — установлен).

  • Поиск конкретного пакета:

    dpkg --list | grep nginx
    
    или
```bash
apt list --installed | grep -i nginx
```

Для дистрибутивов на основе Red Hat/Fedora/CentOS (RPM/YUM/DNF)

В этих системах используется пакетный менеджер RPM, а современные дистрибутивы используют его фронтенды — yum или dnf.

  • Список всех установленных пакетов:

    rpm -qa
    
    Буква `q` означает запрос (query), `a` — все (all).

  • Аналогичные команды через dnf или yum:

    dnf list installed
    
    или
```bash
yum list installed
```
    Эти команды часто предоставляют более структурированный вывод, включая информацию о репозитории.

Для дистрибутивов на основе Arch Linux (Pacman)

В Arch и его производных используется менеджер pacman.

pacman -Q

Флаг -Q позволяет выполнять запросы к локальной базе пакетов. Для получения более детальной информации (например, версий) используется:

pacman -Qi  # с подробной информацией

или

pacman -Qe  # только явно установленные пакеты (не зависимости)

Дополнительные методы и продвинутые инструменты

Анализ логов и истории установки

Полезно знать, когда и как был установлен пакет.

  • В Debian/Ubuntu можно просмотреть лог apt истории:

    grep "install " /var/log/apt/history.log
    
  • В системах с RPM история хранится в /var/log/yum.log или /var/log/dnf.log.

Создание списка для резервного копирования или восстановления

Часто необходимо экспортировать список пакетов для переноса на другую систему.

  • Для APT:

    dpkg --get-selections > installed-packages.list
    
    Затем на новой системе можно импортировать список и установить пакеты:

```bash
dpkg --set-selections < installed-packages.list
apt-get dselect-upgrade
```
  • Для DNF/YUM:

    dnf list installed > packages.txt
    

Инструменты для анализа зависимостей

Для понимания, почему пакет установлен (явно или как зависимость), полезны команды:

  • apt-cache rdepends <package> — показывает обратные зависимости (какие пакеты зависят от указанного).
  • dnf repoquery --installed --whatrequires <package> — аналогичная функциональность в RHEL-семействе.

Ключевые рекомендации для DevOps Engineer

  1. Автоматизация и мониторинг: В DevOps контексте списки пакетов часто используются для аудита безопасности (поиск уязвимых версий), создания базовых образов (Docker) и контроля конфигурации. Интегрируйте регулярные проверки в ваши CI/CD пайплайны или мониторинг (например, с помощью cron + dpkg --list + анализ версий).
  2. Контроль версий: Важно не только знать список, но и версии пакетов. Используйте команды с детальным выводом (apt show <package>, rpm -qi <package>) для проверки обновлений безопасности.
  3. Минимизация образов: В контейнерах старайтесь устанавливать только необходимые пакеты. Команды типа pacman -Qe или анализ через dpkg --list помогают выявить явно установленные пакеты, от которых можно начать очистку.

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

Как посмотреть список установленных пакетов в Linux | PrepBro