リポジトリのミラーサーバ(CentOS)

数台程度ならデフォルトの設定(CentOSの公開サーバからダウンロード)の方が良いと思います。

定期的に理研やKDDIのミラーサーバと同期することになるんで、お互いのサーバに負荷が掛かるし
ローカルサーバにたくさんのRPMパッケージを保存することためにある程度のディスク容量が必要だし。
なお、当方の環境ではCentOS6 x64リポジトリで20GB、CentOS x85リポジトリで10GBのディスク容量を消費してます。

1. CentOSリポジトリのミラーサーバと同期(RPMパッケージをダウンロード)
2. apacheの設定変更(ディレクトリ構造の閲覧許可)
3. クライアント(yumコマンドを実行するサーバ)の設定

1. CentOSリポジトリのミラーサーバと同期(RPMパッケージをダウンロード)
1.1. RPMリポジトリの同期先ディレクトリを作成

#CentOS 6の場合
# mkdir -p /var/www/centos/6/updates/x86_64/ /var/www/centos/6/os/x86_64/

#CentOS 5の場合
# mkdir -p /var/www/centos/5/updates/x86_64/ /var/www/centos/5/os/x86_64/

1.2. ミラーサーバよりRPMパッケージをダウンロード

#CentOS 6 x64の場合
# rsync -rptv --delete rsync://ftp.nara.wide.ad.jp/pub/Linux/centos/6/updates/x86_64/ /var/www/centos/6/updates/x86_64/
# rsync -rptv --delete rsync://ftp.nara.wide.ad.jp/pub/Linux/centos/6/os/x86_64/ /var/www/centos/6/os/x86_64/

#CentOS 6 x86の場合
# rsync -rptv --delete rsync://ftp.nara.wide.ad.jp/pub/Linux/centos/6/updates/i386/ /var/www/centos/6/updates/i386/
# rsync -rptv --delete rsync://ftp.nara.wide.ad.jp/pub/Linux/centos/6/os/i386/ /var/www/centos/6/os/i386/

#CentOS 5 x64の場合
# rsync -rptv --delete rsync://ftp.nara.wide.ad.jp/pub/Linux/centos/5/updates/x86_64/ /var/www/centos/5/updates/x86_64/
# rsync -rptv --delete rsync://ftp.nara.wide.ad.jp/pub/Linux/centos/5/os/x86_64/ /var/www/centos/5/os/x86_64/

#CentOS 5 x86の場合
# rsync -rptv --delete rsync://ftp.nara.wide.ad.jp/pub/Linux/centos/5/updates/i386/ /var/www/centos/5/updates/i386/
# rsync -rptv --delete rsync://ftp.nara.wide.ad.jp/pub/Linux/centos/5/os/i386/ /var/www/centos/5/os/i386/


#firefoxパッケージをダウンロードもしくはアップデートすることはない場合
例:CentOS 6 x64の場合
# rsync -rptv --delete --exclude=*firefox* rsync://ftp.nara.wide.ad.jp/pub/Linux/centos/6/updates/x86_64/ /var/www/centos/6/updates/x86_64/
# rsync -rptv --delete --exclude=*firefox* rsync://ftp.nara.wide.ad.jp/pub/Linux/centos/6/os/x86_64/ /var/www/centos/6/os/x86_64/

1.3. 定期的(週1)に同期するようにcronを設定

# vi /etc/cron.weekly/yum-repo
#!/bin/bash

#CentOS 6 x64の場合
rsync -rptv --delete rsync://ftp.nara.wide.ad.jp/pub/Linux/centos/6/updates/x86_64/ /var/www/centos/6/updates/x86_64/
rsync -rptv --delete rsync://ftp.nara.wide.ad.jp/pub/Linux/centos/6/os/x86_64/ /var/www/centos/6/os/x86_64/

#CentOS 6 x86の場合
rsync -rptv --delete rsync://ftp.nara.wide.ad.jp/pub/Linux/centos/6/updates/i386/ /var/www/centos/6/updates/i386/
rsync -rptv --delete rsync://ftp.nara.wide.ad.jp/pub/Linux/centos/6/os/i386/ /var/www/centos/6/os/i386/

#CentOS 5 x64の場合
rsync -rptv --delete rsync://ftp.nara.wide.ad.jp/pub/Linux/centos/5/updates/x86_64/ /var/www/centos/5/updates/x86_64/
rsync -rptv --delete rsync://ftp.nara.wide.ad.jp/pub/Linux/centos/5/os/x86_64/ /var/www/centos/5/os/x86_64/

#CentOS 5 x86の場合
rsync -rptv --delete rsync://ftp.nara.wide.ad.jp/pub/Linux/centos/5/updates/i386/ /var/www/centos/5/updates/i386/
rsync -rptv --delete rsync://ftp.nara.wide.ad.jp/pub/Linux/centos/5/os/i386/ /var/www/centos/5/os/i386/

exit 0

2. apacheの設定変更(ディレクトリ構造の閲覧許可)

2.1. apacheの設定を追加

# vi /etc/httpd/conf.d/yum-repo.conf
<directory "/var/www/centos">
  options +indexes
</directory>

2.2. 設定変更を反映

# /etc/rc.d/init.d/httpd reload

3. クライアント(yumコマンドを実行するサーバ)の設定

3.1. リポジトリの設定を変更

# vi /etc/yum.repos.d/CentOS-Base.repo
#CentOS6の場合
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os # コメントアウト
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=https://www.isoppe.jp/centos/$releasever/os/$basearch/ # 追加
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=1

#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates # コメントアウト
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
baseurl=https://www.isoppe.jp/centos/$releasever/updates/$basearch/ # 追加
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=1

#CentOS5の場合
[base]
name=CentOS-$releasever - Base
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os # コメントアウト
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
baseurl=https://www.isoppe.jp/centos/$releasever/os/$basearch/ # 追加
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

#released updates
[updates]
name=CentOS-$releasever - Updates
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates # コメントアウト
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
baseurl=https://www.isoppe.jp/centos/$releasever/updates/$basearch/ # 追加
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5

3.2. yumキャッシュをクリア

# yum clean all
Loaded plugins: fastestmirror, priorities
Cleaning up Everything
Cleaning up list of fastest mirrors

=====================================================