Как просмотреть установленные пакеты и приложения в Linux
Быстрые ссылки
- Что такое пакеты в Linux?
- Apt: просмотреть установленные пакеты в Ubuntu
- DNF: просмотреть установленные пакеты в Fedora
- Pacman: просмотреть установленные пакеты в Arch
- Flatpak: просмотреть установленные приложения на любой дистрибуции
- Snap: просмотреть установленные приложения на любой дистрибуции
- Зачем проверять установленные пакеты и приложения?
- Как принять взвешенное решение
Краткое содержание
- На Ubuntu и Debian используйте команду
apt list --installed. - На Fedora используйте
dnf list installed. - На Arch и производных —
pacman -Q. - Для Flatpak и Snap —
flatpak listиsnap listсоответственно. - После инвентаризации выполните категоризацию, создайте резервную копию конфигураций и осторожно удаляйте пакеты, используя соответствующие опции очистки (autoremove / autoremove-эквиваленты).

Что такое пакеты на системах Linux?
Пакет — это архив, содержащий часть программного обеспечения: бинарные файлы, метаданные и скрипты установки. Иногда пакет — это полноценное приложение, иногда — библиотека, от которой зависят другие приложения. Менеджер пакетов автоматически собирает зависимости и облегчает обновление и удаление.
Определение в одну строку: пакет — это упакованный блок программного обеспечения, который устанавливает менеджер пакетов.
Распространённые форматы и менеджеры:
- Debian/Ubuntu: DEB и apt
- RHEL/Fedora: RPM и dnf
- Arch: pacman
- Универсальные (дистрибуционно-независимые): Flatpak, Snap
Важно: количество пакетов не всегда равно количеству приложений — одно приложение может устанавливать множество вспомогательных пакетов и библиотек.
Apt: просмотреть установленные пакеты в Ubuntu
Команда для полного списка установленных пакетов (Debian/Ubuntu):
apt list --installedВывод длинный; чтобы подсчитать строки (пакеты), используйте:
apt list --installed | wc -l
Чтобы отфильтровать по имени или теме:
apt list --installed | grep xfonts
Чтобы посмотреть подробную информацию о конкретном пакете:
apt show xml-core
Советы по работе с apt:
apt list --installedдаёт быстрый перечень, ноdpkg -lпоказывает статус установки и версию в другом формате.- Для удаления пакета используйте
sudo apt remove <имя>и затемsudo apt autoremoveдля очистки неиспользуемых зависимостей.
DNF: просмотреть установленные пакеты в Fedora
Для дистрибутивов на основе Red Hat (Fedora, RHEL) используйте dnf:
dnf list installedВывод также может быть объёмным. Подсчитать строки можно так:
dnf list installed | wc -l
Фильтрация по имени:
dnf list installed | grep terminal
Чтобы получить подробности об одном пакете, указывайте его базовое имя (без архитектуры):
dnf info gnome-terminal
Полезные команды для очистки и анализа в dnf:
sudo dnf remove <пакет>— удалить пакет.sudo dnf autoremove— удалить больше не нужные зависимости.dnf repoquery --extrasи другие утилитыdnf/yumпомогают исследовать неиспользуемые пакеты.
Pacman: просмотреть установленные пакеты в Arch
В Arch и производных (Manjaro, EndeavourOS) команда для списка — это запрос -Q:
pacman -Q
Подсчитать пакеты:
pacman -Q | wc -lПросмотр информации о пакете:
pacman -Qi bash
Детали и дополнительные метаданные (при наличии):
pacman -Qii bash
Поиск «осиротевших» пакетов в Arch можно выполнять так:
pacman -QtdqА удалять вместе с конфигурациями и зависимостями удобно командой:
sudo pacman -Rns <пакет>Flatpak: просмотреть установленные приложения на любой дистрибуции
Flatpak устанавливает приложения и их рантаймы в изолированное пространство. Чтобы увидеть всё, что установлено через flatpak:
flatpak list
Чтобы вывести только приложения, без рантаймов:
flatpak list --app
Информация о конкретном пакете берётся по его ID:
flatpak info org.blender.Blender
Очистка неиспользуемых рантаймов и пакетов:
flatpak uninstall --unusedFlatpak хранит приложения отдельно от системы, поэтому удаление не ломает системные библиотеки, но нужно следить за правами доступа (используйте flatpak info --show-permissions для проверки).
Snap: просмотреть установленные приложения на любой дистрибуции
Snap — ещё одна система пакетов от Canonical, используемая по умолчанию в некоторых версиях Ubuntu.
Вывести список установленных snap-пакетов:
snap list
Получить подробности о конкретном snap:
snap info firefox
Snap хранит несколько ревизий одного пакета. Чтобы увидеть отключённые (disabled) ревизии и очистить старые:
snap list --allА для удаления старых ревизий можно применять небольшие сценарии оболочки (примерное решение — удаление отключённых ревизий). Будьте осторожны и проверяйте, какие ревизии удаляете.
Зачем проверять установленные пакеты и приложения?
Причины инвентаризации и очистки:
- Освобождение места на диске — особенно важно для портативных устройств с ограничённым объёмом хранения.
- Снижение времени обновлений: чем меньше установленных пакетов — тем быстрее обновления.
- Снижение риска конфликтов библиотек и зависимостей.
- Безопасность: уменьшение поверхности атаки за счёт удаления ненужного софта.
- Поддержка порядка и соответствия политике организации (для администраторов).
Важно: автоматические инструменты (autoremove и аналоги) помогают, но не заменяют человеческую проверку — они не знают, какие пакеты вы используете по личным привычкам.
Как принять взвешенное решение
Процесс принятия решения должен быть системным. Мини-методология:
- Инвентаризация: соберите списки из всех менеджеров пакетов (apt/dnf/pacman/flatpak/snap).
- Категоризация: разделите на группы — системные, пользовательские приложения, библиотеки, рантаймы, dev-инструменты.
- Оценка риска: какие пакеты критичны для системы? Какие связаны с серверными службами?
- Резервное копирование: сохраните конфигурации (обычно в /etc и в домашней папке) перед массовым удалением.
- Удаление и мониторинг: удаляйте небольшими партиями, проверяйте систему после каждой операции.
Критерии приёмки
- Система загружается и основные рабочие нагрузки выполняются.
- Удалённые пакеты действительно не используются (проверено логами и привычками).
- Нет сломанных зависимостей или незавершённых операций менеджера пакетов.
Когда перечисление пакетов не даёт полного ответа
Контрпримеры и ограничения:
- Приложения, установленные вручную из исходников или через make install, не будут видны менеджеру пакетов.
- Сторонние пакетные менеджеры (nix, conda, homebrew на Linux) имеют свои индексы.
- Контейнеры (Docker/Podman) содержат свои зависимости внутри образа и не видны хостовому списку пакетов.
Если вы используете несколько методов установки, объедините несколько источников данных и проверьте каталоги /usr/local, ~/.local, а также виртуальные окружения Python/Node (pip/npm/yarn).
Практические шаблоны и чек-листы
Чек‑лист для администратора перед массовой очисткой:
- Собран список всех пакетов из apt/dnf/pacman/flatpak/snap
- Помечены критичные системные пакеты
- Выполнена резервная копия конфигураций
- Запланировано окно обслуживания и отката
- Выполнен постепенный удаляющий тест на непроизводственном хосте
Роль‑ориентированные шаги:
- Для конечного пользователя: проверяйте только приложения в каталогах пользователя и flatpak/snap, не трогайте системные пакеты.
- Для разработчика: проверьте dev-инструменты и зависимости языков (pip/npm) и виртуальные окружения.
- Для системного администратора: используйте скрипты инвентаризации, создавайте списки изменений и автоматические резервные копии.
Шпаргалка команд (cheat sheet)
# Debian/Ubuntu
apt list --installed
apt show <пакет>
sudo apt remove <пакет>
sudo apt autoremove
# Fedora/RHEL
dnf list installed
dnf info <пакет>
sudo dnf remove <пакет>
sudo dnf autoremove
# Arch
pacman -Q
pacman -Qi <пакет>
# найти осиротевшие
pacman -Qtdq
sudo pacman -Rns <пакет>
# Flatpak
flatpak list
flatpak list --app
flatpak info <идентификатор>
flatpak uninstall --unused
# Snap
snap list
snap info <пакет>
# показать все ревизии
snap list --all
# удалять осторожно: snap remove <пакет>Автоматизация: сценарии и шаблоны
Пример: собрать инвентарь из нескольких менеджеров в один файл (bash):
#!/bin/bash
OUT=installed-packages-$(hostname)-$(date +%F).txt
{
echo "=== apt ==="
apt list --installed 2>/dev/null || true
echo "\n=== dnf ==="
dnf list installed 2>/dev/null || true
echo "\n=== pacman ==="
pacman -Q 2>/dev/null || true
echo "\n=== flatpak ==="
flatpak list 2>/dev/null || true
echo "\n=== snap ==="
snap list 2>/dev/null || true
} > "$OUT"
echo "Инвентарь сохранён в $OUT"Перед масштабной автоматической очисткой испытайте сценарий на тестовой машине.
Безопасность и конфиденциальность
Советы по безопасности при удалении пакетов:
- Не удаляйте пакеты, не понимая, за что они отвечают. Проверяйте
Depends/Requiredв описании пакета. - Удаляйте пакеты по одному или небольшими группами и тестируйте систему после каждой операции.
- Для Flatpak/Snap проверяйте разрешения приложений (
flatpak info --show-permissions,snap connections).
Приватность: приложения из Snap и Flatpak могут обращаться к сетевым сервисам и облачным репозиториям; при необходимости ограничивайте доступ через механизмы sandbox/permissions.
Матрица рисков и смягчающие меры
- Риск: удаление критического пакета → Смягчение: резервная копия и тестирование в изолированной среде.
- Риск: сломанные зависимости → Смягчение: использовать инструменты менеджера пакетов для проверки разрешений зависимостей перед удалением.
- Риск: потеря пользовательских настроек → Смягчение: бэкап
~/.config,/etc, и важных dot-файлов.
Примеры, которых стоит избегать
- Не используйте массовые удаляющие скрипты без просмотра списка пакетов, которые будут удалены.
- Не полагайтесь только на автоматические команды очистки: они удаляют зависимости, но не знают, используете ли вы пакет вручную.
Решение: быстрый алгоритм действий (decision tree)
Mermaid диаграмма для быстрого принятия решения:
flowchart TD
A[Начать инвентаризацию] --> B{Пакет виден в менеджере?}
B -- Да --> C{Системный или пользовательский?}
C -- Системный --> D[Отметить как критичный — не удалять]
C -- Пользовательский --> E{Используем ли мы его регулярно?}
E -- Да --> F[Оставить]
E -- Нет --> G[Резервное копирование конфигураций]
G --> H[Удалить пакет небольшими группами]
H --> I[Тестировать систему]
I --> J{Ошибки?}
J -- Да --> K[Восстановить из бэкапа / переустановить]
J -- Нет --> L[Завершено]
B -- Нет --> M[Проверить /usr/local, виртуальные env, контейнеры]
M --> N[Добавить в отчёт]Краткое резюме
- Соберите списки пакетов из всех используемых менеджеров.
- Категоризируйте пакеты: системные, пользовательские, библиотеки, рантаймы.
- Делайте резервные копии конфигураций перед удалением.
- Удаляйте постепенно и проверяйте систему после каждой операции.
- Используйте
autoremoveи эквиваленты, но проводите ручную проверку.
Важно: если пакет не виден в менеджере пакетов, возможно, он установлен вручную или внутри контейнера/виртуального окружения — такие случаи требуют отдельного расследования.
Если хотите, могу подготовить готовый сценарий для безопасной массовой очистки (bash) с интерактивным подтверждением и отчётом о рисках.
Ключевые выводы и советы:
- Начните с инвентаризации, затем категоризируйте и только после этого удаляйте.
- Используйте встроенные команды очистки, но не забывайте про ручную проверку.
- Делайте резервные копии и тестируйте изменения на ненагруженных машинах.
Похожие материалы
HTC Sense Clock & Weather на Android
Решение проблем Update Manager в Ubuntu
Как получить больше лайков в Instagram
Отключить веб‑поиск Spotlight на Mac и iPhone
Скачать видео с соцсетей на iPhone через Shortcuts