2.9 Creating a Local Yum Repository Using an ISO Image


The system must have sufficient storage space to host a full Oracle Linux Media Pack DVD image (approximately 3.5 GB for Oracle Linux Release 6 Update 3).

To create a local yum repository (for example, if a system does not have Internet access):

  1. On a system with Internet access, download a full Oracle Linux DVD image from the Oracle Software Delivery Cloud at https://edelivery.oracle.com/linux onto removable storage (such as a USB memory stick). For example, V33411-01.iso contains the Oracle Linux Release 6 Update 3 Media Pack for x86 (64 bit).


    You can verify that the ISO was copied correctly by comparing its checksum with the digest value that is listed on edelivery.oracle.com, for example:

    # sha1sum V33411-01.iso
    7daae91cc0437f6a98a4359ad9706d678a9f19de V33411-01.iso
  2. Transfer the removable storage to the system on which you want to create a local yum repository, and copy the DVD image to a directory in a local file system.

    # cp /media/USB_stick/V33411-01.iso /ISOs
  3. Create a suitable mount point, for example /var/OSimage/OL6.3_x86_64, and mount the DVD image on it.

    # mkdir -p /var/OSimage/OL6.3_x86_64
    # mount -o loop,ro /ISOs/V33411-01.iso /var/OSimage/OL6.3_x86_64

    Include the read-only mount option (ro) to avoid changing the contents of the ISO by mistake.

  4. Create an entry in /etc/fstab so that the system always mounts the DVD image after a reboot.

    /ISOs/V33411-01.iso /var/OSimage/OL6.3_x86_64 iso9660 loop,ro 0 0
  5. Disable all existing yum repositories.

    In the /etc/yum.repos.d directory, edit any existing repository files and disable all entries by setting enabled=0. If you have the yum-utils package installed, as described in Section 2.3.4, “Using Yum Utilities to Manage Configuration”, you can disable all repositories by running:

    # yum-config-manager --disable \*
  6. Create the following entries in a new repository file (for example, /etc/yum.repos.d/OL63.repo).

    name=Oracle Linux 6.3 x86_64
  7. Clean up the yum cache.

    # yum clean all
  8. Test that you can use yum to access the repository.

    # yum repolist
    Loaded plugins: refresh-packagekit, security
    repo id                          repo name                                status
    OL63                             Oracle Linux 6.3 x86_64                  25,459
    repolist: 25,459