Local YUM/DNF repository is the place where the rpm packages for Redhat or CentOS are stored and distributed to client servers for software installation and OS updates.
This local repository lets you save internet bandwidth as well as the time for downloading packages from the internet.
In this article, you will learn how you can locally set up a DNF
or YUM
repository on your CentOS 8 system using an ISO or an installation DVD.
[box type=”info” align=”” class=”” width=””]Related Read: Install CentOS 8 Minimal Server [/box]
1. Mount CentOS 8 ISO file / Installation DVD
To mount CentOS 8 ISO file inside your CentOS 8 server use the beneath mount command:
# mount CentOS-8-x86_64-1905-dvd1.iso /opt # cd /opt # ls
[ads]
2. Create a CentOS 8 Local Yum Repository
In our case CentOS 8 Installation DVD or ISO file is mounted under /opt
folder, use cp command to copy media.repo
file to /etc/yum.repos.d/ directory
# cp -v /opt/media.repo /etc/yum.repos.d/centos8.repo
Set “644” permission on “/etc/yum.repos.d/centos8.repo”
# chmod 644 /etc/yum.repos.d/centos8.repo # ls -l /etc/yum.repos.d/centos8.repo
We need to configure the default repository file residing on the system. To check the configurations, use the cat command
as shown.
# cat etc/yum.repos.d/centos8.repo
We need to modify the configuration lines using a text editor of your choice.
# nano etc/yum.repos.d/centos8.repo
Delete all the configuration, and copy & paste the configuration below.
[InstallMedia-BaseOS] name=CentOS Linux 8 - BaseOS metadata_expire=-1 gpgcheck=1 enabled=1 baseurl=file:///opt/BaseOS/ gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial [InstallMedia-AppStream] name=CentOS Linux 8 - AppStream metadata_expire=-1 gpgcheck=1 enabled=1 baseurl=file:///opt/AppStream/ gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
Save the repo file and exit the editor.
3. Clean Yum / DNF and Subscription Manager Cache
After modifying the repository file with new entries, proceed and clear the DNF / YUM cache as shown.
# dnf clean all OR # yum clean all
To confirm that the system will get packages from the locally defined repositories, run the command:
# dnf repolist OR # yum repolist
4. Verify whether Yum / DNF is getting packages from Local Repo
Use dnf or yum repolist command to verify whether these commands are getting packages from Local repositories or not.
# dnf repolist OR # yum repolist ........................ repo id repo name status InstallMedia-AppStream CentOS Linux 8 - AppStream 4,672 InstallMedia-BaseOS CentOS Linux 8 - BaseOS 1,658
Now set ‘enabled
’ parameter from 1
to 0
in CentOS-AppStream.repo
and CentOS-Base.repo
files.
# nano /etc/yum/pluginconf.d/subscription-manager.conf [main] enabled=0
[ads]
Save and exit the file.
5. Install Packages Using Local DNF or Yum Repository
Let’s assume we want to install nginx web server then run below dnf command:
# dnf install nginx OR # yum instal nginx
Conclusion
That’s All. You have successfully configured the local yum repository on the machine.
How to resolve this problem?
CentOS-8 – AppStream 0.0 B / s | 0 B 00:30
Metadata for “AppStream” repository failed to load
Error: Failed to load metadata for “AppStream” repository
Hey Matei, try the commands below:
Hi there, is there a way to configure other local Centos 8 servers to point to this local repository server? If so what else would be needed?
Thanks,
Sel