FONTOS MEGJEGYZÉSEK:

A frissítésre érdemes kb. 2 órát szánni, ám ebbe nem számítottuk bele a biztonsági mentés készítését.

Ha a frissítési szkript problémamentesen lefut, kb. 25 perc állásidővel kell számolni a szolgáltatások terén.

A frissítésbe ezzel a módszerrel csak akkor szabad belekezdeni, ha a rendszerünk ép és működőképes állapotban van, nincsenek megoldatlan csomaghibák vagy adatbázishibák, és az eredeti telepítésekor szigorúan követtük a tökéletes Ubuntu 18.04 LTS szerver létrehozásának lépéseit.

Ebben az útmutatóban az Ubuntu 20.04 LTS (Focal Fossa) verzióra frissítünk a 18.04 LTS verzióról, a do-release-upgrade szkript használatával.

MEGJEGYZÉS

A művelet elkezdése előtt mindenképpen készítsünk a szerverünkről egy teljes értékű biztonsági mentést. Ez történhet egy snapshot vagy checkpoint (Hyper-V) létrehozásával, vagy egy ISO-fájlba történő mentéssel, illetve a rendszer klónozásával.

Ha elindítjuk a frissítést a do-release-upgrade szkripttel, és nem járunk sikerrel, manuálisan kell majd helyreállítanunk a működésképtelen rendszerünket!

Manuális biztonsági mentés

Amennyiben nem tudunk a teljes rendszerről biztonsági mentést készíteni a fenti lehetőségek egyikével sem, fájlszintű mentést is létrehozhatunk, amelynek segítségével kicsit ugyan nehezebben, de újra működőképessé tehetjük a rendszert egy sikertelen frissítést követően. Ennek lépései a következők:

/* fontos adatok mentése */ 
sudo -s cd /root tar -pczf ./completesystembackup.tar.gz /etc/letsencrypt /home/USER-DIRECTORY /var/vmail /var/log /var/www /etc/cron.d /etc/apache2 /etc/bind /usr/local/ispconfig/interface/lib /usr/local/ispconfig/server/lib /etc/postfix /etc/dovecot /etc/php* 
/* adatbázisok mentése */ 
mysqldump -u root -p --all-databases > all-databases.sql 
/* konfigurációs fájlok mentése (/etc) */
tar -pczf ./backup-etc.tar.gz /etc 

Felkészülés a frissítésre

Mielőtt belekezdenénk a frissítésbe, meg kell győződnünk arról, hogy minden frissítést telepítettünk a jelenlegi rendszerre:

sudo apt update
sudo apt upgrade
sudo apt dist-upgrade

Ha bármilyen frissítést telepíteni kellett, indítsuk újra a rendszert:

sudo reboot

A frissítés elindítása előtt győződjünk meg arról, hogy a műveletet a screen használatával futtatjuk, ebben az esetben ugyanis akkor is folytathatjuk majd a műveletet, ha véletlenül megszakadna az SSH-kapcsolatunk:

sudo apt install screen
screen

Ha valamilyen okból megszakadna a kapcsolat, akkor a következő paranccsal tudjuk folytatni a megkezdett munkamenetet:

screen -x

MEGJEGYZÉS

A frissítési folyamat során a szkript meg fog nyitni egy további SSH-kapcsolati portot is, a 1022-es porton. Ezt a portot a tűzfalon is érdemes megnyitni a frissítési művelet kezdetén, a szkript által megjelenített iptables-parancs futtatásával.

A frissítés elindítása (do-release-upgrade)

Amennyiben minden előkészülettel megvagyunk, adjuk ki a frissítési parancsot:

sudo do-release-upgrade

MEGJEGYZÉS

Amennyiben az első két kérdésnél a telepítés folytatását választjuk, onnantól nincs visszaút. Ha valami balul sül el, a biztonsági mentésből tudjuk csak helyreállítani a rendszerünket.

A felkínált lehetőségek mindegyikénél elfogadhatjuk az alapértelmezett értéket, az apt-listchangesből a legegyszerűbben a q billentyű lenyomásával tudunk kilépni, az LXD frissítését érintő kérdés után pedig egy ideig nem történik semmi, de nincs más dolgunk, mint várni türelemmel.

Előfordulhat, hogy a phpmyadmin és a roundcube adatbázisának újrakonfigurálására felszólító üzenetet kapunk a frissítés során, ám mivel egyes szolgáltatások a háttérben már nem futnak, a változtatásokat nem tudja a frissítési varázsló végrehajtani. Pánikra semmi ok, ezt a lépést nyugodtan kihagyhatjuk mindenféle változtatás nélkül.

