AlmaLinux 8 to Rocky Linux from CIQ
Overview
migrate2rlc.sh converts AlmaLinux 8 systems to Rocky Linux from CIQ (RLC)
using the CIQ Depot. AlmaLinux 8 is the most straightforward EL8 migration
path. It uses a standard kernel (no proprietary kernels to remove), and the
package swap from almalinux-release to rocky-release is clean with minimal
conflicts.
The script auto-detects AlmaLinux 8 and handles the migration without any special flags.
Prerequisites
- AlmaLinux 8.x (any minor version) with internet access
- Root or sudo privileges
- CIQ Depot credentials (username and token)
- At least 2 GB free disk space
- A maintenance window (reboot required)
- Backups of any critical data
Migration Command
./migrate2rlc.sh -r -t rlc-pro -u <depot-username> -p <depot-token>
Supported tiers: rlc-pro, rlc-plus, rlc-96-lts
The -r flag triggers an automatic reboot. Omit it to reboot manually.
What Happens During Migration
- Pre-flight checks: validates system, checks disk space, detects third-party repos
- Third-party repo handling: disables non-base repos temporarily
- Package swap: replaces
almalinux-releaseand related packages with Rocky equivalents - Depot enrollment: installs depot CLI, authenticates, enables tier product
distro-sync: synchronizes all packages to RLC repository versions- Post-migration update: installs CIQ kernel, verifies services, generates summary
- Reboot: boots into Rocky kernel with CIQ packages
No special kernel handling or GRUB repair is needed for AlmaLinux 8. The
standard RHEL-compatible kernel carries over cleanly, and the CIQ kernel
replaces it during distro-sync.
AlmaLinux 8 Specific Notes
Standard Package Swap
The migration replaces these AlmaLinux packages with their Rocky counterparts:
almalinux-release->rocky-releasealmalinux-repos-> Rocky repo configurationalmalinux-gpg-keys->ciq-rocky-gpg-keys
This swap is handled atomically via rpm -e --nodeps followed by installation
of the Rocky packages, the same approach used for all EL migrations.
AlmaLinux Vault URLs
If the system is running an older minor version (e.g., 8.6 or 8.7) and the
AlmaLinux mirrors have vaulted those releases, the script handles this
transparently. The distro-sync step pulls from the CIQ Depot repositories,
which carry the current packages regardless of the source OS minor version.
If pre-migration dnf operations fail due to stale AlmaLinux mirror URLs, the script's repo-rewrite logic corrects the baseurl before proceeding.
No Kernel-Specific Handling
Unlike Oracle Linux (which requires UEK force-removal), AlmaLinux 8 uses the
standard RHEL-compatible kernel. No special kernel removal, GRUB repair, or
boot entry fixup is required. The CIQ kernel replaces the AlmaLinux kernel
cleanly during distro-sync.
Third-Party Repo Detection
The script uses dynamic pattern-based detection to identify third-party
repositories (EPEL, Docker CE, Elasticsearch, etc.). These are disabled during
the package swap and distro-sync, then re-enabled afterward. No hardcoded repo
names are used, so custom or uncommon third-party repos are handled correctly.
Post-Migration Verification
After reboot, confirm the migration:
cat /etc/os-release
rpm -q rocky-release ciq-rocky-gpg-keys
depot list
uname -r
The kernel should show a CIQ build suffix. All depot products for your tier should appear as enabled.
Run the verification script for a comprehensive check:
./verify_migration.sh
Tier Changes
To switch tiers after initial migration:
./migrate2rlc.sh -r -t rlc-plus -u <depot-username> -p <depot-token>
The script detects the existing RLC installation and performs a tier change.
All six tier permutations are supported. Note: EL8 does not have tier-specific
release packages (no rlc-pro-release on EL8), so tier identity is tracked
through depot product enrollment only.
Troubleshooting
dnf errors referencing AlmaLinux mirrors
If dnf operations fail with 404 errors for AlmaLinux URLs, the old minor
version repos may be vaulted. The script normally handles this, but if
running manually, you can temporarily point repos to
https://repo.almalinux.org/vault/8/ before starting migration.
AlmaLinux packages remain after migration
Run rpm -qa | grep -i almalinux to check for residual packages. If any
remain, remove them with dnf remove <package> and run dnf distro-sync
to resynchronize.
Third-party repos still disabled
Check /etc/yum.repos.d/ for files with .disabled suffixes or repos with
enabled=0. The script should restore them post-migration, but manual
re-enabling may be needed if the migration was interrupted.
Services not starting after reboot
The post-reboot recovery service checks and restarts monitored services.
If a service fails, check its logs with journalctl -u <service>. Common
causes include config file path differences between AlmaLinux and Rocky
(rare but possible with community-maintained packages).
DISCLAIMER
The migrate2rlc script and playbook are provided "as is" without warranty of any kind, express or implied. Use of these tools is entirely at your own risk. CIQ, Inc. assumes no responsibility or liability for any data loss, system downtime, service disruption, or other damage resulting from the use or misuse of these tools. It is the user's responsibility to ensure adequate backups and testing in a non-production environment before performing any migration on production systems.