Выводим список установленных пакетов в Linux по дате
Sep 20, 2018 07:02 · 536 words · 3 minute read tips ubuntu debian centos
Порой необходимо узнать когда тот или иной пакет был установлен в операционной системе (например, в целях аудита). В данной статье рассмотрим как вывести список установленных пакетов в Linux, отсортированный по дате установки — давайте разберемся!
Как всем известно, в разных дистрибутивах Linux используются различные пакетные менеджеры, поэтому, в зависимости от операционной системы, команды будут отличаться.
Например, если вы используете дистрибутив Debian (и производные — Ubuntu, Kubuntu, Xubuntu и т.д.), то для вывода списка установленных пакетов достаточно запустить команду:
grep -i "installed" /var/log/dpkg.log
Как можно догадаться, данная команда выведет список пакетов, если их установка зафиксирована в файле /var/log/dpkg.log . Так как в Linux используется ротация логов с целью экономии места на диске, старые установочные логи хранятся в архивах. Если нужно узнать список вообще всех установленных пакетов в хронологическом порядке, то стоит воспользоваться командой:
zcat /var/log/dpkg.log.* | grep -i "installed"
Результат выполнения команды будет примерно следующим:
. 2018-09-12 09:41:34 status installed libcryptsetup12:amd64 2:2.0.2-1ubuntu1.1 2018-09-12 09:41:34 status installed libc-bin:amd64 2.27-3ubuntu1 2018-09-12 09:42:02 status installed man-db:amd64 2.8.3-2 2018-09-12 09:42:02 status installed initramfs-tools-bin:amd64 0.130ubuntu3.3 2018-09-12 09:42:08 status installed google-cloud-sdk:all 216.0.0-0 2018-09-12 09:42:08 status installed initramfs-tools-core:all 0.130ubuntu3.3 2018-09-12 09:42:08 status installed initramfs-tools:all 0.130ubuntu3.3 2018-09-12 09:42:21 status installed initramfs-tools:all 0.130ubuntu3.3
Команда zcat читает содержимое заархивированных файлов, после чего вывод перенаправляется на обработку команде grep . Если нужно найти время установки конкретного пакета, название (или хотя бы часть) которого вы знаете, можно сделать так:
zcat /var/log/dpkg.log.* | grep -i "installed" | grep "google-cloud" 2018-09-12 09:42:08 status installed google-cloud-sdk:all 216.0.0-0
В качестве альтернативы еще можно использовать команду zgrep , например:
zgrep "installed" /var/log/dpkg.log*
Вывод команды будет несколько отличаться:
. /var/log/dpkg.log.9.gz:2018-01-15 08:35:54 status installed man-db:amd64 2.7.6.1-2 /var/log/dpkg.log.9.gz:2018-01-15 08:35:54 status installed libpython2.7-stdlib:amd64 2.7.14-2ubuntu2 /var/log/dpkg.log.9.gz:2018-01-15 08:35:55 status installed python2.7:amd64 2.7.14-2ubuntu2 /var/log/dpkg.log.9.gz:2018-01-15 08:35:55 status installed libpython-stdlib:amd64 2.7.14-2ubuntu1 /var/log/dpkg.log.9.gz:2018-01-15 08:36:00 status installed google-cloud-sdk:all 184.0.0-0 /var/log/dpkg.log.9.gz:2018-01-15 08:36:00 status installed python:amd64 2.7.14-2ubuntu1 /var/log/dpkg.log.9.gz:2018-01-15 08:36:00 status installed python-crcmod:amd64 1.7-2build4
Как видим, в данном примере в начале строки также присутствует имя файла, в котором нашлась соответствующая запись.
Для RPM-based дистрибутивов (RedHat, CentOS, Scientific Linux, Fedora, SUSE) вывести список установленных пакетов по дате можно с помощью следующей команды:
rpm -qa --last
Команда покажет примерно следующий результат:
. libxml2-2.9.1-6.el7_2.3.x86_64 Sat 09 Dec 2017 10:15:00 AM EAT findutils-4.5.11-5.el7.x86_64 Sat 09 Dec 2017 10:15:00 AM EAT libgpg-error-1.12-3.el7.x86_64 Sat 09 Dec 2017 10:14:59 AM EAT libffi-3.0.13-18.el7.x86_64 Sat 09 Dec 2017 10:14:59 AM EAT libcap-ng-0.7.5-4.el7.x86_64 Sat 09 Dec 2017 10:14:59 AM EAT libattr-2.4.46-12.el7.x86_64 Sat 09 Dec 2017 10:14:59 AM EAT libacl-2.2.51-12.el7.x86_64 Sat 09 Dec 2017 10:14:59 AM EAT dbus-libs-1.6.12-17.el7.x86_64 Sat 09 Dec 2017 10:14:59 AM EAT sed-4.2.2-5.el7.x86_64 Sat 09 Dec 2017 10:14:58 AM EAT
Для поиска даты установки конкретного пакета, достаточно добавить его название в качестве параметра к команде выше, например:
rpm -qa --last postfix3 postfix3-3.2.0-1.gf.el7.x86_64 Thu 25 May 2017 01:04:35 AM EAT
В дистрибутивах Arch Linux (в том числе Antergos, Manjaro, Apricity, Ninja OS) для решения нашей задачи можно воспользоваться утилитой expac . Для получения информации в понятном формате, вызывать данную утилиту необходимо с использованием параметра:
expac --timefmt='%F %T' '%l %n'
Можно дополнить данный вызов сортировкой и дополнительными фильтрами — все зависит только от ваших требований. Например, так можно вывести 5 последних установленных пакетов в системе:
expac --timefmt='%F %T' '%l %n' | sort -n | tail -n 5 2018-01-15 14:41:15 webkitgtk 2018-01-16 09:18:26 babl 2018-01-16 09:18:26 gegl02 2018-01-16 09:18:26 lcms 2018-01-16 09:18:26 libspiro
Read more
© Copyright 2023 Yevhen Lebid
Как вывести список установленных пакетов в Linux

