# RHEL 8.10 Offline Update Script An interactive bash script for applying RHEL 8.10 updates from a local ISO file in air-gapped or disconnected environments. ## Overview This script guides administrators through the process of mounting an update ISO and applying patches to RHEL 8.10 systems that cannot reach Red Hat's CDN or Satellite servers. ## Requirements - RHEL 8.10 system - Root or sudo access - Update ISO: `Full_Latest_RHEL8_x86_64_patches_2026-01-13.iso` - ~35 GB free disk space (if copying ISO locally) ## Quick Start ```bash # Download the script chmod +x rhel8-iso-update.sh # Run with sudo sudo ./rhel8-iso-update.sh ``` ## Features - **Interactive prompts** - Confirms each action before proceeding - **External media detection** - Automatically finds the ISO on USB drives - **Unmounted USB support** - Detects and offers to mount USB devices - **Progress feedback** - Color-coded output for easy reading - **Reboot detection** - Checks if a reboot is needed after updates - **Cleanup options** - Offers to remove configs and unmount when finished ## What the Script Does | Step | Action | |------|--------| | 1 | Locates the ISO file (local storage or external media) | | 2 | Creates mount point at `/media/JanPatch` | | 3 | Mounts the ISO | | 4 | Creates repo file at `/etc/yum.repos.d/JanPatch.repo` | | 5 | Refreshes DNF cache | | 6 | Displays available updates | | 7 | Applies updates | | 8 | Checks if reboot is required | | 9 | Cleanup (optional) | ## Usage Examples ### ISO Already Copied to Server If the ISO is already at `/var/isos/Full_Latest_RHEL8_x86_64_patches_2026-01-13.iso`: ```bash sudo ./rhel8-iso-update.sh ``` The script will detect it and proceed. ### ISO on USB Drive 1. Plug in the USB drive containing the ISO 2. Run the script: ```bash sudo ./rhel8-iso-update.sh ``` 3. The script will detect the USB and offer options: - Copy ISO to local storage (recommended for faster updates) - Use ISO directly from USB (no wait, but slower updates) ### Manual ISO Path If your ISO is in a non-standard location, the script will prompt you to enter the path manually. ## Configuration Default paths used by the script: | Setting | Value | |---------|-------| | ISO filename | `Full_Latest_RHEL8_x86_64_patches_2026-01-13.iso` | | Default ISO path | `/var/isos/` | | Mount point | `/media/JanPatch` | | Repo file | `/etc/yum.repos.d/JanPatch.repo` | | Repo name | `dvd-rhel-patches` | To change these defaults, edit the Configuration section at the top of the script. ## Repository Configuration The script creates the following repo file: ```ini [dvd-rhel-patches] name=DVD for RHEL Patches baseurl=file:///media/JanPatch enabled=1 gpgcheck=0 ``` GPG checking is disabled to avoid signature issues in disconnected environments. ## Cleanup At the end of the process, the script offers to: - Disable the `dvd-rhel-patches` repository - Remove the repo file - Unmount the ISO - Unmount USB drives (if used) - Delete the ISO file to free up space All cleanup actions require confirmation. ## Troubleshooting ### Script won't run ```bash # Make sure it's executable chmod +x rhel8-iso-update.sh # Run with sudo sudo ./rhel8-iso-update.sh ``` ### ISO not detected on USB - Ensure the USB drive is plugged in before running the script - Try running `lsblk` to verify the system sees the drive - The script searches up to 3 directories deep on external media ### "No repodata found" error The ISO structure may differ from expected. Check the ISO contents: ```bash sudo mount -o loop /path/to/iso /mnt/temp ls -la /mnt/temp find /mnt/temp -name "repodata" -type d ``` Update the `baseurl` in `/etc/yum.repos.d/JanPatch.repo` to point to the directory containing `repodata/`. ### Updates failing with dependency errors Try disabling other repos and using only the ISO: ```bash sudo dnf update --disablerepo="*" --enablerepo="dvd-rhel-patches" ``` ## Manual Process If you prefer to run the steps manually, see the accompanying guide: [RHEL 8.10 Offline Update Guide](rhel8-iso-update-guide.md) ## Files | File | Description | |------|-------------| | `rhel8-iso-update.sh` | Interactive update script | | `rhel8-iso-update-guide.md` | Manual step-by-step guide | | `README.md` | This file | ## Author Cybersecurity Team ## Last Updated January 2026