2010年2月9日火曜日

S3上にyumリポジトリを作成(とりあえず)

スズキです。

【S3にフォルダを作成】

S3上に、"yum.suz-lab.com"というBucketを作成します。

そして、その中に、CentOS5のi386アーキテクチャのRPM置き場と言う意味合いで、
"5/i386/RPMS"というフォルダを作成しておきます。

【リポジトリデータの作成】

"createrepo"をインストールします。

# yum install createrepo

そして適当なフォルダ(/var/www/html/yum/5/i386)を作成し、下記を実行します。

# createrepo /var/www/html/yum/5/i386

すると、以下のようなフォルダとファイルが作成されます。

# ls repodata/
filelists.xml.gz other.xml.gz primary.xml.gz repomd.xml

最後に上記を、S3上の"yum.suz-lab.com/5/i386"以下に、
"yum.suz-lab.com/5/i386/repodata/*"といった形になるように配置します。

【リポジトリデータの公開】

まず、S3の"yum.suz-lab.com"以下を誰でも読取できるようにします。

そして、DNSにて"yum.suz-lab.com"のCNAMEとして、
S3のアクセス先である下記を登録しておきます。
yum.suz-lab.com.s3.amazonaws.com

これで、http://yum.suz-lab.com/...と言った感じでリポジトリにアクセス出来るようになります。

【リポジトリデータの設定と確認】

ここからは、使う側のお話です。

下記のような"/etc/yum.repos.d/suz-lab.repo"を用意します。

--------【suz-lab.repo】--------
[suz-lab]
name=SUZ-LAB Packages for Enterprise Linux $releasever - $basearch
baseurl=http://yum.suz-lab.com/5/$basearch
enabled=1
--------

ここまでできたら、下記のように、
上記で作成したリポジトリが利用出来ることが確認できるはずです。

# yum repolist
...
suz-lab SUZ-LAB Packages for Enterprise Linux 5 - i386
...

RPM作ってみよう。

--------
http://www.suz-lab.com

0 コメント: