Если вы хотите найти конкретный пакет из списка, вы можете сделать это с помощью следующей команды grep в Терминале:
apt list --installed | grep [пакет]
Например, чтобы найти пакет «bind9», команда будет следующей:
apt list --installed | grep bind9
Вывод показывает, что пакет zoom версии 9.18.1 установлен в вашей системе. Если бы он не был установлен, вы бы увидели пустой результат.
С помощью dpkg вы можете устанавливать и удалять пакеты в вашей системе Ubuntu. Вы также можете использовать его для составления списка установленных пакетов в вашей системе. В отличие от команды apt, она отображает результаты в более удобном для пользователя виде. Она отображает вывод в различных колонках, что делает его более понятным.
Чтобы получить список установленных пакетов в вашей системе, выполните следующую команду в Терминале:
Вышеприведенный результат содержит список установленных пакетов вместе с версиями, архитектурой и кратким описанием.
Если вы хотите найти конкретный пакет из списка, вы можете сделать это с помощью следующей команды в Терминале:
Например, чтобы найти пакет «bind9», нужно выполнить следующую команду:
Если в результате будет получено имя пакета вместе с версией, это означает, что пакет установлен. В противном случае вы получите пустой результат.
В некоторых случаях вы хотите получить список только недавно установленных пакетов. Для этого выполните следующую команду в Терминале:
grep " install " /var/log/dpkg.log
Вы также можете узнать количество пакетов, установленных в вашей системе, с помощью менеджера пакетов apt. Для этого выполните следующую команду в Терминале:
apt list --installed | grep -v "^Listing" | wc -l
Эта команда даст вам быстрый подсчет общего количества пакетов, установленных в вашей системе. Результат, показанный на скриншоте ниже, говорит нам, что в настоящее время в вашей системе Ubuntu установлено 612 пакетов.
Команда dpkg-query также позволяет быстро подсчитать количество установленных пакетов. Чтобы узнать, сколько пакетов установлено в вашей системе, выполните следующую команду в Терминале:
dpkg-query -l | tail -n +6 | awk '' | sort | uniq -c
Результат, показанный на скриншоте ниже, говорит нам о том, что в настоящее время в вашей системе Ubuntu установлено 612 пакетов.
Команды, которые мы рассмотрели до сих пор, не содержат списка установленных пакетов snap. Чтобы получить список установленных пакетов snap, выполните следующую команду в терминале:
В этой статье мы рассказали о некоторых способах получения списка установленных пакетов в Ubuntu. Мы объяснили, как перечислить пакеты, которые были установлены менеджером пакетов Debian, или пакеты, установленные как snap-пакеты. Кроме того, в этой статье мы также рассказали о том, как вывести список недавно установленных пакетов и получить быстрый обзор всех установленных пакетов.
Порой необходимо узнать когда тот или иной пакет был установлен в операционной системе (например, в целях аудита). В данной статье рассмотрим как вывести список установленных пакетов в 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) вывести список установленных пакетов по дате можно с помощью следующей команды:
Команда покажет примерно следующий результат:
. 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 . Для получения информации в понятном формате, вызывать данную утилиту необходимо с использованием параметра:
Можно дополнить данный вызов сортировкой и дополнительными фильтрами — все зависит только от ваших требований. Например, так можно вывести 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
© Copyright 2023 Yevhen Lebid
Adblock