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