Иногда возникают ситуации, когда нужно узнать какие пакеты установлены в системе. Это может понадобиться если вы хотите сделать резервную копию установленных пакетов, проверить их целостность, перенести все пакеты в другую систему и для решения многих других задач. В 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