Linux время установки пакета

Выводим список установленных пакетов в 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) вывести список установленных пакетов по дате можно с помощью следующей команды:

Команда покажет примерно следующий результат:

.  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 . Для получения информации в понятном формате, вызывать данную утилиту необходимо с использованием параметра:

Читайте также:  Virtualbox линукс общая папка

Можно дополнить данный вызов сортировкой и дополнительными фильтрами — все зависит только от ваших требований. Например, так можно вывести 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

Источник

Даты установки пакетов.

Вчера решил собрать пакет Flush для установки на свою Fedora 21. Возился где-то минут 15-20, надоело — то одного пакета не хватает, то другого, то третьего, то четвёртого и т.д. штук 20-30, наверное, доустановил всяких зависимостей, чтобы получить конечную ошибку с описанием пакета, которого не нашёл в репах. Забил на это дело, установил kTorrent за 2 минуты. Теперь такой вопрос, как мне узнать, что я доустановил вчера для сборки этого пакета? Ведь теперь мне эти зависимости не нужны, и лучше, наверное, их удалить, чтобы не захламлялась система (или это не лишнее и они для чего-то пригодятся ещё??). Знаю, что с помощью history можно узнать, что было доустановлено. А что если это было недели 2 назад? Как мне узнать, какие пакеты были установлены 2 недели назад? Есть ли какой-то подробный список в Fedora 21, в котором пишется не только название установленных пакетов, но и дата их установки/удаления? Гугление привело меня только к списку установленных пакетов, а про даты (а ещё лучше, чтобы было и время установки/удаления) что-то не гуглится.

spichka ★★★ ( 04.04.15 19:17:41 MSK )
Последнее исправление: spichka 04.04.15 19:18:18 MSK (всего исправлений: 1)

Две звезды, а про journalctl не слышал. Странный ты.

На помойку! Теперь dnf history . Хотя ТС версию федорки не озвучил, да. Слепой я.

mandala ★★★★★ ( 04.04.15 19:24:21 MSK )
Последнее исправление: mandala 04.04.15 19:26:58 MSK (всего исправлений: 1)

Тут звёзды ставят только за время, а не за знания, пора бы это знать (не?). И да, я странный, с 2009 года перешел полностью на линуксы (венда стоит только для игр) и всё устраивает, и до сих пор задаю вот такие глупые (для кого-то) вопросы.

Я с тлф. не помню у них хистори одна или у каждого своя.

Читайте также:  Open directory linux client

У каждого своя, к сожалению. Спасибо, что подсказали, это именно то, что искал, только вот списки рвутся. Вот:

[root@localhost pushistiq]# yum history Loaded plugins: langpacks, list-data ID | Command line | Date and time | Action(s) | Altered ------------------------------------------------------------------------------- 26 | install yum-plugin-list- | 2015-04-04 08:29 | Install | 1 25 | install libglademm24-dev | 2015-04-04 08:15 | Install | 3 24 | install rb_libtorrent-de | 2015-04-04 08:14 | Install | 3 23 | remove libtorrent-devel. | 2015-04-04 08:14 | Erase | 1 22 | install rb_libtorrent.x8 | 2015-04-04 08:13 | Install | 1 21 | install libtorrent-devel | 2015-04-04 08:11 | Install | 1 20 | install libnotify-devel. | 2015-04-04 08:11 | Install | 2 19 | install libconfig-devel. | 2015-04-04 08:10 | Install | 1 18 | install gtkmm24-devel.x8 | 2015-04-04 08:09 | Install | 4 17 | install boost-devel.x86_ | 2015-04-04 08:08 | Install | 19 < 16 | -y -d 10 -e 1 remove hpl | 2015-04-04 06:17 | Erase | 1 >15 | -y -d 10 -e 1 install xs | 2015-04-04 06:17 | Install | 2 14 | -y -d 10 -e 1 install py | 2015-04-04 06:16 | Install | 1 13 | -y -d 10 -e 1 install av | 2015-04-04 06:16 | Install | 1 12 | -y -d 10 -e 1 install sa | 2015-04-04 06:16 | Install | 4 11 | -y -d 10 -e 1 install db | 2015-04-04 06:16 | Install | 1 10 | -y -d 10 -e 1 install Py | 2015-04-04 06:16 | Install | 10 9 | -y -d 10 -e 1 install ne | 2015-04-04 06:16 | Install | 18 8 | -y -d 10 -e 1 install py | 2015-04-04 06:16 | Install | 1 7 | -y -d 10 -e 1 install li | 2015-04-04 06:16 | Install | 1 

Последние строки выглядят как шифр. может есть какой-то более читабельный способ вывода подобной инфы?

Я в том смысле, что пора бы уже и переходить.

DNF такой тормозной. Очень задумчиво устанавливает пакеты и не пишет полностью названия альтернативных пакетов. YUM устанавливает пакеты быстро, почти не думая. К тому же, предлагает все альтернативы на выбор пользователя. Печально, если перейдут польностью на dnf, придётся мириться с этими тормозами и неполным списком пакетов (придётся на страничке федоры искать пакеты).

