Populate the Package Repositories

During the local mirror setup, an EngineeredSystems directory is created. When packages are downloaded to the local mirror, they will be stored in subdirectories of EngineeredSystems. You must create soft links to these subdirectories to allow the system to locate the packages. Then you run the repository update script to download the packages to the respective local repositories.

Note:

As long as a channel contains no package updates, you cannot subscribe to it yet, which implies that its local mirror directory does not exist and no soft link can be created. Check your ULN registration regularly for new "PCA" channels. If new channels are found, repeat the procedure: subscribe to them, create the soft links, and run the repository update script.

Caution:

The repository update script (uln-yum-mirror) updates all mirrored channels, so use it carefully. You must keep the mirror repositories at a given version until all appliance components have been patched. Ensure that automatic synchronization is disabled. If the mirror is synchronized between patch operations, components will be patched to different software levels. This leads to unreliable appliance operation and potential service disruption.

  1. Create soft links for your local mirror directories.

    The default location of the EngineeredSystems directory is /var/www/html/yum/EngineeredSystems. To ensure that the system can locate the packages in the subdirectories, create soft links in the parent directory /var/www/html/yum that point to the mirror subdirectories. The exact path to these directories differs between Oracle Linux 8 and Oracle Linux 7.

    • Soft links on an Oracle Linux 8 mirror:

      ln -s EngineeredSystems/pca302/hypervisor/x86_64/pca302_x86_64_hypervisor pca302_x86_64_hypervisor
      ln -s EngineeredSystems/pca302/containers/x86_64/pca302_x86_64_container_images pca302_x86_64_container_images
      ln -s EngineeredSystems/pca302/fw/x86_64/pca302_x86_64_fw pca302_x86_64_fw
      ln -s EngineeredSystems/pca302/mn/x86_64/pca302_x86_64_mn pca302_x86_64_mn
      ln -s EngineeredSystems/pca302/oci/x86_64/pca302_x86_64_oci pca302_x86_64_oci
      ln -s EngineeredSystems/pca302/regionregistry/x86_64/pca302_x86_64_regionregistry pca302_x86_64_regionregistry
    • Soft links on an Oracle Linux 7 mirror:

      ln -s EngineeredSystems/pca302/hypervisor/x86_64 pca302_x86_64_hypervisor
      ln -s EngineeredSystems/pca302/containers/x86_64 pca302_x86_64_container_images
      ln -s EngineeredSystems/pca302/fw/x86_64 pca302_x86_64_fw
      ln -s EngineeredSystems/pca302/mn/x86_64 pca302_x86_64_mn
      ln -s EngineeredSystems/pca302/oci/x86_64 pca302_x86_64_oci
      ln -s EngineeredSystems/pca302/regionregistry/x86_64 pca302_x86_64_regionregistry

    Note:

    This example assumes that all "PCA" channels contain updates. If a channel has no updates, you cannot subscribe to it, meaning the mirror directory and soft link cannot be created. Check your ULN registration whenever a new appliance software build is released, and repeat this procedure if new "PCA" channels are available.

  2. Populate or update the repositories. The following command downloads all new packages to the local mirror file system. The initial download could take an hour or longer.

    # /usr/bin/uln-yum-mirror

    Caution:

    Keep the mirror repositories at a given version until all appliance components have been patched. Ensure that automatic synchronization is disabled. If the mirror is synchronized between patch operations, components will be patched to different software levels. This leads to unreliable appliance operation and potential service disruption.

  3. Verify that a repodata directory was created at the location of a soft link.

    The presence of a repodata directory indicates that the repository was populated successfully. Perform this check for each new ULN channel you set up on the mirror. There is no need to repeat these checks when an existing local repository is updated.

    # ls -l /var/www/html/yum/pca302_x86_64_hypervisor/
    drwxr-xr-x. 2 root root 12288 Dec 19 03:20 getPackage
    drwxr-xr-x. 2 root root  4096 Dec 19 03:19 getPackageSource
    drwxr-xr-x. 2 root root  4096 Jan 15 03:41 repodata