Thursday, April 21, 2016

How To Create Local YUM Repository On RHEL 6

In this post, I will by showing how to create a yum local repository on RHEL 6


1) You must be having a RHEL cd with you for creating the YUM repository
-- Load the physical CD to your CD ROM, In case its a physical server, Mount the CD into a mount point (/mnt/cdrom)
-- In my case it is a VM so I have an ISO image (Virtual CD), which is loaded and mounted into a mount point (/mnt/cdrom)

[root@ajithpathiyil_MT1 rhel64]# cd /mnt/cdrom
[root@ajithpathiyil_MT1 cdrom]# ls -ltr
total 723
-rw-r--r-- 1 root root   1397 Jan 20  2011 RPM-GPG-KEY-oracle
-rw-r--r-- 1 root root   7897 Jan 20  2011 README-en.html
-rw-r--r-- 1 root root  18390 Jan 20  2011 GPL
-rw-r--r-- 1 root root   1397 Jan 20  2011 RPM-GPG-KEY
-rw-r--r-- 1 root root  22343 Jan 20  2011 RELEASE-NOTES-en
-rw-r--r-- 1 root root   3547 Jan 20  2011 README-en
-rw-r--r-- 1 root root   3334 Jan 20  2011 eula.py
-rw-r--r-- 1 root root   7041 Jan 20  2011 eula.en_US
-rw-r--r-- 1 root root   6830 Jan 20  2011 EULA-rw
-r--r-- 1 root root   5165 Jan 20  2011 blafdoc.css
-rw-r--r-- 1 root root    105 Jan 20  2011 supportinfo
-rw-r--r-- 1 root root  53377 Jan 20  2011 RELEASE-NOTES-en.html
drwxr-xr-x 4 root root 583680 Jan 20  2011 Server
drwxr-xr-x 3 root root   2048 Jan 20  2011 Cluster
drwxr-xr-x 3 root root   4096 Jan 20  2011 ClusterStorage
drwxr-xr-x 3 root root   8192 Jan 20  2011 VT
drwxr-xr-x 2 root root   2048 Jan 20  2011 isolinux
drwxr-xr-x 4 root root   2048 Jan 20  2011 images
-r--r--r-- 1 root root   4436 Jan 20  2011 TRANS.TBL

[root@ajithpathiyil_MT1 cdrom]# cd Server
[root@ajithpathiyil_MT1 Server]# ls -ltr
total 3359313
-rw-r--r-- 1 root root   168842 Apr  9  2009 munzip-5.52-3.0.1.el5.x86_64.rpm
-rw-r--r-- 1 root root    21468 Aug 26  2010 mirqbalance-0.55-16.el5.x86_64.rpm
-rw-r--r-- 1 root root    31791 Aug 28  2010 mmcelog-0.9pre-1.30.el5.x86_64.rpm
-rw-r--r-- 1 root root  2017333 Aug 28  2010 mnet-snmp-devel-5.3.2.2-9.0.1.el5_5.1.i386.rpm
-rw-r--r-- 1 root root  1336489 Aug 28  2010 mnet-snmp-libs-5.3.2.2-9.0.1.el5_5.1.i386.rpm
-rw-r--r-- 1 root root   735231 Aug 28  2010 mnet-snmp-5.3.2.2-9.0.1.el5_5.1.x86_64.rpm
..
..
..
..
..
..
..
-rw-r--r-- 1 root root   312714 Nov 17  2010 mjdom-javadoc-1.0-4jpp.1.x86_64.rpm
-rw-r--r-- 1 root root    14449 Nov 17  2010 mfinger-server-0.17-32.2.1.1.x86_64.rpm
-rw-r--r-- 1 root root    74271 Nov 17  2010 mxorg-x11-xfs-1.0.2-4.x86_64.rpm
-rw-r--r-- 1 root root     9901 Nov 17  2010 mxorg-x11-drv-dmc-1.1.0-2.x86_64.rpm
-r--r--r-- 1 root root   805397 Jan 20  2011 TRANS.TBL
[root@ajithpathiyil_MT1 cdrom]#

2) Make a local directory and copy the contents of (/mnt/cdrom/Server) to this newly created local directory

[root@ajithpathiyil_MT1 cdrom]# mkdir -p /opt/yum/rhel64
[root@ajithpathiyil_MT1 cdrom]# cd /opt/yum/rhel64


[root@ajithpathiyil_MT1 Server]# cp -a *.rpm /opt/yum/rhel64/
[root@ajithpathiyil_MT1 Server]# uname -a
Linux ajithpathiyil_MT1.lab.com 2.6.32-100.26.2.el5 #1 SMP Tue Jan 18 20:11:49 EST 2011 x86_64 x86_64 x86_64 GNU/Linux

