如何自动查找给定版本中给定 Ubuntu 软件包的更新?

如何自动查找给定版本中给定 Ubuntu 软件包的更新?

我在 PPA 中为几个版本(20.04、20.10)维护自己版本的流行 Ubuntu 软件包 (vips)。如何自动了解 Ubuntu 维护人员何时发布此软件包的更新版本(即安全更新、错误修复等)?

有没有办法获取电子邮件通知? 有没有办法以编程方式订阅更新,例如我可以有一个 cron 作业来检查更新并自动运行命令?

而且,是否可以只获取给定版本(20.04 和 20.10)的通知,而不获取其他版本的通知?

答案1

一种相当简单、一致、可维护的方法是解析的输出rmadison

~$ rmadison libvips-tools
 libvips-tools | 7.26.3-1build1 | precise/universe | amd64, armel, armhf, i386, powerpc
 libvips-tools | 7.38.5-2       | trusty/universe  | amd64, arm64, armhf, i386, powerpc, ppc64el
 libvips-tools | 8.2.2-1        | xenial/universe  | amd64, arm64, armhf, i386, powerpc, ppc64el, s390x
 libvips-tools | 8.4.5-1build1  | bionic/universe  | amd64, arm64, armhf, i386, ppc64el, s390x
 libvips-tools | 8.9.1-2        | focal/universe   | amd64, arm64, armhf, ppc64el, riscv64, s390x
 libvips-tools | 8.10.2-1       | groovy/universe  | amd64, arm64, armhf, ppc64el, riscv64, s390x

rmadison 是包中包含的 Python3 脚本devscripts

例如,你可以将今天的 rmadison 拉取与昨天存储的副本进行比较。如果有差异,脚本会向你发送电子邮件。

您可以轻松看出,这个特定的库在任何当前支持的 Ubuntu 版本中都没有发布后更新——没有任何软件包位于 XX-update 包中。

答案2

我能想到两个版本:

  1. 你可以写一个脚本来查询正确的网址https://packages.ubuntu.com/(喜欢:https://packages.ubuntu.com/focal/mousepad) 并从中获取信息。这可以用 Python 轻松编写。
  2. 您可以编写一个 (bash) 脚本,直接检查apt软件包是否已更新。例如:apt show package-name | grep Version。要取消此命令的警告,请按如下方式修改:apt show package-name 2>/dev/null | grep Version

相关内容