Иногда возникают ситуации, когда нужно узнать какие пакеты установлены в системе. Это может понадобиться если вы хотите сделать резервную копию установленных пакетов, проверить их целостность, перенести все пакеты в другую систему и для решения многих других задач. В Debian для этого можно использовать несколько методов.
В сегодняшней статье мы рассмотрим как посмотреть список установленных пакетов Debian с помощью терминала, в интерфейсе curses, а также в графическом интерфейсе. Такие списки можно использовать не только для резервного копирования, но и для того, чтобы просто перебрать и удалить ненужные программы, тем самым очистив систему от мусора.
Содержание статьи
Список установленных пакетов Debian
Самый первый способ посмотреть установленные пакеты Debian, это утилита dpkg. Она может применяться не только в Debian, а во всех, основанных на нем дистрибутивах:
dpkg --get-selections | grep -v deinstall
Полученный список можно сразу же сохранить в файл, чтобы потом его использовать:
dpkg --get-selections | grep -v deinstall > mylist.txt
Можно также убрать всю лишнюю информацию и сохранить только имена пакетов:
dpkg -l | grep ^ii | awk '{ print $2}' > mylist.txt
Следующий способ решения этой задачи - использование утилиты dpkg-query. Она похожа на предыдущий вариант, но немного проще. Такая команда отобразит все установленные пакеты вместе с информацией о них:
dpkg-query -l
Здесь тоже можно выбрать только имена пакетов с помощью опции -f:
dpkg-query -f '${binary:Package}\n' -W
Третий метод - это утилита apt, которой мы привыкли пользоваться для установки приложений, она имеет команду list:
apt list --installed
Далее, можно отфильтровать только пакеты, имя которых содержит определенные символы:
apt list --installed | grep python
Мы более подробно рассматривали apt в статье установка пакетов в Debian. Еще одна интересная возможность apt - посмотреть какие пакеты были установлены вручную. Для этого наберите:
apt-mark showmanual
И еще один вариант с использованием apt:
apt-cache pkgnames
Утилита для управления пакетами aptitude тоже позволяет вывести список установленных пакетов:
aptitude search '~i!~M'
Также aptitude может работать в режиме curses, что очень удобно:
Последний способ посмотреть список установленных пакетов - это файл /var/lib/apt/extended_states. Это база данных, в которой содержится установленные программы debian в таком формате:
cat /var/lib/apt/extended_states

Восстановление списка установленных пакетов
Многие пользователи создают список пакетов не просто чтобы посмотреть, а для будущего восстановления. Если вы делали список с помощью dpkg, то его можно очень просто восстановить в системе с помощью аналогичной команды:
sudo dpkg --clear-selections
$ sudo dpkg --set-selections < mylist.txt
Все очень просто. Чтобы установить пакеты после добавления их в список используйте команду:
sudo apt dselect-upgrade
Если же у вас просто есть список имен пакетов, то восстанавливать его нужно немного по-другому. Просто передайте все эти имена команде apt для установки:
xargs < mylist.txt apt install -y
Выводы
В этой статье мы рассмотрели как посмотреть список установленных пакетов Debian. Это может быть очень полезно и выполняется достаточно просто. Надеюсь, эта информация была полезной для вас.
На завершение видео про установку и удаление пакетов:
https://www.youtube.com/watch?v=qrPNkhaqi9U
Anubis – это максимально легкое open-source решение, созданное специально для защиты небольших веб-ресурсов от бесконечного потока запросов от ботов и AI парсеров. Этот инструмент можно считать "ядерным вариантом", потому что он заставляет ботов выполнять вычисления похожие на майнинг криптовалюты. Но это неплохая альтернатива для тех, кто не может или не хочет использовать Cloudflare. Посмотреть детали
















Вместо dpkg-query -l проще dpkg -l
пацаны, вы греп забыли
apt list --installed | python
Спасибо за полезную информацию. Хорошо, если Вы будете почаще писать про Дебиан. С ней часто возникает немало проблем. Помню, как решил с ней познакомиться, после привычных *бунту, установил - а ничего, что было сразу было под рукой в *бунту - не оказалось. даже apt. хоть в той я умело освоился. Дебиан как никак "прародитель" всея *бунту).
можно по другому. Резуультат тот же, но команде более понятна.
---
вместо
dpkg -l | grep ^ii | awk '{ print $2}' > awk-list.txt
---
применить
---
dpkg -l | grep ^ii | cut -f3 -d" "> cut-list.txt
---