如何获取已使用 apt-get 安装的软件包列表?

如何获取已使用 apt-get 安装的软件包列表?

我想获取我使用安装的软件包的列表apt-get

即自我的 Linode (Debian) 最初创建以来我安装的所有软件包。

这可能吗?

答案1

您可以apt使用以下命令列出已安装的软件包:

apt --installed list

编辑

使用以下命令列出已安装的软件包apt-get

zcat /var/log/apt/history.log.*.gz | cat - /var/log/apt/history.log | grep -Po '^Commandline: apt-get install (?!.*--reinstall)\K.*'

来源:Askubuntu

答案2

如果您只想显示您拥有的软件包的列表手动安装你可以运行:

apt --installed list | grep -v automatic

不列出标记为自动安装的软件包

-v, --invert-match   Invert the sense of matching, to select non-matching lines.

另一个不会错误地排除名称中带有“automatic”的不幸包的选项是:

apt-mark showmanual

答案3

zgrep -h ' install ' /var/log/dpkg.log* | sort | awk '{print $4}'

这将为您提供已安装的软件包列表(按安装顺序排列)。

根据我的评论,/var/log/dpkg.log*默认情况下仅保留最近 12 个月的文件。要更改此设置,请编辑/etc/logrotate.d/dpkg.例如,更改rotate 12rotate 1200保留最后 1200 个月(100 年)的价值 - 永久有效,永远不要删除旧日志。

顺便说一句,如果您想查看软件包何时升级,请更改installupgrade.例如

zgrep -h ' upgrade ' /var/log/dpkg.log* | sort

remove和也一样purge

答案4

用于dpkg列出系统上安装的所有软件包:dpkg --get-selections

要列出使用apt-get查看安装的所有软件包/var/log/apt/history.log。此日志还包含您已删除的软件包。您可以grep查找以 开头的行Install:

相关内容