How to Setup Local Yum Repository from CD-ROM/DVD-ROM image on RHEL 6



In this post, i will share on how to update and install the RPM packages from CD-ROM/DVD-ROM image on Red Hat Enterprise Linux 6 (RHEL 6). This will very useful when you are running on the slow internet connection. Instead of using the internet connection directly to registered RHEL repository, it is possible to use Local CD/DVD-ROM as your yum repository. There are two methods to install and configure local RHEL 6 yum repository. Both methods have been tested and working on RHEL 6 linux server. You can select any method that you most preferred.

Method 1:
1. Insert DVD/ISO into DVD-Drive.
2. Mount the ISO from the DVD-ROM into /mnt directory :

    [root@rhel6 ~]# mount /dev/cdrom /mnt
    mount: block device /dev/sr0 is write-protected, mounting read-only
    

3. Check the existing partition on your RHEL 6 server :

    [root@rhel6 ~]# df
    Filesystem           1K-blocks      Used Available Use% Mounted on
    /dev/mapper/VolGroup-lv_root
                           9845280   1328824   8016336  15% /
    tmpfs                   515660         0    515660   0% /dev/shm
    /dev/sda1               495844     28689    441555   7% /boot
    /dev/sr0               2862360   2862360         0 100% /mnt
    

4. Go to /mnt and check current directory :

    [root@rhel6 ~]# cd /mnt
    [root@rhel6 mnt]# pwd
    /mnt
    

5. List out what is in DVD.

    [root@rhel6 mnt]# ls
    EULA                      RELEASE-NOTES-es-ES.html  RELEASE-NOTES-ru-RU.html
    GPL                       RELEASE-NOTES-fr-FR.html  RELEASE-NOTES-si-LK.html
    HighAvailability          RELEASE-NOTES-gu-IN.html  RELEASE-NOTES-ta-IN.html
    images                    RELEASE-NOTES-hi-IN.html  RELEASE-NOTES-te-IN.html
    isolinux                  RELEASE-NOTES-it-IT.html  RELEASE-NOTES-zh-CN.html
    LoadBalancer              RELEASE-NOTES-ja-JP.html  RELEASE-NOTES-zh-TW.html
    media.repo                RELEASE-NOTES-kn-IN.html  repodata
    Packages                  RELEASE-NOTES-ko-KR.html  ResilientStorage
    README                    RELEASE-NOTES-ml-IN.html  RPM-GPG-KEY-redhat-beta
    RELEASE-NOTES-as-IN.html  RELEASE-NOTES-mr-IN.html  RPM-GPG-KEY-redhat-release
    RELEASE-NOTES-bn-IN.html  RELEASE-NOTES-or-IN.html  Server
    RELEASE-NOTES-de-DE.html  RELEASE-NOTES-pa-IN.html  TRANS.TBL
    RELEASE-NOTES-en-US.html  RELEASE-NOTES-pt-BR.html
    

6. Read what is in media.repo. Take note on the mediaid :

    [root@rhel6 mnt]# cat media.repo
    
    [InstallMedia]
    name=Red Hat Enterprise Linux 6.0
    mediaid=1235481171.125642
    metadata_expire=-1
    gpgcheck=0
    cost=500
    

7. Create dvdrhel.repo text file in /etc/yum.repos.d/ with the following content. Please create something as follow:

    [root@rhel6 ~]# vi /etc/yum.repos.d/dvdrhel.repo
    
    [DVD-RHEL6-Repository]
    mediaid=1235481171.125642
    name=DVD-RHEL6 repository
    baseurl=file:///mnt/Server
    enabled=1
    gpgcheck=0
    

8. Finish. You can start install, remove and update using yum command :

Method 2 :
1. Check the existing partition on your RHEL 6 server :

    [root@rhel6 ~]# df
    Filesystem           1K-blocks      Used Available Use% Mounted on
    /dev/mapper/VolGroup-lv_root
                           9845280   1221632   8123528  14% /
    tmpfs                   515660         0    515660   0% /dev/shm
    /dev/sda1               495844     28689    441555   7% /boot
    

2. Create repo directory in /media :

    [root@rhel6 ~]# mkdir /media/repo
    

3. Create 1 2 3 directory in /media/repo :

    [root@rhel6 ~]# mkdir -p /media/repo/{1,2,3}
    

4. Mount the ISO from the DVDROM into /media/repo/1 directory :

    [root@rhel6 ~]# mount -o loop /dev/cdrom /media/repo/1
    
    [root@rhel6 ~]# df
    Filesystem           1K-blocks      Used Available Use% Mounted on
    /dev/mapper/VolGroup-lv_root
                           9845280   1221644   8123516  14% /
    tmpfs                   515660         0    515660   0% /dev/shm
    /dev/sda1               495844     28689    441555   7% /boot
    /dev/loop0             2862360   2862360         0 100% /media/repo/1
    

