在 Debian 或 Ubuntu 中安装软件包之前检查是否存在多个依赖项

kar*_*rel 8 ubuntu debian dependencies shell-script package-management

我已经知道我可以通过运行以下命令来检查我的存储库中是否存在在 Debian 或 Ubuntu 中安装软件包所需的多个依赖项:

apt policy first-package second-package ... last-package  
Run Code Online (Sandbox Code Playgroud)

此命令还告诉我当前是否安装了每个软件包。

我的问题是如何快速检查我当前未安装的受支持版本的 Debian 或 Ubuntu 中是否存在多个依赖包。因为我当前没有安装该操作系统,所以我无法检查本地和离线依赖包是否存在,但我想从终端检查默认存储库中是否存在所需的依赖包。

此信息的一种可能用途是在安装最新版本的 Ubuntu 或将现有操作系统升级到最新版本之前,检查安装在 Ubuntu 中的应用程序是否也可以安装在最新版本的 Ubuntu 中。

Ste*_*itt 10

对此的理想工具是rmadison,它是一个简单的 Perl 脚本,几乎没有依赖项(URI模块和wgetcurl),因此它几乎可以在任何地方运行。它询问 Debian 和 Ubuntu 托管的 Madison 服务以确定软件包的可用性:

rmadison gcc-7
Run Code Online (Sandbox Code Playgroud)

告诉您各种 Debian 套件中可用的 GCC 7 版本,

rmadison -u ubuntu gcc-7
Run Code Online (Sandbox Code Playgroud)

对 Ubuntu 也一样。

您可以将输出限制为特定版本:

rmadison -u ubuntu -s bionic gcc-7
Run Code Online (Sandbox Code Playgroud)