自前rpm配布用yumサーバの構築
- テスト環境
- CentOS5 テスト用最小インストール手順参照。
概要
独自のRPMパッケージを配布するyumサーバを構築する。
手順
サーバ側
ファイルはHTTPで公開するものとして、以下のパッケージをインストールする。
# yum install httpd createrepo
apacheを起動。
# chkconfig httpd on # service httpd start
RPMはapacheの公開ディレクトリに置く必要がある。ディレクトリは/var/www/html/original/RPMSとする。
# mkdir -p /var/www/html/original/RPMS
上記ディレクトリに配布したいRPMパッケージを置く。今回は自前でビルドしたkoanのパッケージを使ってみる。
# cp -pi koan-0.6.1-2.co5.cafechantant.noarch.rpm /var/www/html/original/RPMS/.
パッケージを置いたディレクトリに対してcreaterepoを実行する。
# createrepo -v /var/www/html/original/RPMS 1/1 - koan-0.6.1-2.co5.cafechantant.noarch.rpm Saving Primary metadata Saving file lists metadata Saving other metadata
するとrepodataディレクトリが作成され、その中にレポジトリデータファイルが作成される。
クライアント側
上記で作成したレポジトリを参照するように、yumのレポジトリ設定ファイルを書く。
# cd /etc/yum.repos.d # vi original.repo
内容は以下。
[local] name=Original Repository baseurl=http://yumサーバのIP/original/RPMS enabled=1 gpgcheck=0
yum searchしてレポジトリにアクセスできるか確かめてみる。
# yum search koan Loading "fastestmirror" plugin Loading "installonlyn" plugin Setting up repositories original 100% |=========================| 951 B 00:00 Loading mirror speeds from cached hostfile Reading repository metadata in from local files primary.xml.gz 100% |=========================| 896 B 00:00 original : ################################################## 1/1 Added 1 new packages, deleted 0 old in 0.02 seconds koan.noarch 0.6.1-2.co5.cafechanta original Matched from: koan Koan stands for kickstart-over-a-network and allows for both network provisioning of new virtualized guests and destructive re-provisioning of any existing system. For use with a boot-server configured with 'cobbler'
ローカルのレポジトリデータが更新されて、ちゃんとkoanが検索結果に出てきたことから、アクセスが出来ている。 これでyum installすればオーケー。
運用
パッケージの更新
クライアント側でインストール後に、パッケージを更新する必要が出てきた場合。
新しいパッケージをRPMのディレクトリにコピー。
# cp -pi koan-0.6.2-1.co5.cafechantant.noarch.rpm /var/www/html/original/RPMS/.
再度、createrepoコマンドを実行してレポジトリデータを更新する。
# createrepo -v /var/www/html/original/RPMS [root@cobbler RPMS]# createrepo -v /var/www/html/original/RPMS 1/2 - koan-0.6.2-1.co5.cafechantant.noarch.rpm 2/2 - koan-0.6.1-2.co5.cafechantant.noarch.rpm Saving Primary metadata Saving file lists metadata Saving other metadata
クライアント側でyum updateすればオーケー。
GPGキーがある場合
yumサーバ側にGPGキーがある場合は、GPGキーのチェックを有効・GPGキーのパスをレポジトリ設定ファイルに記載する。
# cd /etc/yum.repos.d # vi original.repo
[local] name=Original Repository baseurl=http://yumサーバのIP/original/RPMS enabled=1 gpgcheck=1 gpgkey=http://yumサーバのIP/original/RPM-GPG-KEY-Original
といった感じ。するとyum installの中でGPGキーのインポートを行うかの確認が出るのでインポートして進めればOK
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID be857f15 Importing GPG key 0xBE857F15 "Kuniaki Shimizu (cafechantant.com) <kunkichi@gmail.com>" from http://192.168.0.254/original/RPM-GPG-KEY-Original Is this ok [y/N]: y
GPGキーの作成については、RPMに署名する(GPGキーの作成)を参照。

