Howto migrate centos7 to 8x
rhel alternatives or derivatives:
cloud images:
https://wiki.vidalinux.org/index.php/Linux_cloud_images
distributions to migrate supported:
- CentOS 7 to AlmaLinux 8
- CentOS 7 to Rocky Linux 8
- CentOS 7 to Oracle Linux 8
- CentOS 7 to CentOS Stream 8
update centos7 repos to use vault.centos.org:
sed -i -e '/^mirrorlist/d;/^#baseurl=/{s,^#,,;s,/mirror,/vault,;}' /etc/yum.repos.d/CentOS*.repo
update to latest packages:
yum update -y
verify your current version:
cat /etc/centos-release
install elevate-release package:
yum install http://repo.almalinux.org/elevate/elevate-release-latest-el7.noarch.rpm -y
install leapp-upgrade and migration-data:
Possible options are:
- leapp-data-almalinux
- leapp-data-centos
- leapp-data-oraclelinux
- leapp-data-rocky
yum install leapp-upgrade leapp-data-almalinux -y
install networkmanager is not installed:
yum install NetworkManager -y
enable and start networkmanager:
systemctl enable NetworkManager && systemctl start NetworkManager
disable selinux on /etc/default/grub add the following:
GRUB_CMDLINE_LINUX="console=tty0 crashkernel=auto net.ifnames=0 biosdevname=0 console=ttyS0 selinux=0"
update grub config:
grub2-mkconfig -o /boot/grub2/grub.cfg
start a preupgrade check:
leapp preupgrade
normally the check will fail, it’s normal because we need to do some tweaks:
modprobe -r btrfs rmmod pata_acpi echo PermitRootLogin yes | sudo tee -a /etc/ssh/sshd_config leapp answer --section remove_pam_pkcs11_module_check.confirm=True
then run check again:
leapp preupgrade
if everything runs well, upgrade the system:
leapp upgrade
once the migration is completed, you’ll be offered to reboot the system:
reboot
select the new entry in grub called ELevate-Upgrade-Initramfs, wait for the upgrade process to finish.
when system is migrated to el8 run the following command to remove any el7 rpm package:
rpm -qa|grep el7|xargs rpm -e
centos8 to almalinux8
fix mirrors:
sed -i -e '/^mirrorlist/d;/^#baseurl=/{s,^#,,;s,/mirror,/vault,;}' /etc/yum.repos.d/CentOS*.repo
update your system to latest:
yum update -y
download deploy script:
curl -O https://raw.githubusercontent.com/AlmaLinux/almalinux-deploy/master/almalinux-deploy.sh
fix script permissions:
chmod +x almalinux-deploy.sh
run the script:
bash almalinux-deploy.sh
if an error ocurrs with signatures do the following:
rpm --import https://repo.almalinux.org/almalinux/RPM-GPG-KEY-AlmaLinux
almalinux8 to almalinux9
rocky8 to rocky9
install rocky-release, rocky-repos, and rocky-gpg-keys:
VERSION=9.5-1.3 REPO_URL="https://download.rockylinux.org/pub/rocky/9/BaseOS/x86_64/os/Packages/r" RELEASE_PKG="rocky-release-${VERSION}.el9.noarch.rpm" REPOS_PKG="rocky-repos-${VERSION}.el9.noarch.rpm" GPG_KEYS_PKG="rocky-gpg-keys-${VERSION}.el9.noarch.rpm" dnf install -y $REPO_URL/$RELEASE_PKG $REPO_URL/$REPOS_PKG $REPO_URL/$GPG_KEYS_PKG
remove unneccesary packages:
dnf -y remove rpmconf yum-utils epel-release rm -rf /usr/share/redhat-logos
install rocky9 packages:
dnf -y --releasever=9 --allowerasing --setopt=deltarpm=false distro-sync
if upgrade got stock upgrading auditd:
ps aux | grep [a]udit kill -9 <pid>
when package installation finish recreate rpmdb:
rpm --rebuilddb
reboot system:
reboot
remove all el8 rpms:
rpm -qa|grep el8|xargs rpm -e
remove all modules:
dnf module disable "*" -y
remove all old gpg keys:
rpm -e `rpm -qa | grep gpg-pubkey | xargs`