Как вывести список установленных пакетов в Debian
В этом руководстве мы объясним, как составить список и отфильтровать установленные пакеты в Debian. Мы также покажем вам, как проверить, установлен ли конкретный пакет, подсчитать установленные пакеты и узнать версию установленного пакета.
Знание того, как составить список установленных пакетов в вашей системе на основе Debian, может быть полезно в ситуациях, когда вам нужно установить те же пакеты на другой компьютер или если вы хотите переустановить свою систему.
Список установленных пакетов с помощью Apt
Apt — это интерфейс командной строки для системы управления пакетами, который сочетает в себе наиболее часто используемые функции из apt-get и apt-cache включая возможность перечисления установленных пакетов.
Чтобы вывести список всех пакетов, установленных в вашей системе, выполните следующую команду:
sudo apt list --installed
adduser/stable,now 3.115 all [installed] apt/stable,now 1.4.8 amd64 [installed] apt-listchanges/stable,now 3.10 all [installed] apt-utils/stable,now 1.4.8 amd64 [installed] autoconf/stable,now 2.69-10 all [installed] automake/stable,now 1:1.15-6 all [installed] autotools-dev/stable,now 20161112.1 all [installed,automatic] base-files/stable,now 9.9+deb9u5 amd64 [installed] base-passwd/stable,now 3.5.43 amd64 [installed] bash/stable,now 4.4-5 amd64 [installed]
Команда отобразит список всех установленных пакетов, включая информацию о версиях пакетов и архитектуре. В крайнем правом столбце выходных данных показано, был ли пакет автоматически установлен как зависимость от другого пакета.
Поскольку список пакетов длинный, рекомендуется передать вывод по конвейеру команде less чтобы его было легче читать:
sudo apt list --installed | less
Чтобы узнать, установлен ли конкретный пакет, используйте команду grep для фильтрации вывода. Например, чтобы узнать, установлен ли пакет tmux в системе, введите:
sudo apt list --installed | grep tmux
tmux/stable,now 2.3-4 amd64 [installed]
Приведенный выше вывод показывает, что в вашей системе установлен tmux 2.3-4.
Список установленных пакетов с помощью dpkg-query
dpkg-query — это командная строка, которая может использоваться для отображения информации о пакетах, перечисленных в базе данных dpkg.
Чтобы получить список всех установленных пакетов, введите:
sudo dpkg-query -l | less
Команда отобразит список всех установленных пакетов, включая версии пакетов, архитектуру и краткое описание.
Вы можете отфильтровать вывод dpkg-query -l с помощью команды grep :
sudo dpkg-query -l | grep package_name_to_search
Создайте список всех установленных пакетов
Следующая команда сохранит список всех установленных пакетов в вашей системе Debian в файле с именем packages_list.txt :
sudo dpkg-query -f '$n' -W > packages_list.txt
Теперь, когда у вас есть список, вы можете установить те же пакеты на новый сервер с помощью:
sudo xargs -a packages_list.txt apt install
Подсчитайте количество установленных пакетов
Чтобы узнать, сколько пакетов установлено в вашей системе, вы можете использовать ту же команду, что и при создании списка пакетов, но вместо перенаправления вывода в файл вы можете передать его команде wc для подсчета строк:
sudo dpkg-query -f '$n' -W | wc -l
Вывод покажет количество установленных пакетов:
Выводы
В этом руководстве вы узнали, как составлять список и фильтровать установленные пакеты в вашей системе Debian.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Как получить список установленных пакетов на Ubuntu / Debian Linux
Предположим я- новичек, системный администратор Ubuntu Linux. Как мне получить список всех установленных пакетов на server1 и установить их на server2? Как перечислить все установленные пакеты с помощью команды apt-get на сервере Ubuntu или Debian?
Вам нужно использовать dpkg и другие команды, как показано ниже, чтобы увидеть список всех установленных пакетов на сервере Ubuntu или Debian Linux.
Просмотр установленных пакетов
Введите следующую команду:
$ dpkg-query -l
Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ Name Version Architecture Description +++-=============================-=================================-============-============================================================================= == ii accountsservice 0.6.40-2ubuntu11.3 amd64 query and manipulate user account information ii acct 6.5.5-2.1ubuntu1 amd64 The GNU Accounting utilities for process and login accounting ii acl 2.2.52-3 amd64 Access control list utilities ii adduser 3.113+nmu3ubuntu4 all add and remove users and groups ii apparmor 2.10.95-0ubuntu2.5 amd64 user-space parser utility for AppArmor ii apt 1.2.19 amd64 commandline package manager ii apt-transport-https 1.2.19 amd64 https download transport for APT ii atop 1.26-2build1 amd64 Monitor for system resources and process activity ii base-files 9.4ubuntu4.3 amd64 Debian base system miscellaneous files ii base-passwd 3.5.39 amd64 Debian base system master password and group files ii bash 4.3-14ubuntu1.1 amd64 GNU Bourne Again SHell ii bash-completion 1:2.1-4.2ubuntu1.1 all programmable completion for the bash shell ii bc 1.06.95-9build1 amd64 GNU bc arbitrary precision calculator language ii bind9-host 1:9.10.3.dfsg.P4-8ubuntu1.4 amd64 Version of 'host' bundled with BIND 9.X ii bsdmainutils 9.0.6ubuntu3 amd64 collection of more utilities from FreeBSD
Хотите увидеть только список пакетов? Выполните:
$ dpkg-query -f '$\n' -W
unattended-upgrades ureadahead usbutils util-linux uuid-runtime vim vim-common vim-runtime vim-tiny virt-what vnstat wamerican .
Как получить список установленных пакетов
Введите следующую команду
$ dpkg --get-selections | grep -v deinstall

