Prepare offline RPMs with subscription repositories

On a subscribed, internet-connected Red Hat Enterprise Linux host, mirror or download Red Hat Edge Manager RPMs into a local repository tree for transfer to a disconnected site.

About this task

Use Preparing an offline installation bundle instead when you want images and RPMs in one portable archive.

Important

This procedure stages RPMs only. Mirror container images to a registry the target host can reach before you start Red Hat Edge Manager services on a management server.

Procedure

  1. Identify dependencies with dnf deplist. On the connected prep host, enable the Red Hat Edge Manager repository, then list the dependency tree for the packages you plan to install offline.
    1. Enable the repository:
      sudo subscription-manager repos --enable edge-manager-1.3-for-rhel-10-x86_64-rpms

      Use edge-manager-1.3-for-rhel-9-x86_64-rpms on Red Hat Enterprise Linux 9.

    2. List dependencies for the agent and CLI:
      dnf deplist flightctl-agent | head -20
      dnf deplist flightctl-cli | head -10

      Example output for the agent (package names and versions vary by release):

      package: flightctl-agent
        dependency: flightctl-selinux = 1.3.0
         provider: flightctl-selinux-1.3.0-1.el10.x86_64
        dependency: jq
         provider: jq-1.7.1-6.el10.x86_64
        dependency: sudo
         provider: sudo-1.9.15-5.el10.x86_64
      recommends: flightctl-greenboot = 1.3.0
         provider: flightctl-greenboot-1.3.0-1.el10.x86_64

      The flightctl-selinux package appears in the agent dependency tree. You do not need to list it separately when you install or download the agent.

      Note

      The dnf deplist output shows flightctl-greenboot as a Recommends: (weak) dependency. On image-mode hosts, flightctl-greenboot is installed automatically because weak dependencies are enabled by default. On package-mode hosts using --setopt=install_weak_deps=False, the subpackage is excluded. For more information, see Image-mode and package-mode agent installation.

    3. Optional: list dependencies for the management server package if you deploy flightctl-services:
      dnf deplist flightctl-services | head -20
    Important

    dnf deplist shows direct dependencies. Runtime installation can pull additional transitive packages from Red Hat Enterprise Linux base and subscription repositories. The prep machine must match the target Red Hat Enterprise Linux version so dependency resolution is correct. If dnf install fails on the target with missing dependencies, re-run the download or sync steps on a matching prep host and include --alldeps when you use Option B.

  2. Option A: Mirror the full repository with dnf reposync. Use this option when you want every package in the Red Hat Edge Manager repository, with metadata, in one step.
    1. Sync packages and metadata:
      sudo dnf install -y dnf-plugins-core
      sudo dnf reposync -p /var/rhem-offline-rpms \
        --repo=edge-manager-1.3-for-rhel-10-x86_64-rpms \
        --download-metadata

      Example output (truncated):

      Updating Subscription Management repositories.
      Last metadata expiration check: 0:00:01 ago on Wed 28 May 2026 10:15:00 AM UTC.
      (1/142): flightctl-agent-1.2.0-1.el10.x86_64.rpm    1.2 MB/s |  12 MB     00:10
      (2/142): flightctl-cli-1.2.0-1.el10.x86_64.rpm      980 kB/s | 8.1 MB     00:08
      ...
    2. Verify repository metadata and Red Hat Edge Manager packages:
      ls /var/rhem-offline-rpms/edge-manager-1.3-for-rhel-10-x86_64-rpms/repodata/
      ls /var/rhem-offline-rpms/edge-manager-1.3-for-rhel-10-x86_64-rpms/*.rpm | \
        grep -E 'flightctl-(agent|cli|selinux|services)'

    When you configure the offline repository on the target host, set baseurl to the directory that contains repodata/ (for example file:///var/rhem-offline-rpms/edge-manager-1.3-for-rhel-10-x86_64-rpms). See Installing from a local RPM repository.

  3. Option B: Download agent and CLI packages only. Use this option for a smaller transfer when you only need edge device packages.
    1. Create a download directory:
      sudo mkdir -p /var/rhem-offline-rpms
    2. Download packages and dependencies:
      sudo dnf download --resolve --alldeps --destdir /var/rhem-offline-rpms \
        flightctl-agent flightctl-cli

      Always include --alldeps with --resolve. Without --alldeps, dnf download can skip packages already installed on the prep machine that the air-gapped target does not have.

      Note

      The --alldeps flag includes flightctl-greenboot in the download. On package-mode hosts, this subpackage is not needed. You can safely exclude it at install time by using --setopt=install_weak_deps=False.

    3. Verify the three Red Hat Edge Manager packages are present:
      ls /var/rhem-offline-rpms/*.rpm | grep -E 'flightctl-(agent|cli|selinux)'
    4. Generate repository metadata:
      sudo dnf install -y createrepo_c
      sudo createrepo_c /var/rhem-offline-rpms

      Verify metadata:

      ls /var/rhem-offline-rpms/repodata/

    On the target host, set baseurl=file:///var/rhem-offline-rpms in /etc/yum.repos.d/rhem-offline.repo.