Как перечислить все установленное программное обеспечение в терминале недавней установленной датой?

Извините, вероятно, спрошенный прежде, но я, может казаться, не нахожу.

Спасибо!

0
задан 1 September 2018 в 19:38

1 ответ

Try

zgrep -i "status installed"  /var/log/dpkg* | sort -t- -k1 -k2 -k3 -n > temp.txt

zgrep также позволяет просматривать архивированные dpkg журналы. Например, я вижу:

$ ls /var/log/dpkg*
/var/log/dpkg.log  /var/log/dpkg.log.1  /var/log/dpkg.log.2.gz  /var/log/dpkg.log.3.gz  /var/log/dpkg.log.4.gz
$

А затем вывод передается по каналу sort, где

  • -t- указывает - в качестве разделителя поля
  • [ 1120] -k1, -k2 и -k3 указывают сортировку, чтобы использовать эти поля в последовательности.
  • -n обеспечивает числовую сортировку.
  • > направляет вывод в текстовый файл, потому что вывод может занимать несколько сотен строк

См. man sort, например, -r, если вы хотите изменить порядок в обратном порядке.

Что я вижу с помощью команды zgrep в моей системе (с удалением нескольких строк):

/var/log/dpkg.log.4.gz:2018-04-26 18:17:44 status installed base-files:amd64 10.1ubuntu2
/var/log/dpkg.log.4.gz:2018-04-26 18:17:44 status installed base-passwd:amd64 3.5.44
...
/var/log/dpkg.log.4.gz:2018-05-02 18:21:13 status installed linux-image-4.15.0-20-generic:amd64 4.15.0-20.21
/var/log/dpkg.log.4.gz:2018-05-02 18:21:56 status installed grub-gfxpayload-lists:amd64 0.7
/var/log/dpkg.log.4.gz:2018-05-02 18:21:56 status installed grub-pc:amd64 2.02-2ubuntu8
...
/var/log/dpkg.log.3.gz:2018-06-01 05:29:41 status installed netcat-openbsd:amd64 1.187-1ubuntu0.1
/var/log/dpkg.log.3.gz:2018-06-01 05:29:43 status installed man-db:amd64 2.8.3-2
/var/log/dpkg.log.3.gz:2018-06-02 13:59:20 status installed libkf5kmahjongglib-data:all 4:17.12.3-0ubuntu1
...
/var/log/dpkg.log.2.gz:2018-07-01 06:32:51 status installed ncdu:amd64 1.12-1
/var/log/dpkg.log.2.gz:2018-07-01 06:32:52 status installed man-db:amd64 2.8.3-2
/var/log/dpkg.log.2.gz:2018-07-02 07:20:02 status installed libastro1:amd64 4:17.12.3-0ubuntu1
...
/var/log/dpkg.log.1:2018-08-01 06:19:16 status installed chromium-codecs-ffmpeg-extra:amd64 68.0.3440.75-0ubuntu0.18.04.1
/var/log/dpkg.log.1:2018-08-01 06:19:16 status installed mime-support:all 3.60ubuntu1
/var/log/dpkg.log.1:2018-08-01 06:19:18 status installed man-db:amd64 2.8.3-2
...
/var/log/dpkg.log.1:2018-08-31 07:14:09 status installed libx11-data:all 2:1.6.4-3ubuntu0.1
/var/log/dpkg.log.1:2018-08-31 07:14:09 status installed man-db:amd64 2.8.3-2
/var/log/dpkg.log.1:2018-08-31 07:14:10 status installed libc-bin:amd64 2.27-3ubuntu1

Ограничением этого подхода является то, что, в конечном итоге, некоторые архивные файлы будут удалены в зависимости от того, как logrotate настроен. Посмотрите на возни с file:///etc/logrotate.d/dpkg и, конечно же, man logrotate.

3
ответ дан 28 October 2019 в 01:23

Другие вопросы по тегам:

Похожие вопросы: