Centos/RHEL:确定安装给定依赖项的最小软件包集?

Centos/RHEL:确定安装给定依赖项的最小软件包集?

假设我有一个要安装的软件包列表:

# yum install foo bar baz quux

但假设baz是 的依赖项foo,并且quux是 的依赖项baz

所以,真的,我所有实际上需要运行的是:

# yum install foo bar

有没有办法在给定包列表的情况下确定最小集?

答案1

鉴于缺乏相互依赖性(这是有保证的),以下算法将产生最小集:

  • 对于列表中的每个包,列出其所有要求 ( rpm -qR foo)
  • 对于需求中的每个包,如果存在,请将其从列表中删除

上市foo的要求收益率baz(大概是其他),以及上市baz的要求收益率quux,因此两者都可以被删除。请注意,您必须在删除任何内容之前列出所有要求,否则您将面临保留传递性要求的风险(quux在这种情况下,如果您在处理baz后立即删除)。foo

然而您的包裹清单应该反映出你的依赖项,而不是导致安装依赖项的最小集。如果您需要quux,您应该在命令中列出它yum install,否则如果baz在某个时候停止依赖它,您的安装将不再满足您的要求。

相关内容