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

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, illetve otthoni automatizált és biztonságtechnikai rendszerek kiépítésével.
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