DNF/Yum リポジトリのミラーサーバーを構成する2021/04/15 |
ローカルネットワーク内に 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/8/x86_64/os [root@dlp ~]# chmod -R 755 /var/www/repos
# 公式リポジトリからデータコピー [root@dlp ~]# reposync -p /var/www/repos/centos-stream/8/x86_64/os/ --repo=baseos --download-metadata
[root@dlp ~]#
[root@dlp ~]# reposync -p /var/www/repos/centos-stream/8/x86_64/os/ --repo=appstream --download-metadata
reposync -p /var/www/repos/centos-stream/8/x86_64/os/ --repo=extras --download-metadata
|
[4] | 公式リポジトリから定期的にデータを更新するよう Cron 登録しておきます。下例では一日一回更新します。 |
[root@dlp ~]#
vi /etc/cron.daily/update-repo # 新規作成 #!/bin/bash VER='8' ARCH='x86_64' REPOS=(baseos appstream extras) 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 --permanent success [root@dlp ~]# firewall-cmd --reload success |
[7] | クライアント側から設定したローカルリポジトリを参照するには DNF/Yum リポジトリの設定を変更します。以上で完了です。 |
[root@client ~]#
vi /etc/yum.repos.d/CentOS-Stream-BaseOS.repo # 参照先をローカルリポジトリに変更 [baseos] name=CentOS Stream $releasever - BaseOS #mirrorlist=http://mirrorlist.centos.org/?release=$stream&arch=$basearch&repo=BaseOS&infra=$infra #baseurl=http://mirror.centos.org/$contentdir/$stream/BaseOS/$basearch/os/ baseurl=http://dlp.srv.world/repos/centos-stream/$releasever/$basearch/os/baseos/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
[root@client ~]#
vi /etc/yum.repos.d/CentOS-Stream-AppStream.repo # 参照先をローカルリポジトリに変更 [appstream] name=CentOS Stream $releasever - AppStream #mirrorlist=http://mirrorlist.centos.org/?release=$stream&arch=$basearch&repo=AppStream&infra=$infra #baseurl=http://mirror.centos.org/$contentdir/$stream/AppStream/$basearch/os/ baseurl=http://dlp.srv.world/repos/centos-stream/$releasever/$basearch/os/appstream/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
[root@client ~]#
vi /etc/yum.repos.d/CentOS-Stream-Extras.repo # 参照先をローカルリポジトリに変更 [extras] name=CentOS Stream $releasever - Extras #mirrorlist=http://mirrorlist.centos.org/?release=$stream&arch=$basearch&repo=extras&infra=$infra #baseurl=http://mirror.centos.org/$contentdir/$stream/extras/$basearch/os/ baseurl=http://dlp.srv.world/repos/centos-stream/$releasever/$basearch/os/extras/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial[root@dlp ~]# dnf repolist repo id repo name appstream CentOS Stream 8 - AppStream baseos CentOS Stream 8 - BaseOS extras CentOS Stream 8 - Extras[root@node01 ~]# dnf module list CentOS Stream 8 - AppStream Name Stream Profiles Summary 389-ds 1.4 389 Directory Server (base) ant 1.10 [d] common [d] Java build tool container-tools rhel8 [d] common [d] Common tools and dependencies for container runtimes container-tools 1.0 common [d] Common tools and dependencies for container runtimes freeradius 3.0 [d] server [d] High-performance and highly configurable free RADIUS server ..... ..... varnish 6 [d] common [d] Varnish HTTP cache virt rhel [d][e] common [d] Virtualization module Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled |
Sponsored Link |