サードパーティリポジトリについて
サードパーティリポジトリとは、ざっくりまとめるとCentOSが標準で用意している以外のサードパーティが作成したパッケージを「yum」でインストールできるようにする為のものです。
有名な物では、FedoraProjectが作成している「EPEL」や、RepoForgeプロジェクトの「RepoForge」(旧RepoForge)、mysqlやPHPの新しいバージョンを集めている「remi」リポジトリなどがあります。ここではそれらのリポジトリを使用できるようにする方法をまとめています。
リポジトリ一覧情報
CentOSで使用できるリポジトリ情報が、英語ですが下記のWikiにまとめられています。
http://wiki.centos.org/AdditionalResources/Repositories
ここの情報をみると、各リポジトリの特徴や導入する際の注意点などがわかりますので、参照してみてください。
また、サードパーティリポジトリについては、「サードパーティが提供しているパッケージなので、CentOSプロジェクトではサポートしていない」といったことが書いてありますので、使用する際は自己責任でということ忘れないで下さい・・・
追加するリポジトリの使用方針
追加するリポジトリによっては、CentOS標準のパッケージを置き換えてしまったりするものがあり、それが問題を引き起こしてしまう場合があります。
ですので、通常はCentOSデフォルトのリポジトリを使用し、そこに無いパッケージをインストールしたい場合のみ、明示的に追加したリポジトリを指定してパッケージのインストールを行うという運用に私はしています。
ここではその運用方針を踏まえた設定で説明しています。
EPELリポジトリ
EPELリポジトリとは、エンタープライズLinux用の拡張パッケージ(Extra Packages for Enterprise Linux)の略称で、Fedoraプロジェクトで作成されたパッケージ達を使用できるようにするためのリポジトリです。
EPELリポジトリの追加
CentOS7では「EPEL」リポジトリを「yum」で追加することで追加することができます。
# yum -y install epel-release
EPELリポジトリの無効化
「EPEL」リポジトリは、インストールすると有効化(常時使用できる)された状態となっています。「EPEL」リポジトリを使用する際は明示的に指定して使用したいので、設定ファイルである「/etc/yum.repos.d/epel.repo」を「vi」等のエディタで編集していきます。
# vi /etc/yum.repos.d/epel.repo
編集内容
[epel]部分の「enabled=1」部分を「enabled=0」に変更することで、明示的に指定しなければ「EPEL」リポジトリを使用出来ないようになります。
変更前
[epel] name=Extra Packages for Enterprise Linux 7 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch failovermethod=priority enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
変更前
[epel] name=Extra Packages for Enterprise Linux 7 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch failovermethod=priority enabled=0 <---変更部分 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
EPELリポジトリ使用方法
「EPEL」を無効化したので、使用する際は「yum --enablerepo=epel 」といったように、明示的に「EPEL」リポジトリを指定して「yum」を実行する形となります。
書式
yum --enablerepo=epel [コマンド] [パッケージ名]
使用例
「clamav」というパッケージを「EPEL」リポジトリからインストール場合は、下記のように「yum」を実行します。
# yum install --enablerepo=epel clamav
Repoforge(RPMForge)リポジトリ 現在は使用できません
RepoForge(旧 RPMForge)は終了したようです、長い間お世話になりました。
こちらは、有名な「RPMForge」の新しいプロジェクトとなります。
以前はよく「RPMForge」のお世話になっていたのですが、CentOSのwikiでは「一度は勧めていたけど、メンテナンスされていないのでお勧めできない」(Although once recommended, this repository is no longer maintained, and is not advised.)といったような記述がされていて、「Known Problem Repositories」となっています・・・
ということで、EPELリポジトリに無い物インストールしたい場合のみ使うのが良いでしょう。
Repoforge(RPMForge)リポジトリの追加
このリポジトリの追加方法は、「rpm」コマンドで、「GPG key」とパッケージをインストールするという流れになります。
DAG's GPG key インストール
# rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpmforgeインストール
# rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
※最新のパッケージ名は随時変更されていきますので、最新のパッケージについてはhttp://repoforge.org/use/で確認して下さい。
インストールが失敗する場合
今回の手順では、直接インターネット上からインストールしていますが、ダウンロード先のサーバの状態によっては失敗することがあるらしいです。その場合は、まず「wget」等でダウンロードを行ってから、インストールを行ってみてください。
# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm --2015-04-22 12:12:29-- http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm Resolving pkgs.repoforge.org (pkgs.repoforge.org)... 78.46.17.228 Connecting to pkgs.repoforge.org (pkgs.repoforge.org)|78.46.17.228|:80... connected. HTTP request sent, awaiting response... 302 Found Location: http://rpmforge.sw.be/redhat/el7/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm [following] --2015-04-22 12:12:30-- http://rpmforge.sw.be/redhat/el7/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm Resolving rpmforge.sw.be (rpmforge.sw.be)... 78.46.17.228 Connecting to rpmforge.sw.be (rpmforge.sw.be)|78.46.17.228|:80... connected. HTTP request sent, awaiting response... 301 Moved Permanently Location: http://tree.repoforge.org/redhat/el7/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm [following] --2015-04-22 12:12:31-- http://tree.repoforge.org/redhat/el7/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm Resolving tree.repoforge.org (tree.repoforge.org)... 78.46.17.228 Connecting to tree.repoforge.org (tree.repoforge.org)|78.46.17.228|:80... connected. HTTP request sent, awaiting response... 301 Moved Permanently Location: http://apt.sw.be/redhat/el7/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm [following] --2015-04-22 12:12:32-- http://apt.sw.be/redhat/el7/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm Resolving apt.sw.be (apt.sw.be)... 193.1.193.67 Connecting to apt.sw.be (apt.sw.be)|193.1.193.67|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 12520 (12K) [application/x-redhat-package-manager] Saving to: ‘rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm’ 100%[=========================================================================>] 12,520 24.1KB/s in 0.5s 2015-04-22 12:12:33 (24.1 KB/s) - ‘rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm’ saved [12520/12520]
こんな感じで何回かダウンロード失敗していますが、最後はダウンロードできると思います。その後、「rpm」コマンドでインストールを行ってください。
# rpm -ivh rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm Preparing... ################################# [100%] Updating / installing... 1:rpmforge-release-0.5.3-1.el7.rf ################################# [100%]
Repoforge(RPMForge)リポジトリの無効化
通常はこのリポジトリを使用しないので、設定ファイルである「/etc/yum.repos.d/rpmforge.repo」を「vi」等のエディタで編集し無効化する作業を行っていきます。
# vi /etc/yum.repos.d/rpmforge.repo
編集内容
[rpmforge]部分の「enabled=1」部分を「enabled=0」に変更することで、明示的に指定しなければ「Repoforge(RPMForge)」リポジトリを使用出来ないようになります。
変更前
[rpmforge] name = RHEL $releasever - RPMforge.net - dag baseurl = http://apt.sw.be/redhat/el7/en/$basearch/rpmforge mirrorlist = http://mirrorlist.repoforge.org/el7/mirrors-rpmforge #mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge enabled = 1 protect = 0 gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag gpgcheck = 1
変更後
[rpmforge] name = RHEL $releasever - RPMforge.net - dag baseurl = http://apt.sw.be/redhat/el7/en/$basearch/rpmforge mirrorlist = http://mirrorlist.repoforge.org/el7/mirrors-rpmforge #mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge enabled = 0 <---変更部分 protect = 0 gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag gpgcheck = 1
Repoforge(RPMForge)リポジトリの使用方法
「EPEL」を無効化したので、使用する際は「yum --enablerepo=epel 」といったように、明示的に「EPEL」リポジトリを指定して「yum」を実行する形となります。
書式
yum --enablerepo=rpmforge [コマンド] [パッケージ名]
使用例
「clamav」というパッケージを「Repoforge(RPMForge)」リポジトリからインストール場合は、下記のように「yum」を実行します。
# yum --enablerepo=rpmforge install clamav
remiリポジトリ
このリポジトリは、最新のMySQLやPHPを「Remi Collet」がメンテナンスをして提供しているリポジトリです。
CentOSで提供していない最新のパッケージを使用できるのがメリットですが、デメリットとしてコアパッケージを入れ替えてしまう場合があるので、使用する際には注意が必要となります。
remiリポジトリの追加
このリポジトリの追加方法ですが、まず前提条件として「EPEL」リポジトリが追加されている必要がありますので、追加していない場合は先に「EPEL」を追加してください。(追加方法はこのページの上のほうで説明してます。)
「EPEL」リポジトリを追加しましたら、「rpm」コマンドで「remi」の「GPG key」と、パッケージをインストールするという流れになります。
http://rpms.famillecollet.com/
Distribution choice - Repository contentを参照
remi GPG keyインストール
# rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
remiリポジトリの追加
# rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
remiリポジトリの無効化
「remi」リポジトリはデフォルトで無効化されているはずですが、念のため「/etc/yum.repos.d/remi.repo」の「enabled」部分が「enabled=0」となっていることを確認します。
remiリポジトリの使用方法
「remi」リポジトリはインストールしようとするphpのバージョンによって、指定するリポジトリ名が異なります。
php 5.5をインストールする場合
php5.5をインストールしたい場合は「--enablerepo=remi-php55」といったようにリポジトリを指定して、「yum」を実行する必要があります。
実行例
# yum install --enablerepo=remi-php55 php 中略 ================================================================================ Package アーキテクチャー バージョン リポジトリー 容量 ================================================================================ インストール中: php x86_64 5.5.24-1.el7.remi remi-php55 2.6 M 依存性関連でのインストールをします: apr x86_64 1.4.8-3.el7 base 103 k apr-util x86_64 1.5.2-6.el7 base 92 k httpd x86_64 2.4.6-31.el7.centos base 2.7 M httpd-tools x86_64 2.4.6-31.el7.centos base 79 k mailcap noarch 2.1.41-2.el7 base 31 k php-cli x86_64 5.5.24-1.el7.remi remi-php55 3.9 M php-common x86_64 5.5.24-1.el7.remi remi-php55 1.0 M php-pecl-jsonc x86_64 1.3.7-1.el7.remi.5.5 remi-php55 53 k php-pecl-zip x86_64 1.12.5-1.el7.remi.5.5 remi-php55 89 k トランザクションの要約 ================================================================================ インストール 1 パッケージ (+9 個の依存関係のパッケージ) 総ダウンロード容量: 11 M インストール容量: 39 M
※ちなみに、CentOS7の標準リポジトリを使用して「php」をインストールしようとするとバージョン5.4がインストールされます。
php 5.6をインストールする場合
php5.6をインストールしたい場合は「--enablerepo=remi-php56」といったようにリポジトリを指定して、「yum」を実行する必要があります。
実行例
# yum install --enablerepo=remi-php56 php 中略 ================================================================================ Package アーキテクチャー バージョン リポジトリー 容量 ================================================================================ インストール中: php x86_64 5.6.8-1.el7.remi remi-php56 2.6 M 依存性関連でのインストールをします: apr x86_64 1.4.8-3.el7 base 103 k apr-util x86_64 1.5.2-6.el7 base 92 k httpd x86_64 2.4.6-31.el7.centos base 2.7 M httpd-tools x86_64 2.4.6-31.el7.centos base 79 k mailcap noarch 2.1.41-2.el7 base 31 k php-cli x86_64 5.6.8-1.el7.remi remi-php56 4.0 M php-common x86_64 5.6.8-1.el7.remi remi-php56 1.1 M php-pecl-jsonc x86_64 1.3.7-1.el7.remi.5.6 remi-php56 52 k php-pecl-zip x86_64 1.12.5-1.el7.remi.5.6 remi-php56 90 k トランザクションの要約 ================================================================================ インストール 1 パッケージ (+9 個の依存関係のパッケージ) 総ダウンロード容量: 11 M インストール容量: 40 M
コメント