linux终端获取apt,如何通过命令行显示apt-get包管理历史记录?

问题描述

有没有办法显示apt-get通过命令行更改的包的历史记录?

最佳解决思路

使用apt(apt-get)的所有操作都被记录下来。这些文件可在/var /log /apt /中找到。要查看最近的历史记录,请执行:

less /var/log/apt/history.log

这些日志得到旋转(每个月我猜),旧文件将后缀数字和压缩。所以要查看下一个历史记录,请使用:

zless /var/log/apt/history.log.1.gz

查看可用的日志:

ls -la /var/log/apt/

次佳解决思路

您也可以制作一个简短的命令来显示有趣的内容。

将此自定义函数添加到您的~/.bashrc:

### pars for fun: install | remove | rollback

function apt-history(){

case "$1" in

install)

grep 'install ' /var/log/dpkg.log

;;

upgrade|remove)

grep $1 /var/log/dpkg.log

;;

rollback)

grep upgrade /var/log/dpkg.log | \

grep "$2" -A10000000 | \

grep "$3" -B10000000 | \

awk '{print $4"="$5}'

;;

*)

cat /var/log/dpkg.log

;;

esac

}

并在像这样的终端中调用它:

kreso@h17:~$ apt-history install

2013-08-06 14:42:36 install gir1.2-nautilus-3.0:amd64 1:3.8.2-0ubuntu1~ubuntu13.04.1

2013-08-06 14:42:36 install python-nautilus:amd64 1.1-3ubuntu1

2013-08-06 14:42:37 install insync-nautilus:all 1.0.20

2013-08-07 14:41:37 install powertop:amd64 2.1-0ubuntu1

2013-08-07 18:44:10 install libdiscid0:amd64 0.2.2-3build1

2013-08-07 18:44:11 install sound-juicer:amd64 3.5.0-0ubuntu1

第三种解决思路

您还可以使用以下命令列出最近安装的软件包

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

第四种思路

如果你想要安装这些软件包而不是随后卸载,请尝试以下操作:

comm -23

这是安装减去任何匹配删除。

参考文献:

参考资料

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值