From 795845944c0de47f5a1bc2f5a15b59d3e99dc939 Mon Sep 17 00:00:00 2001 From: allen Date: Thu, 29 Jan 2026 14:31:22 -0800 Subject: [PATCH] Add ManuallyUpdatingRHEL8 --- ManuallyUpdatingRHEL8 | 269 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 269 insertions(+) create mode 100644 ManuallyUpdatingRHEL8 diff --git a/ManuallyUpdatingRHEL8 b/ManuallyUpdatingRHEL8 new file mode 100644 index 0000000..5693093 --- /dev/null +++ b/ManuallyUpdatingRHEL8 @@ -0,0 +1,269 @@ +# 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 \ No newline at end of file