在我们的本地存储库中,我们想创建一个包含所有软件包的“产品”安装。似乎有两种方法可以做到这一点:创建一个名为“产品”的“空白”软件包,该软件包依赖于我们所有其他 rpm。或者我们可以在 yum 中创建一个包含所有这些 rpm 的组软件包。
快速谷歌搜索后,我找不到这两种方法的优缺点。有人对这两种方向有什么看法吗?
答案1
创建一个元包意味着它所依赖的所有包必须无法安装,无法根据各种软件包的存在或缺失来自定义功能。可以通过在删除其他软件包之前删除元软件包来解决此问题,但用户并不总是确定是否可以安全地删除元软件包。
yum 组允许一次性安装所有软件包,但也允许挑选,而不会让最终用户感到沮丧。如果用户只手动安装特定软件包,而没有安装足够的软件包来使应用程序正常运行,则可能会出现问题,但各种应用程序软件包之间的准确相互依赖关系应确保在选择其中任何一个时安装最小集。
答案2
metapackage 需要使用 yum 来安装所有的依赖项,如果 yum 找不到某个依赖项,metapackage 就无法成功安装。包含我们所有软件包的“产品”安装,可以通过 rpm 命令来安装,我们不需要为其解析依赖项。