11

ここに私の最初の投稿がありますが、グーグルで検索して、これを行う簡単な方法を見つけることができません。

新しいCentOSLinuxサーバーがオンラインになると自動的に構成するプログラムがあります。プロセスの一部として、最新バージョンのepel-releaserpmをインストールします。

私が使用するコマンドは次のようになります。

$ rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm && \
     yum clean all

これはうまく機能します...rpmファイルをepel-release-6-8.noarchに変更し、次にepel-release-6-9.noarchなどに変更するまで。彼らは3-4ヶ月ごとにバージョンを更新しているようです。これは問題です。リポジトリがepel-releaseのバージョン番号を更新すると、そのバージョンがどうあるべきかわからないため、スクリプトが失敗するからです。

最新のepelrpmファイルにリダイレクトする可能性のあるリンクを見つけることができなかったため、バージョンをインストールスクリプトにハードコーディングし、失敗したときに変更するしかありません。

バージョン番号を知らなくても、最新のepel rpmをダウンロードする簡単な(ハードコードされていない)方法を知っている人はいますか?リポジトリファイルリストにカールを付けたり、URLをgrepしたりしない方法を望んでいますが、誰かが提案する可能性があることに興味がありますか?

4

3 に答える 3

21

次のスクリプトがそのトリックを実行します。

cat <<EOM >/etc/yum.repos.d/epel-bootstrap.repo
[epel]
name=Bootstrap EPEL
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=epel-\$releasever&arch=\$basearch
failovermethod=priority
enabled=0
gpgcheck=0
EOM

yum --enablerepo=epel -y install epel-release
rm -f /etc/yum.repos.d/epel-bootstrap.repo

RHEL/CentOS 5 および 6 で動作するはずです。バージョン 4 はテストしていません。

于 2013-01-04T10:26:01.310 に答える
4

EPEL プロジェクトは最近、epel-release パッケージの「最新」のシンボリック リンクを実装しました。

https://dl.fedoraproject.org/pub/epel/epel-release-latest-5.noarch.rpm
<a href="https://dl.fedoraproject.org/pub/epel/epel-release-latest -6.noarch.rpm" rel="nofollow">https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
https://dl.fedoraproject.org/pub/ epel/epel-release-latest-7.noarch.rpm

https://fedorahosted.org/epel/ticket/8#comment:12を参照してください。

于 2015-03-26T16:06:12.417 に答える
0

シェルから直接実行します。

$ EPEL_BASEURL=http://dl.fedoraproject.org/pub/epel/$(awk '/rhel/ {print $2}' /etc/rpm/macros.dist)/$(uname -p)/
$ rpm -ivh $EPEL_BASEURL$(curl -s $EPEL_BASEURL | grep epel-release | awk -F'<|>' '{print $5}')
Retrieving http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
warning: /var/tmp/rpm-tmp.zRXE1U: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Preparing...                ########################################### [100%]
   1:epel-release           ########################################### [100%]

CentOS 6.4、6.5、6.6、および RHEL 6.5、6.6 でこれをテストしましたが、/etc/rpm/macros.dist の内容とhttp://dl.fedoraproject.orgの HTML コードは、すべてのプラットフォームで一貫している必要があります。であるため、これはすべてのプラットフォームで機能するはずです。

後世のために、ここに詳細があります:

$ EPEL_BASEURL=http://dl.fedoraproject.org/pub/epel/$(awk '/rhel/ {print $2}' /etc/rpm/macros.dist)/$(uname -p)/
# http://dl.fedoraproject.org/pub/epel/6/x86_64/
$ EPEL_RELEASE_RPM=$(curl -s $EPEL_BASEURL | grep epel-release | awk -F'<|>' '{print $5}')
# epel-release-6-8.noarch.rpm
$ EPEL_RELEASE_RPMURL=$EPEL_BASEURL$EPEL_RELEASE_RPM
# http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
$ rpm -ivh $EPEL_RELEASE_RPMURL
Retrieving http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
warning: /var/tmp/rpm-tmp.ep6xy3: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Preparing...                ########################################### [100%]
   1:epel-release           ########################################### [100%]
于 2015-02-14T18:26:28.680 に答える