可升级包的列表是否存储在任何地方?如果是的话,在哪里?

可升级包的列表是否存储在任何地方?如果是的话,在哪里?

我正在寻找一种方法来获取 Debian 和 RHEL 发行版的所有可升级软件包的列表。我知道 dpkg 在 中存储了一些数据/var/lib/dpkg/status,但我没有发现任何内容表明给定的软件包有可供更新的新版本。

我想,由于apt list --upgradable非常快地列出所有可用的升级,它必须依赖于某些缓存:它是否可以作为文件在某处使用?

我对 RHEL 没有任何线索:dnf似乎有一个缓存/var/cache/dnf,但它主要是二进制文件。

答案1

apt并且dnf不存储可升级包的列表,他们会在被要求时计算它。他们通过将已安装软件包的版本与配置的存储库中可用的版本进行比较来做到这一点;后者的信息缓存(例如在)/var/lib/apt/listsapt

答案2

对于 RHEL,您可以运行命令

dnf check-update

如果没有参数,它会检查所有包上的可用更新,并打印可以更新的包的名称。

相关内容