Configure DNF/Yum Mirror Server2025/07/25 |
|
Configure Local DNF/Yum Repository Server to update packages faster for local Servers. On this example, Configure [BaseOS], [AppStream], [Extras] mirror repositories that are enabled by default on Rocky Linux 10. |
|
| [1] | |
| [2] | Install other required packages. |
|
[root@dlp ~]# dnf -y install yum-utils
|
| [3] | Create directories for repository and copy data from Rocky Linux official Repository. |
|
[root@dlp ~]#
mkdir -p /var/www/repos/rockylinux/10/x86_64/os [root@dlp ~]# chmod -R 755 /var/www/repos
# copy from official repository [root@dlp ~]# reposync -p /var/www/repos/rockylinux/10/x86_64/os/ --repo=baseos --download-metadata
[root@dlp ~]#
[root@dlp ~]# reposync -p /var/www/repos/rockylinux/10/x86_64/os/ --repo=appstream --download-metadata
reposync -p /var/www/repos/rockylinux/10/x86_64/os/ --repo=extras-common --download-metadata
|
| [4] | Add copy task to daily jobs. |
|
[root@dlp ~]#
vi /etc/cron.daily/update-repo # create new
#!/bin/bash
VER='10'
ARCH='x86_64'
REPOS=(baseos appstream extras-common)
for REPO in ${REPOS[@]}
do
reposync -p /var/www/repos/rockylinux/${VER}/${ARCH}/os/ --repo=${REPO} --download-metadata --newest-only
done
chmod 755 /etc/cron.daily/update-repo |
| [5] | Configure Apache httpd to provide repository for other Client Hosts. |
|
[root@dlp ~]#
vi /etc/httpd/conf.d/repos.conf # create new
Alias /repos /var/www/repos
<directory /var/www/repos>
Options +Indexes
Require all granted
</directory>
systemctl restart httpd |
| [6] | If Firewalld is running, allow HTTP service. |
|
[root@dlp ~]# firewall-cmd --add-service=http success [root@dlp ~]# firewall-cmd --runtime-to-permanent success |
| [7] | On Client Hosts, Change settings of DNF/Yum to refer to Local DNF/Yum Mirror Host. |
|
[root@client ~]#
vi /etc/yum.repos.d/rocky.repo # change to local mirror server [baseos] name=Rocky Linux $releasever - BaseOS #mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=BaseOS-$releasever$rltype #baseurl=http://dl.rockylinux.org/$contentdir/$releasever/BaseOS/$basearch/os/ baseurl=http://dlp.srv.world/repos/rockylinux/$releasever/$basearch/os/baseos/ gpgcheck=1 enabled=1 countme=1 metadata_expire=6h gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-10 [appstream] name=Rocky Linux $releasever - AppStream #mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=AppStream-$releasever$rltype #baseurl=http://dl.rockylinux.org/$contentdir/$releasever/AppStream/$basearch/os/ baseurl=http://dlp.srv.world/repos/rockylinux/$releasever/$basearch/os/appstream/ gpgcheck=1 enabled=1 countme=1 metadata_expire=6h gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-10
[root@client ~]#
vi /etc/yum.repos.d/rocky-extras.repo # change to local mirror server [extras] name=Rocky Linux $releasever - Extras #mirrorlist=https://mirrors.rockylinux.org/mirrorlist?arch=$basearch&repo=extras-$releasever$rltype #baseurl=http://dl.rockylinux.org/$contentdir/$releasever/extras/$basearch/os/ baseurl=http://dlp.srv.world/repos/rockylinux/$releasever/$basearch/os/extras-common/ gpgcheck=1 enabled=1 countme=1 metadata_expire=6h gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-10[root@client ~]# dnf clean all [root@client ~]# dnf repolist repo id repo name appstream Rocky Linux 10 - AppStream baseos Rocky Linux 10 - BaseOS extras Rocky Linux 10 - Extras |
| Sponsored Link |
|
|