1

私の質問は「https://serverfault.com/q/299179」と「https://serverfault.com/q/283 ​​330/71790 」に多少関連していると思いますが、どちらにも満足のいく答えはありませんでしたそれらの。

の依存関係が正しいことを確認するために.rpm、特定の最小リリースを要求したいと考えています。私の場合sl-release >= 6.1Requires: sl-release >= 6.1よし、ファイルに書い.specてみたら、「誰かがこれを関連するディストリビューションにインストールしようとしたらどうなるの?」と思いつきました。(CentOS や RHEL 自体など)。

Scientific Linux は CentOS と同様に RHEL に基づいているため、特定の RHEL リリースに基づいたものが必要であることを表現する方法が必要です。残念ながら、簡単にyum list installed|grep release得られたのは次のとおりです。

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

Dang は、sl-release明らかに Scientific Linux に固有のものでした (そして、yum listこれ以上役に立ちませんでしたyum grouplistし、何も提供しませんでした)。Provides:したがって、依存関係は何らかの方法で表現し、発行する必要があると思いましたyum deplist sl-release。悲しいかな、出力は私の目的には役に立ちませんでした。

4

1 に答える 1

2

...「 https://serverfault.com/q/283​​330/71790 」で指摘されている条件とは別に、上記のシンボリック/エイリアス名のようなものがあることがわかりました。少し推測すると、Web 検索が表示されcentos-release、もちろんredhat-release、他の 2 つの関連するディストリビューションで使用されているパッケージ名が表示されました。

解決策を思いつくのに時間がかかり、共有することは面倒なので、次のインターノートがウェブ検索をしているときに見つけたものを書き留めておくことにしました。

それで、次に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ます。つまり別名です。

結論

CentOS と Scientific Linux の 2 つの派生ディストリビューションでも、総称名を使用しredhat-releaseて、それぞれのディストリビューション固有のパッケージcentos-releaseとを参照できますsl-release。そう:

Require: redhat-release >= 6.1

それらすべてで仕事をします。


関連するメモとして、私はそれらすべてがファイル/etc/redhat-releaseを持っていることを知っていて、yum 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
于 2013-09-02T22:02:00.530 に答える