Вы могли установить много приложений в вашей системе Linux. Это краткое руководство объясняет, как вывести список всех установленных пакетов в Linux из командной строки с примерами.
Команды для отображения всех установленных пакетов различаются в зависимости от типа используемого вами менеджера пакетов. Я включил примеры команд для всех популярных менеджеров пакетов.
1. Вывести список установленных пакетов в Arch Linux с помощью команды pacman
Pacman — это менеджер пакетов по умолчанию для Arch Linux и его производных, таких как Manjaro Linux.
Чтобы вывести список всех установленных пакетов, используемых pacman в Arch Linux и его вариантах, запустите:
$ pacman -Q

Если вы хотите просмотреть страницу вывода за страницей, направьте вывод в команду more , как показано ниже:
$ pacman -Q | more
Чтобы перечислить только явно установленные пакеты и версии:
$ pacman -Qe
Чтобы перечислить только общее количество установленных пакетов в Arch Linux, направьте вывод pacman в команду wc :
$ pacman -Q | wc -l 134
Как видно из вышеприведенного вывода, я установил 134 пакета в свою систему Arch Linux.
2. Список установленных пакетов в Alpine Linux с помощью команды apk
Apk, сокращение от Alpine Package Manager, является менеджером пакетов по умолчанию для Alpine Linux.
Команда для просмотра списка установленных пакетов в Alpine Linux:
$ apk info

Если вы хотите просмотреть список установленных пакетов, а также номер версии и описание пакета, используйте флаг -vv , как показано ниже:
$ apk info -vv
lm_sensors-3.4.0-r6 - Collection of user space tools for general SMBus access and hardware monitoring. man-1.14.3-r0 - dummy package for upgrade compatibility. this can safely be removed libcrypto1.1-1.1.1i-r0 - Crypto library from openssl libssl1.1-1.1.1i-r0 - SSL shared libraries [. ]
Чтобы перечислить только общее количество всех установленных пакетов в Alpine Linux, передайте вывод apk info в команду wc , как показано ниже:
$ apk info | wc -l 86
3. Перечислите установленные пакеты в Debian, Ubuntu с помощью команды apt
Apt предоставляет интерфейс командной строки высокого уровня для системы управления пакетами в Debian, Ubuntu и других системах на основе Debian.
Чтобы отобразить список установленных пакетов в Debian, Ubuntu, Linux Mint и других системах на основе DEB, запустите:
$ apt list —installed

