logo header
logo header
logo header
logo header
  • 2016.08.05
  • インフラ技術ブログ

RPMパッケージを作ってみよう②YUMリポジトリいろいろ

rpm logo

最近の札幌は連日30度に迫る勢いの暑さが続いています。 エアコンのある部屋から出たくなくなってきたkirksenchoです、こんにちは。

さて、前回から始まった「RPMパッケージを作ってみよう」シリーズ。 前回は基礎に戻って、そもそもRPMとは? YUMとは? というところをおさらいしてみました。

前回の記事
RPMパッケージを作ってみよう①RPMパッケージとは?

今回は、さまざまなYUMリポジトリの紹介と、その利用方法について書きたいと思います。

EPELリポジトリ

日本語版公式wiki
https://fedoraproject.org/wiki/EPEL/ja
リリースRPM
http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
http://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
http://dl.fedoraproject.org/pub/epel/epel-release-latest-5.noarch.rpm

RHELのアップストリームである、fedora projectがメンテナンスしているYUMリポジトリです。
外部リポジトリの中では一番信頼できますが、EPELにないパッケージも結構あります。
EPELにほしいバージョンのパッケージがあれば、迷わずEPELを選ぶと良いでしょう。

Remi-safeリポジトリ

公式HP
http://rpms.famillecollet.com
リリースRPM
http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

EPELの補完的な立ち位置の外部リポジトリです。RedHat社に勤めるフランス人のremiさんが個人で管理されています。
昨年からremiの他にremi-safeという信頼性のアップしたリポジトリが公開されました。
New "remi-safe" repository
上記の説明によると、EPELパッケージを入れ替える必要もなく、コンフリクトすることもなく、ホントに安全! ということです。
あまりremiは使ったことがなかったのですが、今度試してみようと思っています。

IUSリポジトリ

公式HP
https://ius.io
リリースRPM
https://centos7.iuscommunity.org/ius-release.rpm
https://centos6.iuscommunity.org/ius-release.rpm
https://centos5.iuscommunity.org/ius-release.rpm

ベースより新しいバージョンで、高品質なパッケージを提供している事がウリのYUMリポジトリです。
メンテナーはアメリカにHQがあるグローバル企業のRackspace社の社員がやっていますが、IUSはRackspace社のサービスではないよ! とのことです。
筆者は、PHP等の新しいバージョンがほしい場合は、ここにお世話になることが多いです。

RepoForgeリポジトリ

公式HP
http://repoforge.org
リリースRPM
http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.x86_64.rpm

もともとはRPMForgeという名前で公開されていたリポジトリですが、RepoForgeという名称に改名されました。
まだHPは存在しますが、現在上記のリリースRPMがダウンロードできないようです。
CentOS公式wikiにも書かれているリポジトリだったのですが、メンテナーが足りなくなってしまったのかもしれません。今後の復活を願いたいところです。

ELRepoリポジトリ

公式HP
http://elrepo.org
リリースRPM
http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
http://www.elrepo.org/elrepo-release-5-5.el5.elrepo.noarch.rpm

このリポジトリは、ハードウェアに関連したパッケージにフォーカスをあてているそうです。
新しく出たハードにベースのリポジトリが対応していなくて使えない!という場合や、もっと新しいバージョンのデバイスドライバが使いたい!という場合に重宝しそうです。
RHELやそのクローンOSのコミュニティでアクティブなメンバーによってメンテナンスされているそうで、日本人名の方もいました。

ミドルウェア独自リポジトリ

MySQL

MySQL専用のリポジトリです。
https://dev.mysql.com/downloads/repo/yum/

Zabbix

Zabbix専用のリポジトリです。
http://www.zabbix.com/jp/download.php

nginx

nginx専用のリポジトリです。
http://nginx.org/packages/centos/

他にもミドルウェアごとにリポジトリが存在する場合がありますので、必要に応じて利用すると良いでしょう。

各リポジトリの利用方法

下記のrpmコマンドでリリースRPMのURLを入れて実行します。

sudo rpm -Uvh [URL]

そうすると、yumコマンドで利用できるようになるので、追加した外部リポジトリのパッケージがインストールできるようになります。
普段は外部リポジトリのパッケージが利用できないようにしたい場合は、以下のディレクトリにある*.repoファイルのenabled=1を0に変更します。

/etc/yum.repos.d/

上記と同じことを、yum-config-managerでも実行できます。

sudo yum install yum-utils
sudo yum-config-manager --disable epel

無効になったかどうかを確認するには、コマンドでも可能です。

yum repolist all

enabled=0になっているリポジトリを利用したい場合は、以下のオプション付きで実行すると一時的に利用することも可能です。

sudo yum --enablerepo=epel,remi-safe install hogehoge

おわりに

今回は、いくつかの外部YUMリポジトリの紹介と、利用方法を説明してみました。
この他にもYUMリポジトリはたくさんありますが、主要なところだけをピックアップした感じです。
なお、複数のリポジトリを活用するときに、yum-prioritiesを使うと便利なシーンもありますので、ケースバイケースでご活用ください。

さて、次回からは本題のRPMパッケージを作成するための環境構築に入っていきたいと思います。

ともに世界をアップグレードできる、そんな日を夢見て。
Upgrade the World!