5. Create temporary repo folder under /tmp to put required rpm’s packages for createrepo installation :

    [root@rhel6 ~]# mkdir /tmp/repo 
    

6. Copy the require packages to install create repo :

    [root@rhel6 ~]# cp /media/repo/1/Packages/createrepo* /tmp/repo
    [root@rhel6 ~]# cp /media/repo/1/Packages/deltarpm* /tmp/repo
    [root@rhel6 ~]# cp /media/repo/1/Packages/python-deltarpm* /tmp/repo
    

7. Install the rpm packages using below command :

    [root@rhel6 ~]# rpm -ivh /tmp/repo/*
    warning: /tmp/repo/createrepo-0.9.8-4.el6.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
    Preparing...                ########################################### [100%]
       1:deltarpm               ########################################### [ 33%]
       2:python-deltarpm        ########################################### [ 67%]
       3:createrepo             ########################################### [100%]
    

8. Go to /media/repo directory :

    [root@rhel6 ~]# cd /media/repo/
    [root@rhel6 repo]# pwd
    /media/repo
    

9. Run createrepo command :

    [root@rhel6 repo]# createrepo .
     2358/13395 - 1/HighAvailability/Packages/system-config-keyboard-1.3.1-3.el6.i68
    iso-8859-1 encoding on Ville Skyttä  - 2.8.2-2
    
     5037/13395 - 1/LoadBalancer/Packages/system-config-keyboard-1.3.1-3.el6.i686.rp
    iso-8859-1 encoding on Ville Skyttä  - 2.8.2-2
    
     7716/13395 - 1/Packages/system-config-keyboard-1.3.1-3.el6.i686.rpm
    iso-8859-1 encoding on Ville Skyttä  - 2.8.2-2
    
    10395/13395 - 1/ResilientStorage/Packages/system-config-keyboard-1.3.1-3.el6.i68
    iso-8859-1 encoding on Ville Skyttä  - 2.8.2-2
    
    13074/13395 - 1/Server/Packages/system-config-keyboard-1.3.1-3.el6.i686.rpm
    iso-8859-1 encoding on Ville Skyttä  - 2.8.2-2
    
    13395/13395 - 1/Server/Packages/zsh-4.3.10-4.1.el6.i686.rpm
    Saving Primary metadata
    Saving file lists metadata
    Saving other metadata
    

10. Clean up the repo :

    [root@rhel6 ~]# yum clean all
    Loaded plugins: rhnplugin
    Cleaning up Everything
    

11. Create a repo config file in /etc/yum.repos.d/ directory :

    [root@rhel6 ~]# vi /etc/yum.repos.d/rhel.repo
    
    [RHEL6-Repository]
    name=RHEL6 repository
    baseurl=file:///media/repo
    enabled=1
    gpgcheck=0
    

12. Start install using yum command as below :

    [root@rhel6 ~]# yum install httpd
    Loaded plugins: rhnplugin
    This system is not registered with RHN.
    RHN support will be disabled.
    RHEL6-Repository                                                             | 1.3 kB     00:00 ...
    RHEL6-Repository/primary                                                     | 5.4 MB     00:00 ...
    RHEL6-Repository                                                                        13395/13395
    Setting up Install Process
    Resolving Dependencies
    --> Running transaction check
    ---> Package httpd.i686 0:2.2.15-5.el6 set to be updated
    --> Finished Dependency Resolution
    
    Dependencies Resolved
    
    ====================================================================================================
     Package            Arch              Version                   Repository                     Size
    ====================================================================================================
    Installing:
     httpd              i686              2.2.15-5.el6              RHEL6-Repository              813 k
    
    Transaction Summary
    ====================================================================================================
    Install       1 Package(s)
    Upgrade       0 Package(s)
    
    Total download size: 813 k
    Installed size: 2.8 M
    Is this ok [y/N]: y
    Downloading Packages:
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
      Installing     : httpd-2.2.15-5.el6.i686                                                      1/1
    
    Installed:
      httpd.i686 0:2.2.15-5.el6
    
    Complete!
    

As always if you need any help you can reach us on twitter @ehowstuff or drop us a comment below. Jumping through archives page to read more articles..

Related Articles

One thought on “How to Setup Local Yum Repository from CD-ROM/DVD-ROM image on RHEL 6

  1. Pingback: Errors installing Samba on Red Hat Enterprise Linux Desktop (Client) 6.2 VM

Leave a Reply