createrepoを用いたyumレポジトリの作成

ローカルにyumレポジトリを作成する際のメモ(Fedora Core 4)。

fedora core 3 以上では、yumの高速化とメモリ消費の低減の為にxml形式のメタデータベースが使用されているのでyum-archは使えない。今回は公開用のyumサーバを構築することが目的ではないので、ローカル上に設置されたRPMファイルからyumを実行するためのシンプルな方法についてのメモ書きです。

1. createrepoのインスール状況を確認

$ rpm -qa createrepo
createrepo-0.4.2-2
上記のように表示されればインストール済み。もし「package createrepo is not installed」と表示されれば、FC4のCD-ROMかyum install にてインストールを行う。

2. RPMコレクションを設置するディレクトリを指定

# createrepo -v /var/yum/fedora/4/RPMS
Saving Primary metadata
Saving file lists metadata
Saving other metadata
今回は、/var/yum/fedora/4/RPMS というディレクトリを作成し、そこをRPMファイルを設置。

コマンドが成功すると、/var/yum/fedora/4/RPMS にrepodataというフォルダができ、その中に以下のメタデータファイルが生成されます。

filelists.xml.gz
other.xml.gz
primary.xml.gz
repomd.xml

3. 次に/etc/yum.repos.d に移動します。

# cd /etc/yum.repos.d/
4. このディレクトリに、今回作成したレポジトリ用の定義ファイルを新たに作成します(名前は fedora-local.repo としました)。
# vi fedora-local.repo
そして、上記ファイルに以下の内容を記述してやればOKです。
[local]
name=Fedora local $releasever - $basearch
baseurl=file:///var/yum/fedora/4/RPMS/
enabled=1

5. あとは、yum update なり yum upgrade なりを、これまでと同様の方法で行えば、今回作成したレポジトリを参照してくれるようになります。ローカルに複数Fedora Coreサーバがある場合や、インターネット接続が満足でない場合にすごく便利です。