为什么 Debian 中没有关于升级、降级和软件包清除的漂亮历史日志?

为什么 Debian 中没有关于升级、降级和软件包清除的漂亮历史日志?

我想查找我最近的更新/升级、软件包清除的历史记录,发现除了 aptitude 和丑陋的 dpkg.log 之外,似乎没有其他东西可以做同样的事情。看Debian 常见问题解答第 9.4 节。有谁知道为什么这样一个可以保存所有过去完成的包管理任务的漂亮日志的工具不存在。上面的链接中共享了一些解决方法,但没有合适的工具。

我抬头查看了/var/log/aptitude各种经过压缩的日志,以及各种 dpkg 日志,但它们都不是针对最终用户的。

    [/var/log] - [10058]
    [$] ls -lh aptitu*                                                                                                               
-rw-r--r-- 1 root root 117K May 23 15:49 aptitude
-rw-r--r-- 1 root root  24K May  1 00:26 aptitude.1.gz
-rw-r--r-- 1 root root  35K Apr  1 02:07 aptitude.2.gz
-rw-r--r-- 1 root root  26K Feb 28 03:13 aptitude.3.gz
-rw-r--r-- 1 root root  29K Jan 30 04:29 aptitude.4.gz
-rw-r--r-- 1 root root  27K Dec 30 15:28 aptitude.5.gz
-rw-r--r-- 1 root root  32K Dec  1 04:39 aptitude.6.gz

现在可以看到,日志已经持续了近 6 个月,并且 aptitude 做得非常出色,保留了我所有的升级、降级、软件包清除的尝试,但它只记录了“尝试”。 Dpkg 的记录要好得多,但看起来比 aptitude 日志差得多。

如果有人可以分享更多见解,我会很高兴。应该有一些基于 gtk/tk/GUI 的工具,也许是突触/软件中心或用户选择的任何工具的附加组件。

一种借口或可能的解释可能是开发人员重视隐私,但你有其他所有内容的日志,而不仅仅是这些,所以这对我来说没有多大意义。

另一部分只能是,Debian 或上游没有也不关心此类日志,并期望他们的用户保留历史记录或依赖 aptitude 之类的工具,这也没有多大作用,因为 -

aptitude show aptitude | grep Priority                                                                                         
Priority: optional

所以会有用户不会使用 aptitude。

是否有任何 FOSS 操作系统(不限于 GNU/Linux)可以解决上述问题?

答案1

apt本身保留更好的日志文件/var/log/apt/history.log(和旋转变体);这些跟踪每组apt操作的开始和结束日期和时间(包括由 启动的操作aptitude)、请求用户(使用 调用时sudo)以及操作:安装的包、升级的包、删除的包、清除的包...

这是一个例子:

Start-Date: 2016-05-09  23:29:03
Requested-By: steve (1000)
Install: libnspr4-dev:amd64 (2:4.12-2, automatic), liboauth-dev:amd64 (1.0.1-1), libcurl4-gnutls-dev:amd64 (7.47.0-1, automatic), libnss3-dev:amd64 (2:3.23-2, automatic)
End-Date: 2016-05-09  23:29:10

这表明我请求安装,它会自动liboauth-dev引入libnspr4-dev, 。libcurl4-gnutls-devlibnss3-dev

您还可以找到哪些日志操作/var/log/apt/term.log的终端输出。apt

这些文件不跟踪dpkg操作,因此要获得完整的情况 -IE,包括直接使用完成的操作dpkg- 您仍然需要查看/var/log/dpkg.log.如果您dpkg尽可能限制直接使用,那么apt历史记录将很好地了解......

相关内容