Answers:
/var/log/dpkg.log
是dpkg本身剩下的唯一日志文件。它记录安装,卸载,升级了哪些软件包。它仅指示软件包名称,版本和操作:dpkg不知道软件包的来源。它确实指示每个操作的日期。
如果dpkg是由APT套件中的工具(apt-get
,aptitude,Synaptic等)调用的,则APT 的操作将在/var/log/apt/history.log
和中登录/var/log/apt/term.log
。该文件apt/history.log
包含与相同的信息dpkg.log
。该文件apt/term.log
包含dpkg运行的记录(安装前和安装后和删除脚本,dpkg运行,触发器)。
Aptitude还写了类似的登录信息/var/log/aptitude
。此日志包含尝试执行的操作(无论操作是否成功)。
通常,您还可以通过检查的ctime来确定何时安装了软件包的当前版本/var/lib/dpkg/info/$package.*
。如果由于某种原因(例如,从备份还原)后来对其进行了修改,则这些文件的ctime可能较新。当前版本可能是另一个版本的升级,此方法不会告诉您任何有关先前版本的信息。
如果安装并启用etckeeper,则每次运行APT并进行/etc
更改时,所做的更改都会提交给版本控制。当APT在某个操作后自动进行提交时,它会在日志消息中指示已采取的操作(例如,已安装了哪些软件包)。
没有工具记录包的来源。通常,使用APT,给定的程序包总是来自同一来源,除非来源或它们的优先级已更改。在极少数情况下,源或优先级确实发生了变化,没有通用的方法来检索有关过去安装软件包的位置的历史信息。
请参阅中的文件/var/log/apt
。这些文件history.log
和term.log
被两个写入apt-get
和aptitude
,至少。当apt-get
运行时,在命令行中也给出。您可能想看看history.log
。除其他事项外,这记录了操作时间。
因此,例如,与使用进行软件包安装相对应的日志部分apt-get
如下所示:
Start-Date: 2013-09-02 00:27:25
Commandline: apt-get install unrar
Install: unrar:amd64 (4.1.4-1)
End-Date: 2013-09-02 00:27:29
对应于使用的安装的日志部分aptitude
如下所示:
Start-Date: 2013-09-02 16:39:11
Install: hello:amd64 (2.8-2)
End-Date: 2013-09-02 16:39:15
这些示例来自Debian amd64 wheezy系统。
/var/lib/dpkg/info/
在正常apt-get upgrade
操作期间,文件的ctime 甚至会更改。进行这样的升级后,例如dpkg.lst
ctime == mtime == current-time-并且dpkg.md5得出ctime> mtime。因此,不幸的是,查看ctime并不能提供仅查看mtime的更多信息。人们无法与它们区分软件包的升级/安装时间。