# RHEL 8.10 Offline Update Guide: Loading Updates from ISO ## Overview This guide covers the process of applying RHEL 8.10 updates using a locally-mounted ISO file containing the full update repository. This method is used in air-gapped or disconnected environments where systems cannot reach Red Hat's CDN or Satellite servers. --- ## Prerequisites - Root or sudo access on the target system - The update ISO file: `Full_Latest_RHEL8_x86_64_patches_2026-01-13.iso` (~30 GB) - **Minimum 35 GB free disk space** for the ISO file and package installation - Cockpit is available at `https://:9090` for GUI-based monitoring > **Note:** Due to the large ISO size (30 GB), file transfers may take significant time. Plan accordingly and verify transfer integrity with checksums when possible. --- ## Update Methods You have two options for performing this procedure: | Method | Best For | |--------|----------| | **Command Line (Terminal)** | Scripting, remote SSH sessions, full control | | **Desktop GUI (KVM)** | Visual file management, less experienced admins | You can also use **Cockpit** (`https://:9090`) to access a web-based terminal if you don't have direct SSH access. --- ## Procedure ### Step 1: Transfer the ISO to the System Copy the ISO file to a location on the target system. Common locations include `/tmp`, `/opt`, or `/var/isos`. **Option A: Command Line** ```bash # Example: If copying from USB drive cp /run/media/username/USBDRIVE/Full_Latest_RHEL8_x86_64_patches_2026-01-13.iso /var/isos/ ``` > **Tip:** For a 30 GB file, this transfer will take several minutes. You can monitor progress with: > ```bash > rsync -ah --progress /run/media/username/USBDRIVE/Full_Latest_RHEL8_x86_64_patches_2026-01-13.iso /var/isos/ > ``` **Option B: GUI File Manager (GNOME Files)** 1. Open **Files** from the Applications menu 2. Navigate to the USB drive in the left sidebar 3. Right-click `Full_Latest_RHEL8_x86_64_patches_2026-01-13.iso` and select **Copy** 4. Navigate to **Other Locations** → **Computer** → `var` → `isos` 5. Right-click and select **Paste** 6. Wait for the progress bar to complete (~30 GB transfer) ### Step 2: Create the Mount Point Create the directory where the ISO will be mounted: ```bash sudo mkdir -p /media/JanPatch ``` ### Step 3: Mount the ISO **Option A: Command Line** Mount the ISO file as a loop device: ```bash sudo mount -o loop /var/isos/Full_Latest_RHEL8_x86_64_patches_2026-01-13.iso /media/JanPatch ``` Verify the mount was successful: ```bash ls /media/JanPatch ``` **Option B: GUI using GNOME Disks (via KVM)** 1. Open **Disks** from the Applications menu (search "Disks") 2. Click the three-dot menu (⋮) in the top-right corner 3. Select **Attach Disk Image...** 4. Navigate to `/var/isos/` and select `Full_Latest_RHEL8_x86_64_patches_2026-01-13.iso` 5. Click **Attach** 6. The ISO will mount automatically (note: you may need to create a symlink to `/media/JanPatch` or update the repo file path) **Option C: GUI using GNOME Files (via KVM)** 1. Open **Files** from the Applications menu 2. Navigate to `/var/isos/` 3. Right-click on `Full_Latest_RHEL8_x86_64_patches_2026-01-13.iso` 4. Select **Open With Disk Image Mounter** 5. The ISO will appear in the left sidebar under "Devices" > **Note:** For GUI mounts, the system may mount to a different location. For consistency, use the command line method to mount directly to `/media/JanPatch`. ### Step 4: Create the Local Repository Configuration Create a new repo file that points to the mounted ISO: ```bash sudo nano /etc/yum.repos.d/JanPatch.repo ``` Add the following content: ```ini [dvd-rhel-patches] name=DVD for RHEL Patches baseurl=file:///media/JanPatch enabled=1 gpgcheck=0 ``` Save and exit (Ctrl+O, Enter, then Ctrl+X). ### Step 5: Clean and Refresh Repository Cache Clear the existing yum/dnf cache and rebuild it with the new repo: ```bash sudo dnf clean all sudo dnf makecache ``` ### Step 6: Verify Repository Availability Confirm the local repositories are recognized: ```bash sudo dnf repolist ``` You should see `local-baseos-updates` and `local-appstream-updates` in the list. ### Step 7: Apply Updates **Option A: Apply all available updates** ```bash sudo dnf update -y ``` **Option B: Check what updates are available first** ```bash sudo dnf check-update ``` **Option C: Update specific packages only** ```bash sudo dnf update -y ``` ### Step 8: Reboot if Required If kernel or critical system packages were updated, a reboot is required: ```bash sudo needs-restarting -r ``` If a reboot is needed: ```bash sudo systemctl reboot ``` --- ## Using Cockpit for Remote Terminal Access If you don't have direct SSH or KVM access, you can use Cockpit's web-based terminal to run all the command-line steps. ### Access Cockpit Terminal 1. Open a web browser on your workstation 2. Navigate to `https://:9090` 3. Log in with your admin credentials 4. Click **Terminal** in the left sidebar 5. Run all command-line steps (Steps 1-8) from this terminal > **Note:** Cockpit's Terminal provides full shell access. You can run all the same commands as you would via SSH or local console. --- ## Post-Update Cleanup After updates are complete and verified, clean up the temporary configuration: ### Disable or Remove the Local Repo ```bash # Option 1: Disable the repo (keeps config for future use) sudo dnf config-manager --set-disabled dvd-rhel-patches # Option 2: Remove the repo file entirely sudo rm /etc/yum.repos.d/JanPatch.repo ``` ### Unmount the ISO ```bash sudo umount /media/JanPatch ``` ### Remove the Mount Point (Optional) ```bash sudo rmdir /media/JanPatch ``` ### Delete the ISO (If No Longer Needed) ```bash sudo rm /var/isos/Full_Latest_RHEL8_x86_64_patches_2026-01-13.iso ``` --- ## Troubleshooting ### "No repodata found" Error - Verify the ISO structure: `ls -la /media/JanPatch/` - The `baseurl` must point to the directory containing `repodata/` - Try: `find /media/JanPatch -name "repodata" -type d` ### "Mount point busy" When Unmounting Ensure no terminal sessions or processes are using the mount: ```bash # Check what's using the mount sudo lsof /media/JanPatch # Force unmount if necessary (use with caution) sudo umount -l /media/JanPatch ``` ### Repository Priority Conflicts If other repos are enabled and causing conflicts, temporarily disable them: ```bash sudo dnf update --disablerepo="*" --enablerepo="dvd-rhel-patches" ``` --- ## Quick Reference Commands | Task | Command | |------|---------| | Mount ISO | `sudo mount -o loop /var/isos/Full_Latest_RHEL8_x86_64_patches_2026-01-13.iso /media/JanPatch` | | List repos | `sudo dnf repolist` | | Check updates | `sudo dnf check-update` | | Apply updates | `sudo dnf update -y` | | Check reboot needed | `sudo needs-restarting -r` | | Unmount ISO | `sudo umount /media/JanPatch` | --- ## Document Information - **Applies to:** RHEL 8.10 systems - **Last Updated:** January 2026 - **Author:** Cybersecurity Team