In this tutorial I will show you, how to setup yum repository using locally mounted DVD on RHEL7 server.
YUM stands for Yellowpage Updater Modifier is for rpm package supportable Linux distros/Operating Systems ex: RHEL 5/6/7 and so on. It is used to install, uninstall, update, list available packages, list installed packages and search the rpm packages from the database. The main purpose of yum is to install rpm packages easily with all required dependencies and convienent way of package management for administrators. YUM was first introduced on RHEL 5 then available on all later versions.
By default you can use yum to install packages by downloading from Internet but also you can configure local yum repository package manager server by using RHEL Installation DVD or by placing the packages on Remote Servers like FTP, HTTP. In this article we are goint to learn how to configure local YUM Repository Package Manager using FTP Server i.e. Vsftpd Server.
1. Mount the RHEL 7 installation media ISO to some directory. For example /mnt :
# mount -o loop rhel7.iso /mnt
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 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