如何从命令行快速获取软件包最近更新的原因?

如何从命令行快速获取软件包最近更新的原因?

是否有一个命令行命令可以让我快速确定软件包更新的原因?理想情况下,该命令会转储一组指向所有相关信息的 URL。

例如(这是一个很长的例子 - 抱歉),今天我的所有系统都更新了这 5 个包:

Reading package lists...
Building dependency tree...
Reading state information...
The following packages will be upgraded:
  login openssh-client openssh-server openssh-sftp-server passwd
5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,977 kB of archives.
After this operation, 24.6 kB of additional disk space will be used.
Get:1 http://archive.ubuntu.com/ubuntu/ trusty-updates/main login amd64 1:4.1.5.1-1ubuntu9.2 [301 kB]
Get:2 http://archive.ubuntu.com/ubuntu/ trusty-updates/main passwd amd64 1:4.1.5.1-1ubuntu9.2 [759 kB]
Get:3 http://archive.ubuntu.com/ubuntu/ trusty-updates/main openssh-sftp-server amd64 1:6.6p1-2ubuntu2.6 [34.2 kB]
Get:4 http://archive.ubuntu.com/ubuntu/ trusty-updates/main openssh-server amd64 1:6.6p1-2ubuntu2.6 [321 kB]
Get:5 http://archive.ubuntu.com/ubuntu/ trusty-updates/main openssh-client amd64 1:6.6p1-2ubuntu2.6 [562 kB] Preconfiguring packages ...
Fetched 1,977 kB in 3s (506 kB/s)
(Reading database ... 88021 files and directories currently installed.) Preparing to unpack .../login_1%3a4.1.5.1-1ubuntu9.2_amd64.deb ...
Unpacking login (1:4.1.5.1-1ubuntu9.2) over (1:4.1.5.1-1ubuntu9.1) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Setting up login (1:4.1.5.1-1ubuntu9.2) ...
(Reading database ... 88021 files and directories currently installed.) Preparing to unpack .../passwd_1%3a4.1.5.1-1ubuntu9.2_amd64.deb ...
Unpacking passwd (1:4.1.5.1-1ubuntu9.2) over (1:4.1.5.1-1ubuntu9.1) ...
...

我在 Ubuntu 安全通知 (USN) 页面上没有看到任何明显相关的内容,而这是我通常访问的位置。这种性质的更新(登录、密码和 OpenSSH)往往与安全有关,但从表面上看,这里的情况似乎并非如此。

apt-cache show login

显示来源'http://pkg-shadow.alioth.debian.org/',表示父“shadow”包自 2014 年 5 月 9 日起没有更新。好的。不确定为什么没有链接到 Launchpad.net apt-cache show,但不管怎样。特别查看 Launchpad 上的“shadow”包'https://launchpad.net/ubuntu/+source/shadow' 并查找软件包版本“1:4.1.5.1-1ubuntu9.2”,我看到一个更新日志:

18 hours ago

Changelog

shadow (1:4.1.5.1-1ubuntu9.2) trusty; urgency=medium

  * debian/control, debian/rules: re-enable libaudit support. (LP: #1478087)

 -- Mathieu Trudel-Lapierre <email address hidden>  Fri, 22 Jan 2016 11:21:57 -0500

链接到错误报告 #1478087。其中又讨论了“libaudit”,它用于跟踪登录尝试和软件包更新发生的原因。

简而言之,花了大约半个小时后,我终于弄清楚了更新的原因。正如我最初怀疑的那样,它与安全有关,但花的时间太长了。这让我回到了最初的问题,即:如何迅速地从命令行获取包更新的原因?

答案1

检查软件包更新原因的一个简单方法是检查其更新日志。

apt-get changelog pkgname

例如,这是 openssh-client 的当前更新日志

$ apt-get changelog openssh-client

openssh (1:5.9p1-5ubuntu1.8) precise-security; urgency=medium

  * SECURITY UPDATE: information leak and overflow in roaming support
    - debian/patches/CVE-2016-077x.patch: completely disable roaming option
      in readconf.c.
    - CVE-2016-0777
    - CVE-2016-0778

 -- Marc Deslauriers <[email protected]>  Wed, 13 Jan 2016 10:49:17 -0500

openssh (1:5.9p1-5ubuntu1.7) precise-security; urgency=medium

...

相关内容