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