CentOS / RHEL 7 : How to setup yum repository using locally mounted DVD

https://www.thegeekdiary.com/centos-rhel-7-how-to-setup-yum-repository-using-locally-mounted-dvd/

yum is the primary tool for getting, installing, deleting, querying, and managing Red Hat Enterprise Linux RPM software packages from official Red Hat software repositories, as well as other third-party repositories. The post below describes step by step procedure to use a locally mounted RHEL 7 DVD iso as yum repository.

1. Mount the RHEL 7 installation media ISO to some directory. For example /mnt :

# mount -o loop rhel7.iso /mnt

Also read : Linux / UNIX : How to mount an iso file

2. Copy the media.repo file from the mounted directory /mnt /etc/yum.repos.d/ and name it as rhel7.repo.

 

# cp /mnt/media.repo /etc/yum.repos.d/rhel7.repo

3. Give appropriate permissions to the repository file.

# chmod 644 /etc/yum.repos.d/rhel7.repo

4. Modify the repo file and change the parameter gpgcheck=0 to gpgcheck=1 and add below 3 lines to the same file.

enabled=1
baseurl=file:///mnt/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

5. Once you have done all the changes, the final repo file shiould look like below.( Note that – media-id may be different depending on the version of RHEL for which DVD is used)

[InstallMedia]
name=DVD for Red Hat Enterprise Linux 7.3 Server
mediaid=9859238196.834790
metadata_expire=-1
gpgcheck=1
cost=500
enabled=1
baseurl=file:///mnt/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

6. Make sure you clear the related caches by yum clean all and subscription-manager clean once.

# yum clean all
# subscription-manager clean

Verify

Verify if you can list out the packages from the repo you just created.

# yum  --noplugins list
# yum repolist -v
    [snip]
    ISO-Server                                               | 4.1 kB     00:00     
    (1/2): ISO-Server/group_gz                                 | 134 kB   00:00     
    (2/2): ISO-Server/primary_db                               | 3.4 MB   00:00     
    Setting up Package Sacks
    pkgsack time: 0.001
    Repo-id      : ISO-Server
    Repo-name    : RHEL 7 Server DVD
    Repo-revision: 1424360184
    Repo-updated : Thu Feb 19 10:36:27 2017
    Repo-pkgs    : 4,371
    Repo-size    : 3.2 G
    Repo-baseurl : file:///mnt/
    Repo-expire  : 21,600 second(s) (last: Fri Jul 10 12:55:47 2017)
    Repo-filename: ///etc/yum.repos.d/rhel7.repo

    repolist: 4,371