AlmaLinux és Rocky Linux frissítése 8-ról 9-re ELevate-tel

Az AlmaLinux és a Rocky Linux 8-as főverziója 2029-ig kap biztonsági frissítéseket, de az újabb szoftververziók (PHP, adatbázisok, programkönyvtárak) már csak a 9-es és 10-es főverzióhoz érhetők el. A szervert nem kell újratelepíteni: az ELevate eszközzel helyben frissíthető. Az ELevate a Red Hat Leapp keretrendszerére épül, és a csomagokat a következő főverzió csomagjaira cseréli.

Ez a cikk saját VPS-t vagy dedikált szervert üzemeltetőknek szól. CloudLinux szerver frissítéséről, illetve cPanel és Plesk szerverekről a CloudLinux frissítése 8-ról 9-re ELevate-tel cikk szól; cPanel szerveren a cPanel saját elevate-cpanel szkriptjét kell használni, az itt leírt lépéseket ne alkalmazza.

Mielőtt elkezdi

  • Készítsen teljes mentést vagy pillanatképet a szerverről. Egy sikertelen frissítés után a visszaállítás a legbiztosabb megoldás.
  • Biztosítson SSH-tól független hozzáférést, például VNC-konzolt. A frissítés közben a szerver újraindul, és ha valami félremegy, SSH-n nem fogja elérni.
  • Számoljon leállással. Az újraindítás utáni frissítési szakasz 30-90 percig is eltarthat, ezalatt a szerver nem érhető el.
  • Nézze át a külső tárolókat (dnf repolist). Az EPEL tároló csomagjait az ELevate általában kezeli, de más, külső tárolók (például Remi, MariaDB, Docker) csomagjait a frissítés előtt el kell távolítania, vagy utána kézzel kell frissítenie.
  • Frissítse a rendszert, és indítsa újra, hogy a legújabb kernel fusson:

    sudo dnf update -y
    sudo reboot
    

A parancsokat tmux vagy screen munkamenetben futtassa, hogy egy SSH kapcsolatbontás ne szakítsa meg (lásd: Parancsok futtatása megszakadó SSH kapcsolat mellett).

1. Az ELevate telepítése

sudo dnf install -y http://repo.almalinux.org/elevate/elevate-release-latest-el$(rpm --eval %rhel).noarch.rpm

Ezután telepítse a Leapp csomagokat és a cél-disztribúció adatcsomagját. AlmaLinux 9-re frissítéshez:

sudo dnf install -y leapp-upgrade leapp-data-almalinux

Rocky Linux 9-re frissítéshez:

sudo dnf install -y leapp-upgrade leapp-data-rocky

2. Előzetes ellenőrzés

sudo leapp preupgrade

Ez a lépés semmit nem módosít a rendszeren, csak felméri, hogy a frissítés elvégezhető-e. Az első futás szinte mindig hibát jelez, ez várható. Az eredmény a /var/log/leapp/leapp-report.txt fájlba kerül:

sudo less /var/log/leapp/leapp-report.txt

A jelentésben a Risk Factor: high (inhibitor) jelölésű tételek akadályozzák a frissítést; ezeket el kell hárítania. A jelentés minden tételnél leírja a javasolt megoldást. Gyakori tételek:

  • Root bejelentkezés jelszóval: az AlmaLinux 9 alapértelmezése szerint a root felhasználó jelszóval nem léphet be SSH-n. Ha eddig így lépett be, a frissítés után kizárná magát. Hozzon létre saját felhasználót (lásd: Felhasználó létrehozása és sudo jogosultság adása), vagy írja be kifejezetten a PermitRootLogin yes sort az /etc/ssh/sshd_config fájlba.
  • Nem támogatott vagy idegen csomagok: a jelentés felsorolja azokat a csomagokat, amelyeket a Leapp nem tud frissíteni. Ezeket távolítsa el (sudo dnf remove ...), és a frissítés után telepítse újra.
  • Megválaszolandó kérdések: ha a Leapp kérdést tesz fel, az a /var/log/leapp/answerfile fájlba kerül. A választ a leapp answer paranccsal adhatja meg, például:

    sudo leapp answer --section check_vdo.confirm=True
    

Ismételje a leapp preupgrade futtatását, amíg nem marad akadályozó tétel.

3. A frissítés

sudo leapp upgrade
sudo reboot

Az első parancs letölti a 9-es csomagokat, és előkészíti a frissítést. Újraindításkor a rendszer automatikusan az ELevate-Upgrade-Initramfs menüpontot indítja el, és ott végzi el a csomagok cseréjét, majd még egyszer újraindul. Ez hosszú ideig is eltarthat, ne szakítsa meg. A folyamatot a VNC-konzolon követheti.

Ha a szerver két óra után sem válaszol, a frissítés valószínűleg elakadt. Ilyenkor nézze meg a konzolt, vagy állítsa vissza a mentést.

4. A frissítés után

Ellenőrizze a verziót:

cat /etc/redhat-release
uname -r

Nézze meg a frissítési naplót és a fennmaradt 8-as csomagokat:

sudo less /var/log/leapp/leapp-upgrade.log
rpm -qa | grep el8

A megmaradt el8 csomagokat egyenként vizsgálja meg: ha van 9-es megfelelőjük, telepítse azt; ha nincs rájuk szükség, távolítsa el őket. Ugyanígy távolítsa el a Leapp és ELevate csomagokat is, majd frissítse a rendszert:

rpm -qa | grep -i -E "leapp|elevate"
sudo dnf remove <a listázott csomagok>
sudo dnf update

Végül ellenőrizze, hogy a szolgáltatások (webszerver, adatbázis, levelezés) elindultak-e:

systemctl --failed

AlmaLinux 9 → 10

A 9-es főverzióról 10-esre frissítés feltételei (támogatott processzorok, csomagok, tárolók) eltérnek a 8 → 9 frissítéstől. Az aktuálisan támogatott frissítési útvonalakat az AlmaLinux ELevate dokumentációjában ellenőrizze, mielőtt belekezd.