Отобразите общее количество установленных пакетов в системах на основе Debian, направьте вывод команды apt команде wc , как показано ниже:
$ apt list --installed | wc -l 2575
4. Перечислите установленные пакеты в Debian, Ubuntu с помощью команды dpkg.
Dpkg — это инструмент командной строки для установки, сборки, удаления пакетов Debian и управления ими.
Чтобы вывести список всех установленных пакетов с версиями и подробностями с помощью команды dpkg , запустите:
$ dpkg -l

Кроме того, вы можете использовать команду dpkg-query для вывода списка всех установленных пакетов Debian.
$ dpkg-query -l

Укажите только общее количество установленных пакетов в системах на основе Debian:
$ dpkg -l | wc -l 2668
$ dpkg-query -l | wc -l 2668
5. Перечислите установленные пакеты в RHEL, Fedora, CentOS с помощью команды yum.
Yum, расшифровывается как Yellowdog Updater, Modified, — это утилита управления из командной строки для установки и управления пакетами в системах на основе Red Hat. Теперь он заменен на dnf в последних версиях RHEL и CentOS.
Чтобы найти список установленных пакетов в Fedora, RHEL и его клонах, таких как CentOS, запустите:
$ yum list installed

Список только общее количество установленных пакетов с использованием команд yum и wc :
$ yum list installed | wc -l 347
6. Перечислите установленные пакеты в RHEL, Fedora, CentOS с помощью команды dnf
DNF — это версия YUM следующего поколения, и он был менеджером пакетов по умолчанию, начиная с Fedora 22, RHEL 8 и CentOS 8. Использование DNF такое же, как и в Yum.
Чтобы найти список установленных пакетов в RHEL, Fedora, CentOS с помощью dnf, выполните:
$ dnf list installed
Если вы хотите отобразить только общее количество пакетов с помощью команды dnf , запустите:
$ dnf list installed | wc -l
7. Список установленных пакетов в openSUSE с помощью команды zypper
Zypper — это менеджер пакетов командной строки по умолчанию для установки и управления пакетами в SUSE и openSUSE.
Чтобы просмотреть список установленных пакетов в openSUSE zypper, запустите:
$ zypper se --installed-only
8. Вывести список установленных пакетов в Linux с помощью команды rpm
RPM команда, означает Red Hat Package Manager, используется для установки и управления приложениями из командной строки в системах Redhat основе.
Чтобы вывести список всех пакетов RPM, установленных в вашей системе, выполните:
$ rpm -qa
Чтобы просмотреть вывод страницы за страницей, направьте вывод по конвейеру в moreкоманду:
$ rpm -qa | more
Вы также можете все установленные пакеты, самые свежие из которых находятся вверху, используя флаг —last , как показано ниже:
$ rpm -qa --last
Следующие два метода являются универсальными. Вы можете использовать эти команды в любых системах, в которых установлены инструменты snapили flatpak.
9. Список пакетов, установленных с помощью оснастки в Linux
Snap — это система развертывания программного обеспечения и управления пакетами, разработанная Canonical.
Чтобы вывести список всех приложений Snap, установленных в вашей системе, запустите:
$ snap list
Name Version Rev Tracking Publisher Notes chromium 87.0.4280.88 1424 latest/stable canonical* - core 16-2.48 10444 latest/stable canonical* core core18 20201210 1944 latest/stable canonical* base gnome-3-26-1604 3.26.0.20200529 100 latest/stable/… canonical* - gnome-3-28-1804 3.28.0-19-g98f9e67.98f9e67 145 latest/stable canonical* - gnome-3-34-1804 0+git.3556cb3 60 latest/stable canonical* - gnome-system-monitor 3.36.0-12-g35f88a56d7 148 latest/stable/… canonical* - gtk-common-themes 0.1-50-gf7627e4 1514 latest/stable/… canonical* - multipass 1.5.0 2907 latest/stable canonical* -

