Boilerplate BASH wrapper script for upgrading Alma Linux 8 to Alma Linux 9 via Leapp ELevate.
Alma Linux ELevate documentation can be found here
IMPORTANT
This script should be considered the basis for it's own work effort and not a complete script in and of itself.
It may be possible to run the script as is and successfully upgrade a server to Rocky 9, but there will likely need to be additional adjustments.
Take a snapshot before using! No warranties, ymmv.
- elevateHelper.sh, a BASH script for upgrading Alma Linux 8 servers to Alma Linux 9.
Runs in three parts, a prep stage, an upgrade stage and a post-upgrade stage. Stages are elaborated on further below.
Script will prompt user to check output from script at several points and is not a "fire and forget" script.
These points requiring input will always be color coded in yellow preceeded by IMPORTANT: to help output stand out.
Usage,./elevateHelper.sh STAGE
Ex../elevateHelper.sh prep
Ex../elevateHelper.sh upgrade
Ex../elevateHelper.sh post
Script also has a help function:
Help,./elevateHelper.sh help
See Upgrade Stages section below for breakdown on stages.
Script upgrades server in three stages, below is a breakdown of what's approximately done in each stage.
- Prep, Prepare the server for upgrading. This is the most involved of the three stages and the most likely place issues will arise.
Server is updated, ELevate packages are installed, repos are adjusted, and server is checked for errors that will prevent upgrades from completing.
While encountered errors from testing will be resolved there will likely be additional adjustments required depending on server configurations.
Below are some of the common fail points from testing:
- Duplicate packages
- Development versions of kernels installed
- Kernel mismatches between newest installed kernel and running kernel
- Not enough disk space being available
- Incompatible software like NFS or Samba
- Upgrade, Upgrade server with leapp upgrade tool. Fairly straightforward, main requirement is at least 10 GB of disk space be available. If there isn't enough disk space the upgrade will fail. Script has some error checking for this.
- Post, Once server is upgraded removed packages are re-installed, repos are re-enabled, server is updated, failed services are checked and any packages not upgraded by the upgrade process are listed. Grub menu is also regenerated.
To copy just the script onto a server:
Production version:
wget https://raw.githubusercontent.com/ngrogg/leapp-elevate-alma8-helper/refs/heads/main/elevateHelper.sh
Testing version (not recommended):
wget https://raw.githubusercontent.com/ngrogg/leapp-elevate-alma8-helper/refs/heads/testing/elevateHelper.sh