Как просмотреть установленные пакеты в Linux
Кратко: узнайте, какие пакеты установлены в вашей системе, с помощью встроенных менеджеров пакетов (APT, DPKG, YUM/DNF, RPM, Pacman, Zypper) и универсальных форматов (Snap, Flatpak). Сохраняйте списки в файл для миграции или восстановления. В статье — команды для всех популярных дистрибутивов, шаблоны экспорта/восстановления, чек-листы и рекомендации по часто встречающимся проблемам.

Перед установкой новой программы полезно убедиться, что она ещё не установлена. Если вы переносите конфигурацию на новый хост, список всех пакетов существенно сэкономит время. Также такой список помогает найти пакеты, которые можно удалить, чтобы освободить место.
Ниже приведены команды для получения списков установленных пакетов в популярных дистрибутивах: Debian/Ubuntu, RHEL/CentOS/Fedora, Arch Linux, openSUSE, а также для универсальных форматов пакетов Snap и Flatpak.
Основная мысль и подходы
Понимание разницы между менеджерами пакетов и универсальными форматами помогает выбрать правильный инструмент:
- Менеджеры дистрибутива (APT, DNF/YUM, Pacman, Zypper) управляют пакетами из репозиториев и зависимостями.
- Утилиты низкого уровня (dpkg, rpm) работают с локальными пакетами и метаданными.
- Snap и Flatpak — универсальные контейнированные пакеты, не всегда видимые менеджеру пакетов дистрибутива.
Принцип: сначала получаем список, затем при необходимости фильтруем, сохраняем и переносим. Для восстановления обычно требуется нормализовать имена пакетов (без версий) и убедиться, что те же репозитории доступны на новом хосте.
Важно: команды нужно выполнять с правами пользователя, указанным в примере (часто sudo). Некоторые команды показывают полные имена пакетов с версиями, другие — только имена.
Просмотр установленных пакетов на Ubuntu / Debian
APT и DPKG — стандартный набор для Debian-подобных систем. Они позволяют просматривать, устанавливать, обновлять и удалять пакеты.
- Показать все пакеты, видимые APT:
apt list --installedМетки в выводе APT:
- [installed] — пакет установлен из официального репозитория.
- [installed,automatic] — пакет установлен автоматически как зависимость.
- [installed,local] — пакет установлен локально с помощью dpkg -i.
Поиск в списке APT:
apt list --installed | grep program_nameDPKG — низкоуровневый инструмент, показывает больше информации о локальных пакетах:
dpkg -lЧтобы вывести только имена пакетов:
dpkg -l | awk '{print $2}'Экспорт списка установленных пакетов (полезно для миграции):
dpkg --get-selections > packages.dpkgВосстановление на новом хосте (после переноса файла packages.dpkg):
dpkg --set-selections < packages.dpkg
n
apt-get -u dselect-upgradeДополнительно: чтобы получить только вручную установленные пакеты (без зависимостей), используйте:
apt-mark showmanual > manual-packages.txtПримечание: dpkg –get-selections сохраняет полные селекции, но репозитории и доступность пакетов на новом хосте должны совпадать.
Просмотр установленных пакетов на RHEL/CentOS/Fedora
В RHEL-подобных системах используют DNF или YUM поверх RPM. Некоторые старые системы всё ещё используют yum, в новых чаще dnf.
Показать установленные пакеты с YUM:
yum list installedС DNF:
dnf list installedНизкоуровневый RPM-вызов отображает все установленные RPM:
rpm -qaПоказать недавно установленные пакеты (последние вверху):
rpm -qa --lastВывести в обратном порядке (старые вверху):
rpm -qa --last | tacЭкспорт списка RPM:
rpm -qa > rpm-list.txtОсобенности восстановления: rpm -qa выдаёт пакеты с версиями и релизами (например, name-1.2.3-1.el8.x86_64). Для установки по списку обычно нужно извлечь базовые имена без версий или использовать репозитории для установки соответствующих пакетов. Восстановление часто требует обработки списка перед подачей в dnf/yum.
Совет: для автоматической установки пакетов без версий можно попытаться извлечь имена и передать в dnf:
cat rpm-list.txt | sed -E 's/-[0-9]+.*$//' | sort -u > rpm-names.txt
sudo dnf install -y $(cat rpm-names.txt)Однако такой подход может дать нежелательные результаты, если имена пакетов не уникальны или в репозиториях отсутствуют нужные версии.
Просмотр установленных пакетов на Arch Linux (Pacman)
Pacman — менеджер пакетов по умолчанию для Arch, Manjaro, EndeavourOS.
Показать все установленные пакеты:
pacman -QПоказать только явно установленные пользователем пакеты:
pacman -QeПоказать «foreign» пакеты (установленные вручную из AUR или внешних репозиториев):
pacman -QmНайти пакет по имени:
pacman -Q | grep Экспорт списка для миграции (только явные пакеты):
pacman -Qqe > pkglist.txtВосстановление на новом хосте:
pacman -S --needed - < pkglist.txtЭтот способ удобен: pacman корректно устанавливает пакеты из репозиториев и игнорирует уже установленные (–needed).
Просмотр установленных пакетов на openSUSE (Zypper)
Zypper — CLI-менеджер пакетов в openSUSE.
Показать только установленные пакеты:
zypper search --installed-onlyКороткая форма:
zypper se -iПроверить наличие конкретного пакета:
zypper se -i Вывести информацию о пакете:
zypper info Экспорт и восстановление: zypper также позволяет установить пакеты по списку, но формат вывода может требовать предобработки имен пакетов перед установкой. Частый шаблон экспорта:
zypper se -i | awk '{print $NF}' > zypper-list.txt
sudo xargs -a zypper-list.txt -r zypper install -yПросмотр установленных пакетов Snap
Snap — универсальный менеджер пакетов, доступный во многих дистрибутивах. Snap пакеты содержат зависимости и запускаются контейнировано.
Показать установленные snap-пакеты:
snap listВывод включает имя пакета, версию, ревизию, канал и издателя. Snap-пакеты не отображаются в apt/dnf/pacman, поэтому при миграции их нужно экспортировать отдельно:
snap list --all > snap-list.txtДля повторной установки на новом хосте можно использовать цикл по именам из snap-list.txt и выполнять snap install
Просмотр установленных Flatpak пакетов
Flatpak похож по смыслу на Snap: приложения и рантаймы поставляются отдельно и не зависят от системного менеджера пакетов.
Показать все Flatpak пакеты и рантаймы:
flatpak listПоказать только приложения:
flatpak list --appПоказать только рантаймы:
flatpak list --runtimeВывести только имена приложений:
flatpak --columns=name list > flatpak-apps.txtВернуть детальную информацию о конкретном пакете:
flatpak info Сохранение списка установленных пакетов в файл
Общая практика — перенаправлять вывод в файл для последующего анализа или для передачи на другой хост:
apt list --installed > installed_apt.txt
pacman -Qqe > installed_pacman.txt
rpm -qa > installed_rpm.txt
snap list > installed_snap.txt
flatpak --columns=name list > installed_flatpak.txtВажно: храните такие списки вместе с информацией о репозиториях и версиях ОС, иначе восстановление может оказаться затруднено.
Подсчёт числа установленных пакетов
Классический unix-паттерн — подсчитать строки в выводе через wc -l:
zypper search --installed-only | wc -l
apt list --installed | wc -l
pacman -Q | wc -lУчтите, что разные команды выводят заголовки и дополнительные строки. Для точного подсчёта используйте фильтрацию и подсчёт уникальных имён.
Практические шаблоны и сценарии (шпаргалка)
Шаблоны помогут быстро экспортировать/восстановить пакеты для популярных задач.
- Полный экспорт APT и ручное восстановление:
# На старом хосте
sudo dpkg --get-selections > packages.dpkg
sudo apt-mark showmanual > manual-packages.txt
# Скопировать файлы на новый хост и выполнить
sudo dpkg --set-selections < packages.dpkg
sudo apt-get -u dselect-upgrade
# Затем установить вручную выбранные пакеты
sudo xargs -a manual-packages.txt apt-get install -y- Arch — экспорт и восстановление явных пакетов:
# Экспорт
pacman -Qqe > pkglist.txt
# Восстановление на новом хосте
sudo pacman -S --needed - < pkglist.txt- Простая миграция Flatpak:
flatpak --columns=name list --app > flatpak-apps.txt
# На новом хосте
while read app; do
flatpak install flathub $app -y
done < flatpak-apps.txt- Snap: сохранить имена и каналы, затем установить по списку:
snap list --all | awk '{print $1" "$(NF)}' > snap-list.txt
# формат можно парсить, затем snap install --channel= Замечание: форматы вывода могут меняться между версиями инструментов. Перед массовой установкой проверьте 5-10 пакетов вручную.
Роли и чек-листы
Системный администратор:
- Собрать список всех пакетов и сохранить репозиторные конфиги.
- Экспортировать списки сервисов и unit-файлов systemd.
- Проверить установки пакетов, которые были установлены вручную.
- Сохранить локальные .deb/.rpm пакеты отдельно.
Разработчик/рабочая станция:
- Экспортировать только явно установленные пользовательом приложения.
- Собрать список глобально установленных инструментов разработки и версий (python, node, gcc).
- Проверить контейнеризированные приложения и менеджеры пакетов в них.
Модель принятия решения — когда какой инструмент использовать
flowchart TD
A[Нужен список установленных пакетов?] --> B{Тип системы}
B --> |Debian/Ubuntu| C[apt/dpkg]
B --> |RHEL/CentOS/Fedora| D[dnf/yum/rpm]
B --> |Arch| E[pacman]
B --> |openSUSE| F[zypper]
B --> |Универсальные| G{Snap/Flatpak}
G --> |Snap| H[snap list]
G --> |Flatpak| I[flatpak list]
C --> J[Экспортировать и сохранить репозитории]
D --> J
E --> J
F --> JЧастые ошибки и как их избежать
- Неполный список при использовании snap/flatpak вместе с системным менеджером — сохраняйте оба списка.
- Попытка восстановить пакеты с точными версиями, которые недоступны в новых репозиториях — лучше установить актуальные версии из репозиториев и сохранить конфиги отдельных пакетов.
- Неправильный формат при передаче списка RPM-пакетов — rpm -qa выдаёт версии; при установке по именам версии нужно удалить.
- Права доступа: многие команды требуют sudo, иначе вывод может быть неполным.
Важно: перед массовой установкой пакетов на продуктивном сервере сначала протестируйте процесс на тестовой машине.
Критерии приёмки
- Список успешно экспортирован для текущей машины (файл существует и не пустой).
- При восстановлении пакетный менеджер корректно устанавливает ключевые приложения без ошибок зависимостей.
- Репозитории и источники пакетов задокументированы и доступны на новом хосте.
Краткая словарная памятка (1 строка каждая)
- Пакет: готовый набор программ, библиотек и метаданных для установки.
- Репозиторий: источник пакетов для менеджера.
- Депенденси: зависимость, необходимая пакету.
- Рантайм: рантайм-пакет в Flatpak, набор зависимостей для приложений.
- Snap: контейнированный пакет с зависимостями.
- RPM/DEB: форматы пакетов для соответствующих менеджеров.
Советы по безопасности и приватности
- Экспорт списков пакетов не копирует приватные ключи или данные конфигурации. Отдельно сохраните конфигурационные файлы и секреты.
- При миграции проверьте доступность приватных репозиториев и учетных данных к ним.
Итог и рекомендации
- Всегда сохраняйте списки пакетов и конфигурации перед крупными изменениями.
- Для восстановления используйте формат и инструмент, соответствующий дистрибутиву. Для независимых приложений — список snap/flatpak отдельно.
- Тестируйте миграцию на контролируемой машине.
Важно: список пакетов — только часть полной миграции. Для полноты сохраняйте файлы конфигураций, данные и репозитории.
Краткое резюме ниже.
Summary:
- Получите список пакетов соответствующим инструментом (apt, dpkg, dnf, rpm, pacman, zypper, snap, flatpak).
- Сохраните список в файл и задокументируйте репозитории.
- Перед восстановлением отфильтруйте имена и протестируйте установку.
Похожие материалы
Двойная экспозиция в Photoshop — пошагово
Записать голосовое сопровождение в PowerPoint
Добавить карту в Google Wallet через фото
Рутины Google Home: автоматизация дома
Загрузочная USB с Windows 10 на Mac — пошагово