3) Copy the comps-rhel5-server-core.xml file to your local directory as (/opt/yum/rhel64/repodata/comps.xml)

[root@ajithpathiyil_MT1 Server]# cd ..
[root@ajithpathiyil_MT1 Server]# cd repodata
[root@ajithpathiyil_MT1 repodata]# mkdir -p /opt/yum/rhel64/repodata
[root@ajithpathiyil_MT1 repodata]# ls -ltr *comps*xml
-rw-r--r-- 1 root root 1067627 Jan 20  2011 comps-rhel5-server-core.xml
[root@ajithpathiyil_MT1 repodata]# cp *comps*xml /opt/yum/rhel64/repodata/comps.xml

4) Install the createrepo-0.4.11-3.el5.noarch rpm if not installed already.

[root@ajithpathiyil_MT1 repodata]# cd /opt/yum/rhel64/
[root@ajithpathiyil_MT1 rhel64]# rpm -ivh create*
warning: createrepo-0.4.11-3.el5.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing..#################################################################################[100%]
       package createrepo-0.4.11-3.el5.noarch is already installed
[root@ajithpathiyil_MT1 rhel64]# createrepo -g repodata/comps.xml .
                                                                               
1/3247 - cdparanoia-alpha9.8-27.2.x86_64.rpm
                                                                               
2/3247 - libXfixes-4.0.1-2.1.i386.rpm
                                                                               
3/3247 - libdmx-1.0.2-3.1.i386.rpm
                                                                               
4/3247 - smartmontools-5.38-2.el5.x86_64.rpm
                                                                                
5/3247 - nss_ldap-253-37.el5.i386.rpm
..                                                                             
..
..
..
..
..
..
..
3242/3247 - libsoup-devel-2.2.98-2.el5_3.1.x86_64.rpm
                                                                               
3243/3247 - perl-5.8.8-32.0.1.el5_5.2.x86_64.rpm
                                                                               
3244/3247 - mesa-libGL-devel-6.5.1-7.8.el5.x86_64.rpm
                                                                               
3245/3247 - eel2-devel-2.16.1-1.el5.x86_64.rpm
                                                                               
3246/3247 - adaptx-javadoc-0.9.13-3jpp.1.x86_64.rpm
                                                                               
3247/3247 - ipa-pmincho-fonts-003.02-2.1.el5.noarch.rpm
Saving Primary metadata
Saving file lists metadata
Saving other metadata

5) Create a local repository file

[root@ajithpathiyil_MT1 rhel64]# cat /etc/yum.repos.d/rhel-local.repo
name=RHEL 6.4 local repository
baseurl=file:///opt/yum/rhel64/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
[root@ajithpathiyil_MT1 rhel64]#

[root@ajithpathiyil_MT1 rhel64]# yum clean all
Loaded plugins: rhnplugin, security
Cleaning up Everything
root@ajithpathiyil_MT1:/opt/yum/rhel64
[root@ajithpathiyil_MT1 rhel64]#

6) Load the local repository with all the RPMs, Beautifully loading the local repository.


[root@ajithpathiyil_MT1 rhel64]# yum repolist
Loaded plugins: rhnplugin, security
This system is not registered with ULN.
ULN support will be disabled.
rhel6.4-local                                                  | 1.1 kB     00:00    
rhel6.4-local/primary                                          | 1.4 MB     00:00    

rhel6.4-local: [                                                          ] 1/3247
rhel6.4-local: [#                                                         ] 33/3247
rhel6.4-local: [###                                                       ] 99/3247
rhel6.4-local: [#####                                                     ] 166/3247
rhel6.4-local: [########                                                  ] 266/3247
rhel6.4-local: [##########                                                ] 332/3247
rhel6.4-local: [############                                              ] 398/3247
rhel6.4-local: [##############                                            ] 464/3247
rhel6.4-local: [################                                          ] 531/3247
....................................................................................
....................................................................................
....................................................................................
rhel6.4-local: [######################################################    ] 3114/3247
rhel6.4-local: [########################################################  ] 3181/3247
rhel6.4-local: [##########################################################] 3246/3247
rhel6.4-local                                                               3247/3247
repo id                                   repo name                         status
rhel6.4-local                             RHEL 6.4 local repository         enabled: 3,247
repolist: 3,247
root@ajithpathiyil_MT1:/opt/yum/rhel64
[root@ajithpathiyil_MT1 rhel64]#

No comments:

Post a Comment

Thanks for you valuable comments !