手当たり次第に書くんだ

CentOS6のYumにEPELリポジトリを追加する

私が個人的に運用しているCentOS6では、Cacti、Asterisk、OpenVPN、PoPToP等のデフォルトのリポジトリには含まれないパッケージを使用しています。デフォルトの状態でこれらのパッケージをインストールするにはソースコードからコンパイルしてインストールする必要がありますが、EPELリポジトリを追加することでYumからインストールして管理できるようになります

EPELリポジトリとは

Fedora Projectのwikiに以下の説明があります。

https://fedoraproject.org/wiki/EPEL/ja

エンタープライズLinux用の拡張パッケージ(EPEL)は、Red Hat Enterprise Linux(RHEL)向けの高品質なアドオンパッケージであり、CentOSやScientific Linux(SL)のようなRHELからスピンオフしたディストリビューションと互換性のある、Fedoraプロジェクトで有志によって作成されたパッケージになります。FedoraはRHELのアップストリームであり、EPELのアドオンパッケージは主にRHEL向けにビルドされたFedoraリポジトリをソースとしています。

Yumで管理するメリットとデメリット

Yumから提供されるパッケージは「ソースコードを入手→ソースコードをコンパイルしてRPM化→テスト」の段階を経てリポジトリに登録されますが、例えばApacheに脆弱性があって早急にアップデートしなければ危険という場合、Yumに登録されるのを待つより、ソースコードから直接インストールしたほうがより早く脆弱性に対処できる可能性があります。ただ、Apacheのサイトを一日中見ているわけにもいかず、ソースコードからのインストールは各々のソフトウェアに対する深い知識が必要となり、個人的なサイト運営では限界があります。

上記の理由から、特に個人的に運営しているサイトやサーバーでは、デフォルト以外のパッケージの管理も全てYumで行うことをお勧めします。脆弱性対応のスピード感は劣る可能性もありますが、yum-cronを使用すれば、毎日確実に漏れなくアップデートされます。

EPELリポジトリを追加

EPELリポジトリを追加する前のリポジトリの設定ファイルは以下の通りです。

[root@centos ~] # ls -l /etc/yum.repos.d/
合計 24
-rw-r--r--. 1 root root 1991  8月  4 01:13 2015 CentOS-Base.repo
-rw-r--r--. 1 root root  647  8月  4 01:13 2015 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  630  8月  4 01:13 2015 CentOS-Media.repo
-rw-r--r--. 1 root root 6259  8月  4 01:13 2015 CentOS-Vault.repo
-rw-r--r--. 1 root root  289  8月  4 01:13 2015 CentOS-fasttrack.repo

例としてYumでCactiを検索してみます。以下の通り、EPELリポジトリを追加する前はリポジトリにCactiがありません。

[root@centos ~] # yum search cacti
読み込んだプラグイン:fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: www.ftp.ne.jp
 * extras: www.ftp.ne.jp
 * updates: www.ftp.ne.jp
警告: 一致するものが見つかりません: cacti
見つかりませんでした

EPELリポジトリをインストールします。EPELリポジトリ自体がデフォルトのリポジトリに含まれており、そのままYumでインストール可能です。

[root@centos ~] # yum install epel-release
読み込んだプラグイン:fastestmirror, refresh-packagekit, security
インストール処理の設定をしています
Loading mirror speeds from cached hostfile
 * base: www.ftp.ne.jp
 * extras: www.ftp.ne.jp
 * updates: www.ftp.ne.jp
依存性の解決をしています
--> トランザクションの確認を実行しています。
---> Package epel-release.noarch 0:6-8 will be インストール
--> 依存性解決を終了しました。

依存性を解決しました

===============================================================================================================================================================================================================================================================================
 パッケージ                                                             アーキテクチャ                                                   バージョン                                                     リポジトリー                                                      容量
===============================================================================================================================================================================================================================================================================
インストールしています:
 epel-release                                                           noarch                                                           6-8                                                            extras                                                            14 k

トランザクションの要約
===============================================================================================================================================================================================================================================================================
インストール         1 パッケージ

総ダウンロード容量: 14 k
インストール済み容量: 22 k
これでいいですか? [y/N]y
パッケージをダウンロードしています:
epel-release-6-8.noarch.rpm                                                                                                                                                                                                                             |  14 kB     00:00
rpm_check_debug を実行しています
トランザクションのテストを実行しています
トランザクションのテストを成功しました
トランザクションを実行しています
  インストールしています  : epel-release-6-8.noarch                                                                                                                                                                                                                        1/1
  Verifying               : epel-release-6-8.noarch                                                                                                                                                                                                                        1/1

インストール:
  epel-release.noarch 0:6-8

完了しました!

EPELリポジトリを追加した後のリポジトリの設定ファイルは以下の通りです。"epel-testing.repo""epel.repo"が追加されています。

[root@centos ~] # ls -l /etc/yum.repos.d/
合計 32
-rw-r--r--. 1 root root 1991  8月  4 01:13 2015 CentOS-Base.repo
-rw-r--r--. 1 root root  647  8月  4 01:13 2015 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  630  8月  4 01:13 2015 CentOS-Media.repo
-rw-r--r--. 1 root root 6259  8月  4 01:13 2015 CentOS-Vault.repo
-rw-r--r--. 1 root root  289  8月  4 01:13 2015 CentOS-fasttrack.repo
-rw-r--r--. 1 root root 1056 11月  5 12:52 2012 epel-testing.repo
-rw-r--r--. 1 root root  957 11月  5 12:52 2012 epel.repo

再度、YumでCactiを検索してみます。以下の通り、EPELリポジトリを追加した後はリポジトリにCactiがあることを確認できます。

[root@centos ~] # yum search cacti
読み込んだプラグイン:fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: www.ftp.ne.jp
 * epel: mirrors.hustunique.com
 * extras: www.ftp.ne.jp
 * updates: www.ftp.ne.jp
============================================================================================================================= N/S Matched: cacti ==============================================================================================================================
cacti.noarch : An rrd based graphing tool

  Name and summary matches only, use "search all" for everything.

EPELリポジトリをデフォルトで使用するかどうか

インターネット上に存在する設定例では、"/etc/yum.repos.d/epel.repo"の設定を”enabled=0"にしてEPELリポジトリが必要な場合に、yumコマンドに"--enablerepo=epel"をつけて使用するケースが見受けられますが、これの理由はデフォルトのリポジトリとEPELリポジトリが競合しないようにするためです。

ただ、それが目的であれば、EPELリポジトリからパッケージをインストールしている時点で既に競合する可能性がありますので、わざわざ”enabled=0"にする必要はないと思っています。

"enabled=0"にするとEPELリポジトリからインストールしたパッケージは自動更新されなくなるため、せっかくの自動更新のメリットがありません。また、しばらくEPELリポジトリを使用していますが、"enabled=0"にしないでトラブルになったことは一度もありません。

CentOS6のYumにEPELリポジトリを追加する

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る