Desmond_Hume ★★★★★ ( 04.04.15 19:43:11 MSK )
Последнее исправление: Desmond_Hume 04.04.15 19:44:34 MSK (всего исправлений: 1)

Это не шифр, просто команда в поле не влезает. Может тебе yumex будет нагляднее?

Чередовать их нельзя. Щас пустил yum, он ругается на базу и вываливает кучу ошибок.

Сам как-то не сталкивался с недостатками dnf, а тормозят они у меня на моем калькуляторе одинаково адово.

mandala ★★★★★ ( 04.04.15 19:48:01 MSK )
Последнее исправление: mandala 04.04.15 19:48:32 MSK (всего исправлений: 1)

У меня комп 8-ядерный (AMD), но dnf очень долго чего-то ждёт, подключаясь к репам. Yum быстро подсоединяется к спискам реп и быстро устанавливает искомый пакет, попутно предлагая пакеты с похожими названиями (dnf предлагает только один).

А некоторые пакеты, я заметил, dnf и вовсе не находит (по TAB’y), приходится ручками вбивать полностью, чего не было замечено у yum’a.

Да, yumex более чем наглядный. Жаль только, что он не консольный. Классная программка! Почему её по дефолту не запихнули в дистр?

Недоделки. Надо повнимательней посмотреть, как случай подвернется. Специально ковыряться лень.

До не обрезонного журнала добрался?

Почему её по дефолту не запихнули в дистр?

А как ты ставил? Я на федоре с 21 версии, у меня в поставке «рабочая станция» с lxde он уже был.

Читайте также:  Linux mac address изменить

После дебиана не хватает наглядности aptitude в терминале, это ты верно заметил.

Да-да, про journalctl я и позабыл вовсе(. вот, оказывается, откуда history берёт инфу!

У меня GNOME. Там его не поставляют по дефолту, оказывается. установился только вчера.

Yumex сношу). У меня из головы вышел journalctl! Я люблю консольное представление информации.

Я люблю консольное представление информации.

Источник

Как найти дату и время установки пакета rpm

В этом посту мы узнаем такую команду linux, чтобы найти дату и время установки пакета rpm.

Являясь системным администратором Linux, мы принимаем участие в деятельности по аудиту ИТ.

Иногда для кросс-проверки требуется точная дата и время файла rpm, установленного в операционной системе на базе Red Hat (RHEL / CentOS / Scientific Linux).

Следовательно, для целей аудита важно знать об этой команде.

RPM означает Red Hat Packet Manager.

Это система управления пакетами во всей операционной системе на базе Red Hat (RHEL / CentOS / Scientific Linux).

RPM также переносится на другую операционную систему, такую как IBM AIX и Novell’s Netware.

В RPM используется известный формат файла .rpm.

Сообщество rpm.org участвует в обслуживании и развитии RPM

Найти дату и время установки пакета rpm

Мы будем использовать команду rpm с некоторыми параметрами, чтобы найти информацию о дате установленного пакета.

(1) Список всех пакетов rpm с информацией о дате и времени

Используйте приведенную ниже команду, чтобы отобразить все пакеты rpm с информацией о дате

(2) Показать установленные дату и время одного пакета

Чтобы получить установленные данные даты и времени одного пакета – у нас есть две команды

Команда 1:
Приведенная ниже команда будет показывать только дату, время и часовой пояс установке пакета rpm.

[root@localhost ~]# rpm -q --last basesystem-10.0-4.el6.noarch basesystem-10.0-4.el6.noarch Friday 21 February 2014 07:09:30 PM IST [root@localhost ~]#

С приведенной ниже командой система покажет еще более полезное описание.

[root@localhost ~]# rpm -qi rsyslog-7.6.0-1.el6.x86_64 Name : rsyslog Relocations: (not relocatable) Version : 7.6.0 Vendor: (none) Release : 1.el6 Build Date: Thursday 13 February 2014 01:40:23 PM IST Install Date: Saturday 01 March 2014 06:54:57 AM IST Build Host: vmrpm.adiscon.com Group : System Environment/Daemons Source RPM: rsyslog-7.6.0-1.el6.src.rpm Size : 2403604 License: (GPLv3+ and ASL 2.0) Signature : RSA/SHA1, Thursday 13 February 2014 01:40:34 PM IST, Key ID e0f233b3e00b8985 URL : http://www.rsyslog.com/ Summary : a rocket-fast system for log processing Description : Rsyslog is an enhanced, multi-threaded syslog daemon. It supports MySQL, syslog/TCP, RFC 3195, permitted sender lists, filtering on any message part, and fine grain output format control. It is compatible with stock sysklogd and can be used as a drop-in replacement. Rsyslog is simple to set up, with advanced features suitable for enterprise-class, encryption-protected syslog relay chains. [root@localhost ~]#

Мы видим параметр “Install Date”

Источник

Оцените статью
Adblock
detector