How to Setup Local Yum/DNF Repository on RHEL 8 Server Using DVD or ISO File

Recently Red Hat has released its most awaited operating system “RHEL 8“, in case you have installed RHEL 8 Server on your system and wondering how to setup local yum or dnf repository using installation DVD or ISO file then refer below steps and procedure.

Setup-Local-Repo-RHEL8

In RHEL 8, we have two package repositories:

  • BaseOS
  • Application Stream

BaseOS repository have all underlying OS packages where as Application Stream repository have all application related packages, developer tools and databases etc. Using Application stream repository, we can have multiple of versions of same application and Database.

Step:1) Mount RHEL 8 ISO file / Installation DVD

To mount RHEL 8 ISO file inside your RHEL 8 server use the beneath mount command,

[[email protected] ~]# mount -o loop rhel-8.0-x86_64-dvd.iso /opt/

Note: I am assuming you have already copied RHEL 8 ISO file inside your system,

In case you have RHEL 8 installation DVD, then use below mount command to mount it,

[[email protected] ~]# mount /dev/sr0  /opt

Step:2) Copy media.repo file from mounted directory to /etc/yum.repos.d/

In our case RHEL 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,

[[email protected] ~]# cp -v /opt/media.repo /etc/yum.repos.d/rhel8.repo
'/opt/media.repo' -> '/etc/yum.repos.d/rhel8.repo'
[[email protected] ~]#

Set “644” permission on “/etc/yum.repos.d/rhel8.repo

[[email protected] ~]# chmod 644 /etc/yum.repos.d/rhel8.repo
[[email protected] ~]#

Step:3) Add repository entries in “/etc/yum.repos.d/rhel8.repo” file

By default, rhel8.repo file will have following content,

default-rhel8-repo-file

Edit rhel8.repo file and add the following contents,

[[email protected] ~]# vi /etc/yum.repos.d/rhel8.repo
[InstallMedia-BaseOS]
name=Red Hat Enterprise Linux 8 - BaseOS
metadata_expire=-1
gpgcheck=1
enabled=1
baseurl=file:///opt/BaseOS/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[InstallMedia-AppStream]
name=Red Hat Enterprise Linux 8 - AppStream
metadata_expire=-1
gpgcheck=1
enabled=1
baseurl=file:///opt/AppStream/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

rhel8.repo should look like above once we add the content, In case you have mounted the Installation DVD or ISO on different folder then change the location and folder name in base url line for both repositories and rest of parameter leave as it is.

Step:4) Clean Yum / DNF and Subscription Manager Cache 

Use the following command to clear yum or dnf and subscription manager cache,

[email protected] ~]# dnf clean all
[[email protected] ~]# subscription-manager clean
All local data removed
[[email protected] ~]#

Step:5) 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.

[[email protected] ~]# dnf repolist
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Last metadata expiration check: 1:32:44 ago on Sat 11 May 2019 08:48:24 AM BST.
repo id                 repo name                                         status
InstallMedia-AppStream  Red Hat Enterprise Linux 8 - AppStream            4,672
InstallMedia-BaseOS     Red Hat Enterprise Linux 8 - BaseOS               1,658
[[email protected] ~]#

Note : You can use either dnf or yum command, if you use yum command then its request is redirecting to DNF itself because in RHEL 8 yum is based on DNF command.

If you have noticed the above command output carefully, we are getting warning message “This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register”, if you want to suppress or prevent this message while running dnf / yum command then edit the file “/etc/yum/pluginconf.d/subscription-manager.conf”, changed the parameter “enabled=1” to “enabled=0”

[[email protected] ~]# vi /etc/yum/pluginconf.d/subscription-manager.conf
[main]
enabled=0

save and exit the file.

Step:6) Installing packages using DNF / Yum

Let’s assume we want to install nginx web server then run below dnf command,

[[email protected] ~]# dnf install nginx

Similarly if you want to install LEMP stack on your RHEL 8 system use the following dnf command,

[[email protected] ~]# dnf install nginx mariadb php -y

This confirms that we have successfully configured Local yum / dnf repository on our RHEL 8 server using Installation DVD or ISO file.

In case these steps help you technically, please do share your feedback and comments.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *