« WEBアプリテストのチェック項目リスト | メイン | buttonタグでサブミットするあれこれ »

yumのローカルミラーリポジトリを構築する方法
このエントリーをブックマークに追加 このエントリーをlivedoorクリップに追加

naoya です。

フォト蔵などのサービスは、社内にあるサーバ群で運用しています。現在、サービスの規模が成長するにつれて、サーバの台数も約20台強くらいになってきました。

すべてのサーバには、Fedora Core 5がインストールされていて、すべてのサーバにまったく同じパッケージがインストールされています。パッケージの更新には、Fedora Core 5に付属しているyumを使ってすべてのサーバを定期的に更新をしているのですが、yum-fastestmirrorをインストールしている状態でもパッケージの更新に時間がかかるようなってきました。

そこで、一台のサーバにyumのローカルミラーリポジトリを構築してパッケージのダウンロード時間を減らしてみました。今日は、yumのローカルミラーリポジトリを構築する手順を紹介します。

1.必要なパッケージのインストール

yum-utilsとcreaterepoパッケージをインストールします。

# yum -y install yum-utils createrepo

2.リポジトリディレクトリの準備

ローカルミラーリポジトリ用のディレクトリ(例えば、/var/www/html/repos)を用意します。

3.同期用のシェルスクリプトの実行

Fedora repository mirroring script using reposyncにyumのローカルミラーリポジトリを同期するためのシェルスクリプトが紹介されていました。このままだと、Fedora Core5でうまく動作しないこと、最近CentOSの別サーバ群も増えたため、repos_sync.shとして変更しました。

repos_sync.shを使って、Fedora Core 5のアップデートパッケージを同期するには、次のように実行します。

# repos_sync.sh fedora updates

また、repos_sync.shをcronに登録しておけば定期的に更新できて便利です。

4.リポジトリの公開

ローカルミラーリポジトリをHTTPでアクセスできるように公開します。Apacheの設定ファイルに、次の内容を追加します。下記の設定は、ローカルミラーリポジトリのサーバ名をreposとしています。

<VirtualHost * *:443>
    ServerName repos
    DocumentRoot /var/www/html/repos
</VirtualHost>

5.yumの設定変更

それぞれのサーバのyumで参照するミラーをローカルミラーリポジトリに変更します。yumで参照するミラーを変更するとには、/etc/yum.repos.d/*.repoファイルを変更します。例えば、/etc/yum.repos.d/fedora-updates/repoの場合は[updates]セクションのmirrorlistを次のように設定します。その他の*.repoファイルも同じように変更します。

mirrorlist=file:///etc/yum.repos.d/mirrorlist

/etc/yum.repos.d/mirrorlistを次の内容で作成します。

http://repos/repos/fedora/core/5/$ARCH

あとは、他のサーバからyum check-updateを実行して、正しくローカルミラーリポジトリが参照されていることを確認します。

また、社内にあるサーバ群は、社員の間でpermo(パーモ)と呼ばれているのですが、なかなか浸透しません。今、社内でこの名前を浸透させる作戦を模索中ですが、それはまた別の機会に紹介したいと思います。

トラックバック

このエントリーのトラックバックURL:
http://www.unoh.net/mt32/mt-tb.cgi/918

この一覧は、次のエントリーを参照しています: yumのローカルミラーリポジトリを構築する方法:

» yumのローカルミラーリポジトリを構築 from 理團男子
ウノウラボ Unoh Labs: yumのローカルミラーリポジトリを構築する方法 どのくらいサーバ数があればローカルに持つべきだろうかと考える。12... [詳しくはこちら]

コメントを投稿


画像の中に見える文字を入力してください。

SaaS提供の高性能CMS RCMS
SaaS提供の高性能CMS
ウノウラボはウノウ株式会社のエンジニア/デザイナーによる大小のアウトプットを行っていく場です。

現在ウノウは絶賛人材募集中です。詳細は求人ページへ。

About

2007年8月 1日 12:15に投稿されたエントリーのページです。

ひとつ前の投稿は「WEBアプリテストのチェック項目リスト」です。

次の投稿は「buttonタグでサブミットするあれこれ」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

ウノウサービス