Можно ли получить список последних установленных пакетов?

Можно ли получить список пакетов, которые были недавно установлены через apt-get?

159
задан 12 December 2010 в 01:41

9 ответов

Команда для списка недавно установленных пакетов, которые были установлены с помощью любого метода (apt-get, Центр программного обеспечения и др.):

grep " install " /var/log/dpkg.log

Пример произвел:

2010-12-08 15:48:14 install python-testtools <none> 0.9.2-1
2010-12-08 15:48:16 install quickly-widgets <none> 10.09
2010-12-08 22:21:31 install libobasis3.3-sdk <none> 3.3.0-17
2010-12-09 12:00:24 install mc <none> 3:4.7.0.6-1
2010-12-09 23:32:06 install oggconvert <none> 0.3.3-1ubuntu1
2010-12-09 23:34:50 install mpg123 <none> 1.12.1-3ubuntu1
2010-12-09 23:34:52 install dir2ogg <none> 0.11.8-1
2010-12-09 23:34:53 install faad <none> 2.7-4
2010-12-09 23:34:54 install wavpack <none> 4.60.1-1
2010-12-10 11:53:00 install playonlinux <none> 3.8.6

Вы могли выполнить эту команду для списка только недавно установленных имен пакета,

awk '$3~/^install$/ {print $4;}' /var/log/dpkg.log

Команда для списка истории apt-get (ПРИМЕЧАНИЕ: это не перечисляет установленные зависимости, это просто перечисляет предыдущий apt-get команды, которые были выполнены):

grep " install " /var/log/apt/history.log

Пример произвел:

Commandline: apt-get install libindicate-doc
Commandline: apt-get install googlecl
Commandline: apt-get --reinstall install ttf-mscorefonts-installer
Commandline: apt-get install valac libvala-0.10-dev
Commandline: apt-get install libgtksourceview-dev
Commandline: apt-get install python-sphinx
Commandline: apt-get install python-epydoc
Commandline: apt-get install quickly-widgets
Commandline: apt-get install libreoffice3* libobasis3.3*
Commandline: apt-get install mc
182
ответ дан 12 December 2010 в 01:41

Все на одной строке; для использования команды

Выберите и распечатайте только недавно установленные имена пакета, все на одной строке.

Для этого измените наиболее проголосовавший ответ на:

cat /var/log/dpkg.log |awk '/ install / {printf "%s ",$4}'

Это приводит к одной строке имен пакета. Такая строка может легко быть добавлена к a sudo apt-get purge команда.

Пример производится

libgnome-media-profiles-3.0-0 gstreamer0.10-gconf gnome-media gnome-menus librest-0.7-0 libgoa-1.0-common libgoa-1.0-0 libwacom-common libwacom2 ubuntu-docs apg libgnome-control-center1 libgnomekbd-common libgnomekbd7 gnome-control-center-data gnome-icon-theme-symbolic gnome-settings-daemon ubuntu-system-service gnome-control-center gnome-online-accounts gnome-session-bin indicator-power mousetweaks

Список упаковывает один ниже другого

Популярным спросом вот немного адаптированная версия для списка пакетов один ниже другого:

cat /var/log/dpkg.log |awk '/ install / {printf "%s\n",$4}'
5
ответ дан 12 December 2010 в 01:41

Следующий трюк отвечает на просьбу Александра Дубинского ограничить это пакетами, устанавливаемыми вручную:

comm -12 <(apt-mark showmanual | sort) <(grep " install " /var/log/dpkg.log | cut -d " " -sf4 | grep -o "^[^:]*" | sort)
  • comm -12 перечисляет строки, общие для двух отсортированных файлов.
  • <(command) расширяется до имени файла, содержащего выходные данные command.
  • apt-mark showmanual перечисляет установленные вручную пакеты; то есть. те, которые никогда не должны быть автоматически удалены.
  • grep " install " /var/log/dpkg.log взято из принятого ответа.

Альтернатива, показывающая больше информации в хронологическом порядке и имеющая доступ ко всем доступным журналам:

zcat -f /var/log/dpkg.log* | grep " install " | sort > /tmp/dpkg.log
grep -F "`comm -12 <(apt-mark showmanual | sort) <(cat /tmp/dpkg.log | cut -d " " -sf4 | grep -o "^[^:]*" | sort)`" /tmp/dpkg.log | grep \<none\>

grep \<none\> ограничивает результаты новыми установками. Например, вы можете использовать grep, чтобы ограничить поиск трехмесячным периодом, добавив grep 2016-0[567] к первому конвейеру; это очень гибко.

0
ответ дан 12 December 2010 в 01:41

В дополнение к ответу DoR, для тех, кто предпочитает графический интерфейс, в Synaptic есть пункт меню File -> History.

0
ответ дан 12 December 2010 в 01:41

Центр программного обеспечения Ubuntu показывает всю историю всех пакетов, которые были установлены / обновлены / удалены Просто нажмите «История» внизу списка слева.

0
ответ дан 12 December 2010 в 01:41

Существует пакет под названием wajig . Проверьте его на наличие командной строки, это первое, что я сейчас установил. Как aptitude, за исключением того, что он работает так, как будто вы ожидаете, что сработает диспетчер команд. Так что на самом деле это не похоже на способности. Приведенные ниже команды являются лишь небольшим подмножеством.

wajig help
Common JIG commands:

 update         Update the list of downloadable packages

 new            List packages that became available since last update
 newupgrades    List packages newly available for upgrading

 install        Install (or upgrade) one or more packages or .deb files
 remove         Remove one or more packages (see also purge)

 toupgrade      List packages with newer versions available for upgrading
 upgrade        Upgrade all of the installed packages or just those listed

 listfiles      List the files that are supplied by the named package
 listnames      List all known packages or those containing supplied string
 whatis         For each package named obtain a one line description
 whichpkg       Find the package that supplies the given command or file

Run 'wajig -v commands' for a complete list of commands.
0
ответ дан 12 December 2010 в 01:41

Проблема с просмотром истории установки в Software Center или Synaptic заключается в том, что трудно скопировать / вставить содержимое в электронное письмо (например, при разговоре с технической поддержкой!) Альтернативой является просмотр содержимого файлов журнала в /var/log/apt как root.

0
ответ дан 12 December 2010 в 01:41

Чтобы увидеть также более старые пакеты, отсортированные по времени установки:

grep " install " /var/log/dpkg.log.1 /var/log/dpkg.log

А для пакетов, установленных очень давно:

gunzip -c `ls -tr /var/log/dpkg.log.*.gz` | grep " install "
0
ответ дан 12 December 2010 в 01:41

Вот некоторая оболочка для вывода списка установленных файлов dpkg. (который должен включать все установленные пакеты apt / aptitude / software center / synaptic)

grep -A 1 "Package: " /var/lib/dpkg/status | \
grep -B 1 -Ee "ok installed|half-installed|unpacked|half-configured|config-files" -Ee "^Essential:yes" | \
grep "Package:" | cut -d\  -f2

Это не включает информацию о времени / дате установки. Но может быть полезно при определении любых различий в пакетах, установленных от os install до current.

0
ответ дан 12 December 2010 в 01:41

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

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