10. Вывести список пакетов, установленных с помощью Flatpak в Linux
Flatpak — это независимая от платформы система управления пакетами для создания, установки и запуска изолированных настольных приложений и сред выполнения в Linux.
Чтобы вывести список всех установленных приложений Flatpak в Linux, запустите:
$ flatpak list --app
Name Application ID Version Branch Installation Fondo com.github.calo001.fondo 1.5.1 stable system Flatseal com.github.tchx84.Flatseal 1.6.5 stable system FontFinder io.github.mmstick.FontFinder 2.0.0 stable system Giara org.gabmus.giara 0.3 stable system Solanum org.gnome.Solanum 1.1.0 stable system

Обратите внимание, что в приведенной выше команде будут перечислены только пакеты, которые установлены исключительно с приложением flatpak.
Для получения дополнительных сведений смотрите справочные страницы соответствующих команд.
Насколько публикация полезна?
Нажмите на звезду, чтобы оценить!
Средняя оценка / 5. Количество оценок:
Оценок пока нет. Поставьте оценку первым.
Список установленных пакетов Debian
Иногда возникают ситуации, когда нужно узнать какие пакеты установлены в системе. Это может понадобиться если вы хотите сделать резервную копию установленных пакетов, проверить их целостность, перенести все пакеты в другую систему и для решения многих других задач. В Debian для этого можно использовать несколько методов.
В сегодняшней статье мы рассмотрим как посмотреть список установленных пакетов Debian с помощью терминала, в интерфейсе curses, а также в графическом интерфейсе. Такие списки можно использовать не только для резервного копирования, но и для того, чтобы просто перебрать и удалить ненужные программы, тем самым очистив систему от мусора.
Table of Contents
- Список установленных пакетов Debian
- Восстановление списка установленных пакетов
- Выводы
Список установленных пакетов 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. Она похожа на предыдущий вариант, но немного проще. Такая команда отобразит все установленные пакеты вместе с информацией о них:

Здесь тоже можно выбрать только имена пакетов с помощью опции -f:

Третий метод — это утилита apt, которой мы привыкли пользоваться для установки приложений, она имеет команду list:
apt list —installed

Далее, можно отфильтровать только пакеты, имя которых содержит определенные символы:
apt list —installed | grep python

Мы более подробно рассматривали apt в статье установка пакетов в Debian. Еще одна интересная возможность apt — посмотреть какие пакеты были установлены вручную. Для этого наберите:

И еще один вариант с использованием apt:

Утилита для управления пакетами aptitude тоже позволяет вывести список установленных пакетов:
aptitude search ‘~i!~M’

Также aptitude может работать в режиме curses, что очень удобно:

Последний способ посмотреть список установленных пакетов — это файл /var/lib/apt/extended_states. Это база данных, в которой содержится установленные программы debian в таком формате:
Package: имя_пакета
Architecture: архитектура
Auto-Installed: 0_или_1

Восстановление списка установленных пакетов
Многие пользователи создают список пакетов не просто чтобы посмотреть, а для будущего восстановления. Если вы делали список с помощью dpkg, то его можно очень просто восстановить в системе с помощью аналогичной команды:
sudo dpkg —clear-selections
$ sudo dpkg —set-selections < mylist.txt
Все очень просто. Чтобы установить пакеты после добавления их в список используйте команду:
sudo apt dselect-upgrade
Если же у вас просто есть список имен пакетов, то восстанавливать его нужно немного по-другому. Просто передайте все эти имена команде apt для установки:
Выводы
В этой статье мы рассмотрели как посмотреть список установленных пакетов Debian. Это может быть очень полезно и выполняется достаточно просто. Надеюсь, эта информация была полезной для вас.
На завершение видео про установку и удаление пакетов:
Как вывести список установленных пакетов в 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.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.