Locked

CentOS_TIPS_006

yumリポジトリ関連メモ

CentOS用の外部yumパッケージ/リポジトリを使用するための設定に関するメモです。

バージョン情報

ここでは、以下のバージョンについて記載しています。

$ cat /etc/redhat-release
CentOS release 6.7 (Final)

$ uname -a
Linux nazx.jp 2.6.32-573.18.1.el6.x86_64 #1 SMP Tue Feb 9 22:46:17 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

yum-plugin-priorities 導入

リポジトリの優先順位を設定するためyum-plugin-prioritiesを使用します。

# yum install yum-plugin-priorities

CentOS標準のリポジトリにプライオリティを設定します。

--- a/yum.repos.d/CentOS-Base.repo
+++ b/yum.repos.d/CentOS-Base.repo
@@ -16,6 +16,7 @@
 baseurl=http://ftp.sakura.ad.jp/pub/linux/centos/$releasever/os/$basearch/
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
+priority=10

 #released updates
 [updates]
@@ -24,6 +25,7 @@
 baseurl=http://ftp.sakura.ad.jp/pub/linux/centos/$releasever/updates/$basearch/
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
+priority=10

 #additional packages that may be useful
 [extras]
@@ -32,6 +34,7 @@
 baseurl=http://ftp.sakura.ad.jp/pub/linux/centos/$releasever/extras/$basearch/
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
+priority=10

 #additional packages that extend functionality of existing packages
 [centosplus]
@@ -41,6 +44,7 @@
 gpgcheck=1
 enabled=0
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
+priority=10

 #contrib - packages by Centos Users
 [contrib]
@@ -50,3 +54,4 @@
 gpgcheck=1
 enabled=0
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
+priority=10

明示的にプライオリティを設定していないリポジトリは規定値「99」となります。

SCL

言語系/DB系について、比較的新しいバージョンを要求されることがあります。
解決策の一つとして、CentOS標準で提供されているSoftware Collections(SCL)の利用があります。

http://wiki.centos.org/AdditionalResources/Repositories/SCL

「centos-release-scl」と「centos-release-SCL」の二種類がありますが「centos-release-scl」を使用します。
なお、「centos-release-SCL」の方は、CentOS 6.8のリリースに併せてリポジトリが削除されたようです。

# yum install centos-release-scl scl-utils

標準のパッケージと衝突しないはずなので、プライオリティは標準のものと合わせておきます。

--- a/yum.repos.d/CentOS-SCLo-scl-rh.repo
+++ b/yum.repos.d/CentOS-SCLo-scl-rh.repo
@@ -9,6 +9,7 @@ baseurl=http://mirror.centos.org/centos/6/sclo/$basearch/rh/
 gpgcheck=1
 enabled=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
+priority=10

 [centos-sclo-rh-testing]
 name=CentOS-6 - SCLo rh Testing

--- a/yum.repos.d/CentOS-SCLo-scl.repo
+++ b/yum.repos.d/CentOS-SCLo-scl.repo
@@ -9,6 +9,7 @@ baseurl=http://mirror.centos.org/centos/6/sclo/$basearch/sclo/
 gpgcheck=1
 enabled=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
+priority=10

 [centos-sclo-sclo-testing]
 name=CentOS-6 - SCLo sclo Testing

epel

CentOSの標準パッケージによりインストール可能です。

# yum install epel-release

標準では使用しないよう変更します。

--- a/yum.repos.d/epel.repo
+++ b/yum.repos.d/epel.repo
@@ -3,7 +3,7 @@ name=Extra Packages for Enterprise Linux 6 - $basearch
 #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
 mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearc
 failovermethod=priority
-enabled=1
+enabled=0
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

使用する際には明示的に指定します。

# yum --enablerepo=epel update epel-release

rpmforge

RPMForgeはプロジェクトが終了しているようです。国内ミラーで使えるサイトが残っているかもしれませんが、ご利用の際にはご注意ください。

https://wiki.centos.org/AdditionalResources/Repositories#line-68

http://qiita.com/bezeklik/items/ba4ccd806ae39d35f782

localinstallを使用して、yumに関する設定ファイル群をインストールします。

http://tree.repoforge.org/redhat/el6/en/x86_64/rpmforge/RPMS/

上記サイトより最新の「rpmforge-release-*.rpm」ファイル(記事作成時: rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm)を取得します。

# yum localinstall rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

標準では使用しないよう変更します。

--- a/yum.repos.d/rpmforge.repo
+++ b/yum.repos.d/rpmforge.repo
@@ -5,7 +5,7 @@ name = RHEL $releasever - RPMforge.net - dag
 baseurl = http://apt.sw.be/redhat/el6/en/$basearch/rpmforge
 mirrorlist = http://mirrorlist.repoforge.org/el6/mirrors-rpmforge
 #mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge
