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!
Tartalomjegyzék
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 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.
Legutóbbi hozzászólások