gpt4 book ai didi

centos - 如何编写需要 sl-release 或 centos-release 或 redhat-release 的 .spec 文件?

转载 作者:太空宇宙 更新时间:2023-11-03 17:19:53 31 4
gpt4 key购买 nike

我认为我的问题与“https://serverfault.com/q/299179”和“https://serverfault.com/q/283330/71790”有些相关,但其中任何一个都没有令我满意的答案。

为了确保依赖关系对于我的 .rpm 是正确的,我想要求一个特定的最低版本。在我的例子中 sl-release >= 6.1。好吧,所以我在 .spec 文件中写了 Requires: sl-release >= 6.1 然后我突然想到:“如果有人试图将它安装在其中一个上怎么办?相关的发行版?” (就像 CentOS 或 RHEL 本身)。

既然 Scientific Linux 是基于 RHEL 的,就像 CentOS,应该有一种方法来表达我需要基于特定 RHEL 版本的东西。 las,一个快速的 yum list installed|grep release 只产生了:

sl-release.x86_64  6.1-2         @anaconda-ScientificLinux-201107272231.x86_64/6

该死,sl-release 显然是 Scientific Linux 特有的(yum list 没有任何帮助,yum grouplist 什么也没提供任何一个)。所以我认为依赖关系必须通过 Provides: 以某种方式表达,并发布了 yum deplist sl-release。唉,输出再次对我的事业没有帮助。

最佳答案

...事实证明,除了“https://serverfault.com/q/283330/71790”中指出的条件之外,上面还有类似符号/别名的东西。稍加猜测,网络搜索显示 centos-release,当然还有 redhat-release 作为其他两个相关发行版上使用的软件包名称。

由于我花了一些时间才想出解决方案,而且分享很重要,所以我决定写下我发现的内容,以供下一位进行网络搜索的 internaut。

所以,接下来我运行 yum install redhat-release 来安装它,希望它可用。它:

$ sudo yum install redhat-release
Setting up Install Process
Package sl-release-6.1-2.x86_64 already installed and latest version
Nothing to do

显然 redhat-release 这个名字神奇地翻译成了 sl-release。 IE。这是一个别名。

结论

您可以使用通用名称 redhat-release,即使在 CentOS 和 Scientific Linux 这两个派生发行版上,也可以指代各自特定于发行版的软件包 centos-releasesl-release。所以:

Require: redhat-release >= 6.1

完成所有这些工作。


相关说明,我知道他们都有一个文件 /etc/redhat-releaseyum whatprovides/etc/redhat-release 给了我:

$ yum whatprovides /etc/redhat-release
sl-release-6.1-2.x86_64 : Scientific Linux release file
Repo : local
Matched from:
Filename : /etc/redhat-release



sl-release-6.1-2.x86_64 : Scientific Linux release file
Repo : installed
Matched from:
Other : Provides-match: /etc/redhat-release

关于centos - 如何编写需要 sl-release 或 centos-release 或 redhat-release 的 .spec 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18599123/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com