Upload files to "/"
This commit is contained in:
174
README.md
Normal file
174
README.md
Normal file
@@ -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
|
||||
Reference in New Issue
Block a user