CentOSのレポジトリをミラーリングする
先日、CentOSのインストールをしようと思ったのですが、rikenのミラーサイトがメンテナンス中だったのか、つながらない状態になっていました。他にもミラーサイトはあるので、そちらを使って事なきを得ましたが、自分でコントロールできないのは不安です。
そこで、CentOSのミラーレポジトリをローカルに作っておくことにしました。毎回、外部のミラーサイトに負荷をかけるのも良くないですし、LAN内にミラーがあれば転送速度の向上も期待できそうです。
ローカルのミラーサイトはHTTPのみ対応とします。レポジトリを置くマシンで、ApacheなどのHTTPサーバを立ち上げておきます。
ファイルの取得には lftp コマンドを使います。リスト 1 のように、サブコマンド mirror を使うことで、ミラーリングすることができます。今回はftp.riken.jpで公開されているCentOS 6.3 x86_64のレポジトリを丸ごとミラーリングします。
リスト 1 : lftpによるミラーリング
# lftp -e 'mirror --delete --only-newer Linux/centos/6.3/os/x86_64 /var/www/html/mirror/Linux/centos/6.3/os/x86_64 && exit' ftp.riken.jp
常に最新の状態を保ちたい場合には、リスト 1 のコマンドをcronで1日1回ほど実行すればよいでしょう。
ローカルサイトのDocumentRootは /var/www/html の設定にしてありますので、ローカルミラーのURLは下記のようになります。ホスト名はlocal_mirrorとしてあります。
リスト 2 : ローカルミラーサイトのURL
http://local_mirror/mirror/Linux/centos/6/os/x86_64
Kickstartインストールで、このミラーレポジトリを使う場合は、Kickstartファイルに下記のように設定します。
リスト 3 : Kickstartファイルのインストールメディア指定
url --url http://local_mirror/mirror/Linux/centos/6/os/x86_64
lftpコマンドによる初回のミラーリングでは、大量のダウンロードが実行されるので時間はかかりますが、CentOSを何度もインストールする可能性があるなら、メリットは大きいと思います。