Можно ли получить список последних установленных пакетов?
Можно ли получить список пакетов, которые были недавно установлены через apt-get?
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
Чтобы увидеть также старые пакеты, отсортированные по времени установки:
grep " install " /var/log/dpkg.log.1 /var/log/dpkg.log
И для пакетов, установленных очень давно:
gunzip -c `ls -tr /var/log/dpkg.log.*.gz` | grep " install "
Центр программного обеспечения Ubuntu показывает всю историю всех пакетов, которые были установлены / обновлены / удалены. Просто нажмите "История" внизу списка слева.
Следующий трюк отвечает на просьбу Александра Дубинского ограничить это пакетами, устанавливаемыми вручную:
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]
до первого трубопровода; это очень гибкий.
Все на одной линии; для командного использования
Выберите и напечатайте только недавно установленные имена пакетов, все в одной строке.
Для этого измените ответ с наибольшим количеством голосов на:
cat /var/log/dpkg.log |awk '/ install / {printf "%s ",$4}'
Это приводит к одной строке имен пакетов. Такая строка может быть легко добавлена к 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}'
Есть пакет под названием 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.
Вот некоторая оболочка для вывода списка установленных файлов 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.
В дополнение к ответу DoR, для тех, кто предпочитает графический интерфейс, в Synaptic есть пункт меню File -> History.
Проблема с просмотром истории установки в Software Center или Synaptic заключается в том, что трудно скопировать / вставить содержимое в электронное письмо (например, при разговоре с техподдержкой!). Альтернативой является просмотр содержимого файлов журнала в /var/log/apt
как корень.