Yumリポジトリのミラーサーバーを構成する2017/04/11 |
|
ローカルネットワーク内に CentOS Yum リポジトリのミラーサーバーを構築します。
ローカルネットワーク内に多数の更新すべきサーバーが存在する場合等では、ローカル Yum リポジトリがあると更新も迅速に進みます。
以下では例として、デフォルトで有効となっている [base], [updates], [extras] リポジトリについてローカルミラーを作成します。
|
|
| [1] | |
| [2] | その他、必要なパッケージをインストールしておきます。 |
|
[root@dlp ~]# yum -y install rsync createrepo
|
| [3] | リポジトリとするディレクトリを作成し、CentOS 公式リポジトリからデータをコピーします。 データ量が大きいため、初回コピーには相応の時間がかかります。 |
|
# ディレクトリ作成 [root@dlp ~]# mkdir -p /var/www/repos/centos/7/{os,updates,extras}/x86_64 [root@dlp ~]# chmod -R 755 /var/www/repos
# 公式リポジトリからデータコピー [root@dlp ~]# rsync -avz --delete --exclude='repodata' \
rsync://ftp.riken.jp/centos/7/os/x86_64/ \ /var/www/repos/centos/7/os/x86_64/
[root@dlp ~]#
rsync -avz --delete --exclude='repodata' \
rsync://ftp.riken.jp/centos/7/updates/x86_64/ \ /var/www/repos/centos/7/updates/x86_64/
[root@dlp ~]#
rsync -avz --delete --exclude='repodata' \
rsync://ftp.riken.jp/centos/7/extras/x86_64/ \ /var/www/repos/centos/7/extras/x86_64/ # メタデータリポジトリ作成 [root@dlp ~]# createrepo /var/www/repos/centos/7/os/x86_64/ [root@dlp ~]# createrepo /var/www/repos/centos/7/updates/x86_64/ [root@dlp ~]# createrepo /var/www/repos/centos/7/extras/x86_64/ |
| [4] | 公式リポジトリから定期的にデータを更新するよう Cron 登録しておきます。下例では一日一回更新します。 |
|
[root@dlp ~]#
vi /etc/cron.daily/update-repo # 新規作成
#!/bin/bash
VER='7'
ARCH='x86_64'
REPOS=(os updates extras)
for REPO in ${REPOS[@]}
do
rsync -avz --delete --exclude='repodata' \
rsync://ftp.riken.jp/centos/${VER}/${REPO}/${ARCH}/ /var/www/repos/centos/${VER}/${REPO}/${ARCH}/
createrepo /var/www/repos/centos/${VER}/${REPO}/${ARCH}/
done
chmod 755 /etc/cron.daily/update-repo |
| [5] | 他ホストからリポジトリが参照できるよう Apache httpd の設定を変更します。 |
|
[root@dlp ~]#
vi /etc/httpd/conf.d/repos.conf # 新規作成
Alias /repos /var/www/repos
<directory /var/www/repos>
Options +Indexes
Require all granted
</directory>
systemctl restart httpd |
| [6] | Firewalld を有効にしている場合は、HTTPサービスの許可が必要です。 |
|
[root@dlp ~]# firewall-cmd --add-service=http --permanent success [root@dlp ~]# firewall-cmd --reload success |
| [7] | クライアント側からローカルリポジトリを参照するには Yum リポジトリの設定を変更します。以上で完了です。 |
|
[root@client ~]#
vi /etc/yum.repos.d/CentOS-Base.repo # それぞれ参照先をローカルリポジトリに変更 [base] name=CentOS-$releasever - Base #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra baseurl=http://dlp.srv.world/repos/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 [updates] name=CentOS-$releasever - Updates #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra baseurl=http://dlp.srv.world/repos/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 [extras] name=CentOS-$releasever - Extras #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra baseurl=http://dlp.srv.world/repos/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 |
| Sponsored Link |
|
|