Другой вариант — использовать команду apt следующим образом:
$ apt list --installed
ИЛИ просто найдите все пакеты php, используя команду grep :
$ apt list --installed | grep php
Listing. accountsservice/xenial-updates,now 0.6.40-2ubuntu11.3 amd64 [installed,automatic] acl/xenial,now 2.2.52-3 amd64 [installed,automatic] adduser/xenial,xenial,now 3.113+nmu3ubuntu4 all [installed] apt/xenial-updates,now 1.2.19 amd64 [installed] apt-transport-https/xenial-updates,now 1.2.19 amd64 [installed] apt-utils/xenial-updates,now 1.2.19 amd64 [installed] atop/xenial,now 1.26-2build1 amd64 [installed] base-files/xenial-updates,now 9.4ubuntu4.3 amd64 [installed] base-passwd/xenial,now 3.5.39 amd64 [installed] .
Как сохранить список в текстовый файл
Синтаксис следующий: server1:
$ dpkg --get-selections | grep -v deinstall > mylist.txt
$ Dpkg -l | Grep ^ ii | Awk ''> mylist.txt
Теперь скопируйте файл mylist.txt на сервер с именем server2:
$ scp mylist.txt user@server2:~/
Как установить список пакетов на сервере2
На сервере server2 восстановите из файла mylist.txt, запустите:
$ dpkg --clear-selections $ sudo dpkg --set-selections < mylist.txt
$ sudo apt-get install -y $(< mylist.txt)
Наконец, запустите следующую команду, чтобы удалить ненужные пакеты:
$ sudo apt-get autoremove
Выше команда должна восстанавливать / устанавливать пакеты из резервных копий или другого сервера. Другим вариантом является использование команды aptitude следующим образом:
### Создайте список программ в файле /tmp/packages.txt #### dpkg --get-selections > /tmp/packages.txt ### копировать файл на другой сервер под названием server1.itfb.com.ua ## scp /tmp/packages.txt [email protected]:/tmp/ ### Теперь, когда ваш список скопирован, используйте apt-get / synaptic для установки пакетов #### 1. Вход на другой сервер ssh [email protected] # 2. Установите из списка aptitude install $(cat /tmp/packages.txt | awk '')
Похожие статьи:
- Какие компиляторы установлены на сервере Linux ?
- Не устанавливаются пакеты в Debian, ошибка unable to locate package
- Удаление версий пакетов из списка установленных пакетов
- Как установить Tor в Linux — Debian/Ubuntu
Как вывести список пакетов, установленных в Debian Linux

