日志文件/var/log/apt/history.log
和/var/log/apt/term.log
是最接近您描述的内容:
我想可能会有某种脚本可以保存新安装的软件包列表及其以前的版本号
history.log
给出apt
采用以下格式的每个动作的摘要列表:
Start-Date: 2013-06-21 16:05:05
Commandline: apt-get install rdiff-backup
Install: python-pyxattr:i386 (0.5.0-3, automatic), rdiff-backup:i386 (1.2.8-6), python-pylibacl:i386 (0.5.0-3, automatic
), librsync1:i386 (0.9.7-7, automatic)
End-Date: 2013-06-21 16:05:42
特别是,它给出了新安装的软件包或已删除的软件包的列表。另外,term.log
显示操作期间终端上实际显示的内容,从而显示软件包的旧版本和新版本。我的随机样本history.log
:
Preparing to replace gnupg 1.4.10-4 (using .../gnupg_1.4.10-4+squeeze1_i386.deb) ...
Unpacking replacement gnupg ...
Processing triggers for install-info ...
Processing triggers for man-db ...
Processing triggers for doc-base ...
Processing 1 changed doc-base file(s)...
Registering documents with scrollkeeper...
Setting up gnupg (1.4.10-4+squeeze1)
apt
不建议尝试自动回滚,但是如果您使用日志,则应该可以手动进行回滚,除非失败的操作破坏了会干扰apt
的操作的东西,例如dpkg数据库不一致。在这种情况下,您必须先解决问题,然后再继续。