尽管我使用,但apt-listchanges
我并不总是有时间阅读所有更改(新闻和更改日志)。我想在事后查看更改,例如列出我在过去 48 小时内更新的所有软件包的更改。
例如,我可以:
apt-listchanges
以基于时间的顺序存储结果- 查询 apt“过去 48 小时内更新的所有软件包的所有更改日志”
- 还有别的东西吗?
理想情况下,此列表应包括新软件包以及已更新但没有新闻或更改日志内容的软件包。
答案1
apt-listchanges
以基于时间的顺序存储结果
我最喜欢的方法是配置apt-listchanges
为向我发送包含更改的电子邮件;然后,基于时间的顺序由我的电子邮件客户端维护。
查询 apt“过去 48 小时内更新的所有软件包的所有更改日志”
没有任何内置的东西(apt
没有专门跟踪安装或升级包的日期/时间),但是您可以从日志中找到这一点。看着/var/log/apt/history.log*
;您将找到兄弟姐妹执行的所有操作apt
,以及每个操作的以下信息:
- 开始和结束日期/时间;
- 请求用户(如果使用 运行
sudo
); - 升级包的列表(如果有),以及之前安装的版本和升级到的版本;
- 已安装软件包的列表(如果有),以及已安装的版本以及是否自动安装的指示;
- 已删除软件包的列表(如果有);
- 已清除包的列表(如果有)。
您可以对其进行解析以确定过去 48 小时内所做的更改,并且对于升级,请使用版本信息来提取更改日志和新闻的相关部分。
这将忽略直接使用dpkg
;执行的包操作。您可以查看/var/log/dpkg.log*
这些详细信息,但它们有点难以解析(并且您必须过滤掉与apt
操作相对应的操作)。
(请注意,升级后的软件包将始终至少具有变更日志内容,至少如果它们来自 Debian;在某些情况下,它将是特定于架构的变更日志,但总会有一些内容。)