-enabled = 1
+enabled = 0
 protect = 0
 gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag
 gpgcheck = 1

使用する際には明示的に指定します。

# yum --enablerepo=rpmforge update rpmforge-release

ius

localinstallを使用して、yumに関する設定ファイル群をインストールします。

https://dl.iuscommunity.org/pub/ius/stable/CentOS/6/x86_64/

上記サイトより最新の「ius-release-*.rpm」ファイル(記事作成時: ius-release-1.0-14.ius.centos6.noarch.rpm)を取得します。

# yum --nogpgcheck localinstall ius-release-1.0-14.ius.centos6.noarch.rpm

署名が付いている(署名検証用の鍵は、このパッケージでインストールされます)ので「--nogpgcheck」を付けてインストールします。

標準では使用しないよう変更します。

--- a/yum.repos.d/ius.repo
+++ b/yum.repos.d/ius.repo
@@ -3,7 +3,7 @@ name=IUS Community Packages for Enterprise Linux 6 - $basearch
 #baseurl=https://dl.iuscommunity.org/pub/ius/stable/CentOS/6/$basearch
 mirrorlist=https://mirrors.iuscommunity.org/mirrorlist?repo=ius-centos6&arch=$b
 failovermethod=priority
-enabled=1
+enabled=0
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/IUS-COMMUNITY-GPG-KEY

使用する際には明示的に指定します。

# yum --enablerepo=ius update ius-release

remi

localinstallを使用して、yumに関する設定ファイル群をインストールします。

http://rpms.famillecollet.com/enterprise/

上記サイトより最新の「remi-release-*.rpm」ファイル(記事作成時: remi-release-6.rpm)を取得します。

# yum --nogpgcheck localinstall remi-release-6.rpm

標準では使用しないよう変更します。

--- a/yum.repos.d/remi-safe.repo
+++ b/yum.repos.d/remi-safe.repo
@@ -6,6 +6,6 @@
 name=Safe Remi's RPM repository for Enterprise Linux 6 - $basearch
 #baseurl=http://rpms.remirepo.net/enterprise/6/safe/$basearch/
 mirrorlist=http://rpms.remirepo.net/enterprise/6/safe/mirror
-enabled=1
+enabled=0
 gpgcheck=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

使用する際には明示的に指定します。

# yum --enablerepo=remi-safe update remi-release

MongoDB

epelに2.4系はあるのですが、2.6系を使用したい場合に。

https://docs.mongodb.org/manual/tutorial/install-mongodb-on-red-hat/

--- /dev/null
+++ /etc/yum.repos.d/mongodb.repo
@@ -0,0 +1,7 @@
+[mongodb]
+name=MongoDB Repository
+baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/$basearch/
+gpgcheck=0
+enabled=0
+priority=20
+

使用する際には明示的に指定します。

# yum --enablerepo=mongodb install mongodb-org

nginx

CentOS標準、SCL等にもパッケージは無いため、公式のリポジトリを直接使用します。
localinstallを使用して、yumに関する設定ファイル群をインストールします。

http://nginx.org/packages/centos/6/noarch/RPMS/

上記サイトより最新の「nginx-release-centos-*.el6.ngx.noarch.rpm」ファイル(記事作成時: nginx-release-centos-6-0.el6.ngx.noarch.rpm)を取得します。

# yum --nogpgcheck localinstall nginx-release-centos-6-0.el6.ngx.noarch.rpm

標準では使用しないよう変更します。
また、stable用の設定になっているので、mainline用に変更します。

  • 参考URL

http://nginx.org/en/linux_packages.html

--- a/yum.repos.d/nginx.repo
+++ b/yum.repos.d/nginx.repo
@@ -2,6 +2,6 @@

 [nginx]
 name=nginx repo
-baseurl=http://nginx.org/packages/centos/6/$basearch/
+baseurl=http://nginx.org/packages/mainline/centos/6/$basearch/
 gpgcheck=0
-enabled=1
+enabled=0

使用する際には明示的に指定します。

# yum --enablerepo=nginx list nginx-*
...
利用可能なパッケージ
nginx.x86_64                     1.9.14-1.el6.ngx                    nginx
nginx-debug.x86_64               1.9.7-1.el6.ngx                     nginx
nginx-debuginfo.x86_64           1.9.14-1.el6.ngx                    nginx
nginx-module-geoip.x86_64        1.9.14-1.el6.ngx                    nginx
nginx-module-image-filter.x86_64 1.9.14-1.el6.ngx                    nginx
nginx-module-njs.x86_64          0.0.20160329.91543c86f412-2.el6.ngx nginx
nginx-module-perl.x86_64         1.9.14-1.el6.ngx                    nginx
nginx-module-xslt.x86_64         1.9.14-1.el6.ngx                    nginx
nginx-nr-agent.noarch            2.0.0-9.el6.ngx                     nginx