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