Ugyanígy ügyeljünk arra is, hogy bármilyen konfigurációs fájlt szeretne a folyamat felülírni, mindig az alapértelmezett N választ adjuk, hiszen az összes érintett szolgáltatást vagy saját magunk konfiguráltuk, vagy az ISPConfig kezeli.

Ha sikerrel jártunk, akkor a gép újraindítását követően már a 20.04-es Ubuntu rendszerbe tudunk bejelentkezni. Ha valami mégsem stimmelt volna, akkor viszont érdemes visszaállni a korábbi rendszerre a biztonsági mentésből, és újból nekifutni a folyamatnak. Ha semmilyen konstellációban sem boldogulunk a frissítéssel, akkor érdemes egy tiszta telepítést végrehajtani, és a biztonsági mentésből helyreállítani a tartalmakat.

A frissítést követő lépések

Ugyan a rendszer már frissült az új verzióra, ám néhány további lépést még végre kell hajtanunk ahhoz, hogy minden működőképes legyen.

Elsőként is futtassuk az apparmor eltávolítási parancsát:

sudo service apparmor stop
sudo update-rc.d -f apparmor remove 
sudo apt-get purge apparmor apparmor-utils

Majd nézzük meg, hogy van-e olyan csomag, amelyet még frissíteni szükséges, és tegyünk egy kicsit rendet a már szükségtelenek eltávolításával:

sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo apt autoremove
sudo apt autoclean

Ha ez is megvan, akkor tegyük rendbe a dovecot levélkiszolgáló szolgáltatást, amelynek az új verziója a korábbinál szigorúbb követelményeket támaszt az általa használt tanúsítvánnyal szemben:

sudo openssl dhparam -out /etc/dovecot/dh.pem 4096
sudo systemctl restart dovecot

Ez a lépés eltarthat pár percig.

Ha befejeződött, akkor még végig kell mennünk a tökéletes Ubuntu 20.04 LTS szerver telepítésének lépésein, ugyanis egyes csomagok vagy konfigurációs beállítások még hiányozhatnak, többek között a postfixnél, a mariadb-nél  és az apache-nál.

Ha ez is megvan, akkor újrakonfigurálhatjuk az ISPConfigot az alábbi paranccsal:

ispconfig_update.sh --force

A vonatkozó kérdéseknél a szolgáltatásokat és a master adatbázist is újra kell konfigurálnunk, ám ha nem tapasztalunk problémákat, akkor az ISPConfig által beállított tanúsítványokat nem szükséges újra létrehozni.

Végül pedig engedélyeznünk kell a frissítéssel együtt letiltott külső csomagforrásokat (pl. az alternatív PHP-verziókat).

És ha mindez megvan, akkor már csak annyi a feladatunk, hogy utánanézünk a naplófájlokban, hogy minden problémamentesen működik-e. Ha pedig nem, akkor célzott hibaelhárítást kell végeznünk az érintett szolgáltatáson.

Érdemes az ISPConfig adminfelületére is bejelentkezni, és megnézni, hogy ott is a megfelelő adatok látszanak-e. Többszerveres környezetben előfordult, hogy az alárendelt szerver verziószáma csak egy nappal később frissült, és voltak olyan webhelyek is, ahol a tárhelykvótát újra be kellett állítani ahhoz, hogy az áttekintő lapon ne korlátlanként szerepeljenek.

Összegzés

A fenti lépéseket követve egy biztonságos, éles üzemben is használható LAMP-kiszolgálót kapunk, amelyen az Ubuntu 20.04 LTS fut. Mindennek természetesen az alapfeltétele az, hogy a kiindulási alapként szolgáló Ubuntu 18.04 LTS is mindenben kövesse a tökéletes Ubuntu 18.04 LTS szerverre vonatkozó útmutató előírásait. Ha mégsem sikerülne megbirkózni a feladattal, akkor vegye fel velünk a kapcsolatot, és segítünk a frissítésben!

 

Chilly

Chilly 1997 óta foglalkozik webhelyek üzemeltetésével és programozással, valamint különböző kütyük kipróbálásával, és azóta folyamatosan nyomon követi a technikai újításokat. Elsődlegesen Linux-rendszerekkel dolgozik, de az évek során rengeteg tapasztalatra tett szert a Windows-gépek üzemeltetése terén is, hobbiszinten pedig az utóbbi időben egyre több időt tölt a Raspberry Pi módosítgatásával.
Mesterfokon beszél angolul, és műszaki szakfordítói vizsgával rendelkezik. Korábban sokáig újságíróként dolgozott nyomtatott és online magazinoknál.

Visit Us On LinkedinCheck Our Feed