差异:SoftwareCenter 历史记录、dpkg-query 和 /var/log/dpkg.log.*?

差异:SoftwareCenter 历史记录、dpkg-query 和 /var/log/dpkg.log.*?

我刚刚又遇到了这个问题“找出几天前我安装了哪些软件包”。我已经阅读了 askubuntu 上的几个问答,总是有不同的方法可以做到这一点:

  • 使用历史在里面软件中心
  • 使用dpkg-query -l (虽然我似乎找不到任何关于安装日期的信息
  • 快速浏览/var/log/dpkg.log
  • (别忘了)历史在 Synaptic 包管理器中

我的问题是:我是否正确地假设所收到的信息并不总是相同的。例如,在我看来,历史Software-Center 和 Synaptic Package manager 的解决方案只显示它们“自己”处理的软件包。这意味着它们忽略了所有通过命令行(即通过dkpgapt-get)安装/删除/升级的软件包。

有人能帮我吗?(a) 确认有区别,(b) 或许能指出区别。最有趣的是,还有一个问题,即“安装日期/时间记录”是否只能通过浏览方法获得/var/log/dpkg.log.*

答案1

通常情况下,Ubuntu 软件管理器和 Synaptic 会在自己的日志文件中跟踪软件包更改,但这意味着如果你不使用这些程序每时每刻日志将不完整,您在尝试验证这一点时会遇到问题。

我在手册中没有找到dpkg-query任何线索,它提供了安装日期,但dpkg-query -l实际上打印的是软件包的一般状态、版本、架构和描述。

那么,谁更值得信任呢?显然,包管理器最后,前端负责dpkg执行安装、配置和删除操作,并且它的日志在/var/log/dpkg.log*。现在让我们以编程方式回答您的问题:

我是否正确地假设所收到的信息并不总是相同的?

正如我上面所说,是的。程序不会在每个给定时间运行,也不应该这样,因此它们无法跟踪每个软件包更改。

有人能帮我吗?(a) 确认存在差异,(b) 也许能向我指出差异?

是的,区别如上所述。

最有趣的是,还有一个问题:“安装日期/时间记录”是否只能通过浏览 /var/log/dpkg.log.* 方法获得?

如果您正确设置了时钟并使用了apt-get,显然 apt-get 和 dpkg 的日志将同时记录相同的内容,时间也相同。如果您apt-get一直使用,那么您可以读取任一日志并获得相同的信息,这是可以理解的。所以,不,安装日期和时间记录无论您检查什么日志都是可用的(除非日志设置为不打印时间),但 dpkg 的日志总是更完整。

相关内容