Appendix E. Importing Content ISOs into a Connected Satellite

Even if Satellite Server can connect directly to the Red Hat Customer Portal, you can perform the initial synchronization from locally mounted content ISOs. When the initial synchronization is completed from the content ISOs, you can switch back to downloading content through the network connection. To accomplish this, download the Content ISOs for Red Hat Satellite from the Red Hat Customer Portal and import them into Satellite Server. For locations with bandwidth limitations, using an On Demand or Background download policy might be more efficient than downloading and importing Content ISOs.

Important

You can only import content ISO images for Red Hat Enterprise Linux 8 because repodata checksum from CDN does not match the repodata checksum from the content ISO images for Red Hat Enterprise Linux 7 and lower.

Note that if you synchronize a Red Hat Enterprise Linux ISO, all minor versions of Red Hat Enterprise Linux also synchronize. You require adequate storage on your Satellite to account for this.

Important

This section is not required if your Satellite Server is connected to the Internet.

This example procedure performs the first synchronization of the Red Hat Enterprise Linux 8 repository from content ISO images.

Procedure

  1. Log in to the Red Hat Customer Portal at https://access.redhat.com/.
  2. In the upper left of the window, click Downloads and select Red Hat Satellite.
  3. Click the Content ISOs tab. This page lists all the products that are available in your subscription.
  4. Click the link for the product name, such as RHEL 8 (x86_64), to reveal links to download ISO images.
  5. Download the ISO images.
  6. On Satellite, create a directory to act as a temporary store for all of the required Satellite content ISO images. This example uses /tmp/isos/rhel8:

    # mkdir -p /tmp/isos/rhel8
  7. On your workstation, copy the ISO files to Satellite Server:

    $ scp ~/Downloads/iso_file root@satellite.example.com:/tmp/isos/rhel8
  8. On Satellite Server, create a directory to serve as a mount point for the ISOs:

    # mkdir /mnt/iso
  9. Create a working directory to store ISO images:

    # mkdir /mnt/rhel8
  10. Temporarily mount the first ISO image:

    # mount -o loop /tmp/isos/iso_file /mnt/iso
  11. Recursively copy the contents of the first ISO to the working directory:

    # cp -ruv /mnt/iso/* /mnt/rhel8/
  12. Unmount the ISO image:

    # umount /mnt/iso
  13. Repeat the above step for each ISO until you have copied all the data from the Content ISO images into /mnt/rhel8.
  14. If required, remove the empty directory used as the mount point:

    # rmdir /mnt/iso
  15. If required, remove the temporary working directory and its contents to regain space:

    # rm -rf /tmp/isos/
  16. Set the owner and the SELinux context for the directory and its contents to be the same as /var/lib/pulp:

    # chcon -R --reference /var/lib/pulp  /mnt/rhel8/
    # chown -R apache:apache /mnt/rhel8/
  17. Create or edit the /etc/pulp/content/sources/conf.d/local.conf file. Append the following text into the file:

    [rhel-8-server]
    enabled: 1
    priority: 0
    expires: 3d
    name: Red Hat Enterprise Linux 8
    type: yum
    base_url: file:///mnt/rhel8/content/dist/rhel/server/8/x86_64/os/

    The base_url path might differ in your content ISO. The directory specified in base_url must contain the repodata directory, otherwise the synchronization fails. To synchronize multiple repositories, create a separate entry for each of them in the configuration file /etc/pulp/content/sources/conf.d/local.conf.

  18. In the Satellite, navigate to Content > Red Hat Repositories and enable the following repositories:

    • Red Hat Enterprise Linux 8 for x86_64 - BaseOS RPMs 8
    • Red Hat Enterprise Linux 8 for x86_64 - AppStream RPMs 8
  19. Under Content > Sync Status select the repositories to be synchronized and click Synchronize Now.

Note that the Satellite web UI does not indicate which source is being used. In case of problems with a local source, Satellite pulls content through the network. To monitor the process, enter the following command on Satellite:

# journalctl -f -l SYSLOG_IDENTIFIER=pulp | grep -v worker[\-,\.]heartbeat

The above command displays interactive logs. First, Satellite Server connects to the Red Hat Customer Portal to download and process repository metadata. Then, the local repository is loaded. In case of any errors, cancel the synchronization in the Satellite web UI and verify your configuration.

After successful synchronization you can detach the local source by removing its entry from /etc/pulp/content/sources/conf.d/local.conf.