В этом руководстве мы объясним, как просматривать и фильтровать пакеты, установленные в Debian. Мы также покажем вам, как проверить, установлен ли конкретный пакет, подсчитать установленные пакеты и узнать версию установленного пакета.
Знание того, как составить список пакетов, установленных в вашей системе на основе Debian, может быть полезно в ситуациях, когда вам нужно установить те же пакеты на другом компьютере или если вы хотите переустановить свою систему.
Список пакетов, установленных с помощью Apt
Apt — это интерфейс командной строки для системы управления пакетами, который сочетает в себе функции, наиболее часто используемые apt-get а apt-cache включает опцию для вывода списка установленных пакетов.
Чтобы получить список всех пакетов, установленных в вашей системе, выполните следующую команду:
sudo apt list --installed
Listing. Done adduser/stable,stable,now 3.118 all [installed] apt-transport-https/stable,stable,now 1.8.2 all [installed] apt-utils/stable,stable,now 1.8.2 amd64 [installed] apt/stable,stable,now 1.8.2 amd64 [installed] aptitude-common/stable,stable,now 0.8.11-7 all [installed,automatic] aptitude/stable,stable,now 0.8.11-7 amd64 [installed] base-files/stable,stable,now 10.3+deb10u3 amd64 [installed] base-passwd/stable,stable,now 3.5.46 amd64 [installed] bash-completion/stable,stable,now 1:2.8-6 all [installed] bash/stable,stable,now 5.0-4 amd64 [installed] bind9-host/stable,stable,now 1:9.11.5.P4+dfsg-5.1 amd64 [installed] bsdmainutils/stable,stable,now 11.1.2+b1 amd64 [installed] bsdutils/stable,stable,now 1:2.33.1-0.1 amd64 [installed] bzip2/stable,stable,now 1.0.6-9.2~deb10u1 amd64 [installed] ca-certificates/stable,stable,now 20190110 all [installed,automatic] cloud-guest-utils/stable,stable,now 0.29-1 all [installed,automatic] cloud-image-utils/stable,stable,now 0.29-1 all [installed,automatic] cloud-init/stable,stable,now 18.3-6 all [installed] cloud-initramfs-growroot/stable,stable,now 0.18.debian7 all [installed] cloud-utils/stable,stable,now 0.29-1 all [installed] console-setup-linux/stable,stable,now 1.193~deb10u1 all [installed,automatic] console-setup/stable,stable,now 1.193~deb10u1 all [installed] coreutils/stable,stable,now 8.30-3 amd64 [installed] cpio/stable,stable,now 2.12+dfsg-9 amd64 [installed].
Команда отобразит список всех установленных пакетов, включая информацию о версии и архитектуре пакета. Крайний правый столбец в выходных данных показывает, был ли пакет автоматически установлен как зависимость от другого пакета.
Поскольку список пакетов длинный, рекомендуется направить вывод на команду less , чтобы его было легче читать:
sudo apt list --installed | less
Чтобы узнать, установлен ли конкретный пакет, используйте команду grep для фильтрации вывода. Например, чтобы узнать, установлен ли в вашей системе пакет tmux, введите:
sudo apt list --installed | grep tmux
tmux/stable,now 2.3-4 amd64 [installed]
В этом случае в моей системе вывод показывает, что в системе установлен tmux 2.3-4.
Список пакетов, установленных с помощью dpkg-query
dpkg-query — это командная строка, которую можно использовать для просмотра информации о пакетах, перечисленных в базе данных dpkg.
Чтобы получить список всех установленных пакетов, введите:
sudo dpkg-query -l | less
Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/Name Version Architecture Description +++-==============================-============================-============-=============================================================================== ii adduser 3.118 all add and remove users and groups ii apt 1.8.2 amd64 commandline package manager ii apt-transport-https 1.8.2 all transitional package for https support ii apt-utils 1.8.2 amd64 package management related utility programs ii aptitude 0.8.11-7 amd64 terminal-based package manager ii aptitude-common 0.8.11-7 all architecture independent files for the aptitude package manager ii base-files 10.3+deb10u3 amd64 Debian base system miscellaneous files ii base-passwd 3.5.46 amd64 Debian base system master password and group files.
Команда отобразит список всех установленных пакетов, включая версии пакетов, архитектуру и краткое описание.
Вы можете отфильтровать вывод dpkg-query -l с помощью команды grep :
sudo dpkg-query -l | grep package_name_to_search
Создайте список всех установленных пакетов
Следующая команда сохранит список всех пакетов, установленных в вашей системе Debian, в файле packages_list.txt :
sudo dpkg-query -f '$\n' -W > packages_list.txt
Теперь, когда у вас есть список, вы можете установить те же пакеты на новый сервер с помощью:
sudo xargs -a packages_list.txt apt install
Подсчитайте количество установленных пакетов
Чтобы узнать, сколько пакетов установлено в вашей системе, вы можете использовать ту же команду, что и при создании списка пакетов, но вместо перенаправления вывода в файл вы можете перенаправить его команде wc для подсчета строк:
sudo dpkg-query -f '$\n' -W | wc -l
Вывод покажет количество установленных пакетов:
Вывод
Из этого руководства вы узнали, как составить список и отфильтровать пакеты, установленные в вашей системе Debian.
Supportaci se ti piacciono i nostri contenuti. Grazie.
Noviello.it Newsletter
Ricevi gli ultimi approfondimenti direttamente nella tua casella di posta!
Получить список пакетов, установленных пользователем
apt-get иногда выдаёт сообщение, что некоторые пакеты были установлены автоматически и их можно удалить командой apt-get autoremove . Значит, где-то хранится признак, по какой причине был установлен тот или иной пакет. Как получить список пакетов, установленных по запросу пользователя, без автоматически добавленных по зависимостям, и, если возможно, с датой установки?
Отслеживать
67.9k 216 216 золотых знаков 77 77 серебряных знаков 219 219 бронзовых знаков
задан 28 июн 2016 в 8:23
6,894 2 2 золотых знака 26 26 серебряных знаков 56 56 бронзовых знаков
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
- с помощью «тёплого лампового» aptitude:
$ aptitude search -F '%p' '!~M ~i'
$ apt-mark showmanual
дату/время запуска (а также параметры и ещё много другой информции) программы apt-get можно найти в файлах /var/log/apt/* , программы aptitude — в файлах /var/log/aptitude* , программы dpkg (её ведь можно запустить и вручную для установки пакета из скачанного «вручную» файла) — в файлах /var/log/dpkg.log* . что плохо — все эти файлы ротируются и (насколько помню, но стоит это уточнить в настройках logrotate) со временем удаляются.
- поисковые шаблоны aptitude
- настройка того, как отображаются пакеты в aptitude
дополнение по поводу даты установки. вообще-то она не фиксируется в «базе данных» dpkg, но более или менее релевантный результат можно получить, например, по дате последней модификации файлов /var/lib/dpkg/info/имя-пакета* (например, имя-пакета[:архитектура].list , содержащий список файлов пакета).
при распаковке архивов, содержащихся в файле с пакетом, программа dpkg указанные файлы (как минимум) перезаписывает (более точный алгоритм можно узнать в документации dpkg, или непосредственно в её исходных кодах).
#!/bin/bash export arch=$(dpkg --print-architecture) dostat() < stat --printf="$1\t%y\n" $2 >apt-mark showmanual | while read p; do if [ -f /var/lib/dpkg/info/$p.list ]; then dostat $p /var/lib/dpkg/info/$p.list elif [ -f /var/lib/dpkg/info/$p:$arch.list ]; then dostat $p /var/lib/dpkg/info/$p:$arch.list else echo $p fi done
2vcard 2010-03-25 11:56:42.000000000 +0300 abcde 2013-07-20 20:50:31.000000000 +0400 abiword 2013-07-20 22:48:50.000000000 +0400 abook 2013-07-20 22:48:51.000000000 +0400 acl 2013-07-20 22:46:20.000000000 +0400 acpi 2013-07-20 20:50:34.000000000 +0400 acpid 2013-07-20 20:50:34.000000000 +0400 adduser 2013-07-20 20:48:04.000000000 +0400 alien 2013-07-20 20:50:38.000000000 +0400 alsa-base 2013-07-20 22:45:48.000000000 +0400