DNF/Yum リポジトリのミラーサーバーを構成する2022/07/07 |
|
ローカルネットワーク内に DNF/Yum リポジトリのミラーサーバーを構築します。
ローカルネットワーク内に多数の更新すべきサーバーが存在する場合等では、ローカル DNF/Yum リポジトリがあると更新も迅速に進みます。
当例では、デフォルトで有効となっている [BaseOS], [AppStream], [Extras] リポジトリについてローカルミラーを作成します。
|
|
| [1] | |
| [2] | その他、必要なパッケージをインストールしておきます。 |
|
[root@dlp ~]# dnf -y install yum-utils
|
| [3] | リポジトリとするディレクトリを作成し、CentOS Stream 公式リポジトリからデータをコピーします。 データ量が大きいため、初回コピーには相応の時間がかかります。 |
|
# ディレクトリ作成 [root@dlp ~]# mkdir -p /var/www/repos/centos-stream/9/x86_64/os [root@dlp ~]# chmod -R 755 /var/www/repos
# 公式リポジトリからデータコピー [root@dlp ~]# reposync -p /var/www/repos/centos-stream/9/x86_64/os/ --repo=baseos --download-metadata
[root@dlp ~]#
[root@dlp ~]# reposync -p /var/www/repos/centos-stream/9/x86_64/os/ --repo=appstream --download-metadata
reposync -p /var/www/repos/centos-stream/9/x86_64/os/ --repo=extras-common --download-metadata
|
| [4] | 公式リポジトリから定期的にデータを更新するよう Cron 登録しておきます。下例では 1 日 1 回更新します。 |
|
[root@dlp ~]#
vi /etc/cron.daily/update-repo # 新規作成
#!/bin/bash
VER='9'
ARCH='x86_64'
REPOS=(baseos appstream extras-common)
for REPO in ${REPOS[@]}
do
reposync -p /var/www/repos/centos-stream/${VER}/${ARCH}/os/ --repo=${REPO} --download-metadata --newest-only
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 success [root@dlp ~]# firewall-cmd --runtime-to-permanent success |
| [7] | クライアント側から設定したローカルリポジトリを参照するには DNF/Yum リポジトリの設定を変更します。以上で完了です。 |
|
[root@client ~]#
vi /etc/yum.repos.d/centos.repo # 参照先をローカルリポジトリに変更 [baseos] name=CentOS Stream $releasever - BaseOS #metalink=https://mirrors.centos.org/metalink?repo=centos-baseos-$stream&arch=$basearch&protocol=https,http baseurl=http://dlp.srv.world/repos/centos-stream/$releasever/$basearch/os/baseos/ gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial gpgcheck=1 repo_gpgcheck=0 metadata_expire=6h countme=1 enabled=1 [appstream] name=CentOS Stream $releasever - AppStream #metalink=https://mirrors.centos.org/metalink?repo=centos-appstream-$stream&arch=$basearch&protocol=https,http baseurl=http://dlp.srv.world/repos/centos-stream/$releasever/$basearch/os/appstream/ gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial gpgcheck=1 repo_gpgcheck=0 metadata_expire=6h countme=1 enabled=1
[root@client ~]#
vi /etc/yum.repos.d/centos-addons.repo # 参照先をローカルリポジトリに変更 [extras-common] name=CentOS Stream $releasever - Extras packages #metalink=https://mirrors.centos.org/metalink?repo=centos-extras-sig-extras-common-$stream&arch=$basearch&protocol=https,http baseurl=http://dlp.srv.world/repos/centos-stream/$releasever/$basearch/os/extras-common/ gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-Extras-SHA512 gpgcheck=1 repo_gpgcheck=0 metadata_expire=6h countme=1 enabled=1[root@client ~]# dnf clean all [root@client ~]# dnf repolist repo id repo name appstream CentOS Stream 9 - AppStream baseos CentOS Stream 9 - BaseOS extras-common CentOS Stream 9 - Extras packages |
| Sponsored Link |
|
|