是否有可能获得最近安装的软件包列表?

是否有可能获得最近通过apt-get安装的软件包列表?

用于列出通过任何方法安装的最近安装的软件包的命令( apt-get ,Software Center等):

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

输出示例:

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

Ubuntu的软件中心显示已安装/升级/删除的所有软件包的完整历史记录。 只需点击左侧列表底部的“历史记录”即可。

要查看按安装时间排序的旧软件包:

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

对于很久以前安装的软件包:

 gunzip -c `ls -tr /var/log/dpkg.log.*.gz` | grep " install " 

全部在一条线上; 用于命令

仅在一行中选择并打印最近安装的软件包名称。

为此,请将投票最多的答案更改为:

 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. 

以下技巧回答了Aleksandr Dubinsky的请求,将其限制为手动安装的软件包:

 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 \ 

grep \将结果限制为新安装。 例如,您可以使用grep将搜索限制为三个月,方法是将grep 2016-0[567]添加到第一个管道; 它非常灵活。

除了DoR的答案,对于那些喜欢GUI的人来说,Synaptic中有一个File – > History菜单项。

这是一些列出dpkg安装文件的shell。 (应包括所有apt / aptitude /软件中心/ 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安装的软件包中的任何差异时可能很有用。

在软件中心或Synaptic中查看安装历史记录的问题是,很难将内容复制/粘贴到电子邮件中(例如与技术支持人员交谈时!)。 另一种方法是以root身份查看/var/log/apt日志文件的内容。