From 040511159a222b11b5a81ecbfb30288deeafe3bb Mon Sep 17 00:00:00 2001 From: allen Date: Thu, 29 Jan 2026 14:59:50 -0800 Subject: [PATCH] Upload files to "/" --- README.md | 174 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 174 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..d4ea59c --- /dev/null +++ b/README.md @@ -0,0 +1,174 @@ +# 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