Hogyan frissítsük Debian9 (Stretch) alapú tökéletes szerverünket Debian 10 (Buster) rendszerre (3. oldal)

botond küldte be 2022. 01. 22., szo – 23:03 időpontban

Tartalom

 

A 3. oldal tartalma

 

Folytatás

Az előző oldalon végrehajtottuk a teljes disztribúció és főverzió frissítést, ezen az oldalon pedig átnézzók az új Debian 10 (Buster) rendszert, ellenőrizzük a szerveren lévő dolgokat, valamint rendbe rakjuk a csomagtárat, kitakarítjuk belőle a felesleges csomagokat.

 

Frissítés (2023-01-31):
Elkészült a leírás újabb változata:

 

 

Frissítés után elvégzendő teendők

Miután a szerver újraindult, végezzük el ismét a rendszer teljes áttekintését, és ellenőrizzük, hogy minden megfelelően működik.

Rendszer áttekintése

Itt megnézzük ugyanazokat a dolgokat, mint amit a frissítés előtt.

Verzió és kiadási információk lekérdezése

Most újra olvassuk ki a kernel és a rendszer verzióival kapcsolatos információkat. Ezeket ugyanazokkal a parancsokkal tehetjük meg, mint a frissítés előtt:

uname -a
lsb_release -a
hostnamectl
cat /etc/os-release
cat /etc/debian_version

Debian kiadási információk lekérdezése a rendszer frissítése után

Minden átváltott Debian 10-re, egyedül csak a szerver neve maradt debian9. Ezt később átnevezhetjük ha szükséges. Persze egy ilyen név nem túl életszerű egy éles szerveren, így tehát más szervereken nincs ilyen gond, hogy módosítani kellene a hosztnevet.

Weboldalak

Újra ránézünk a meglévő WordPress weboldalunkra, hogy működik-e:

WordPress weboldal ellenőrzése

Ez rendben van, tehát a PHP (7.4, amivel fut ez az oldal), Apache is biztosan működik, így itt nincs további teendőnk.

Webstatisztika

A saját hosztolású Matomo webstat:

Matomo webstatisztika

Ez is működik, itt sincs több teendőnk.

phpMyAdmin

A phpMyAdmin:

phpMyAdmin 4.6.6

A phpMyAdmin is működik, a jobb oldalon láthatjuk a 10.3.31-es MariaDB adatbázis kiszolgálót, ami korábban 10.1.48-as verzió volt, és a Debian 10-et.

Kicsit lejjebb pedig a PHP verzió is megjelenik, ami viszont maradt a 7.0.33-as verzió, az alsó panelen pedig mutatja a phpMyAdmin verzióját is, ami szintén nem változott, tehát most is a 4.6.6-os változat működik. Ezekre mindjárt ki is térünk, hogy ezek miért nem változtak.

A Debian 9 (Stretch) kiadás csomagtárában a phpmyadmin csomagból ez volt a legfrissebb elérhető verzió. Ebből viszont már van újabb változat is, de akkor ez miért nem frissült a többi szoftverrel együtt? A válasz a következő:

A Debian a 10-es (Buster) kiadásába nem vette fel a phpMyAdmin csomagot egy biztonsági kockázat miatt. Ezért A Debian 10 "korszakának elején" kézzel kellett telepíteni a phpMyAdmint a letöltött forráscsomagból. Ennek megfelelően például a Debian 10 LAMP szerver készítésekor én is így telepítettem fel. Időközben azonban a Debian 10 Backports tárolójába bekerült a phpMyAdmin egy újabb verziója, amit már az APT csomagkezelő segítségével lehet normálisan telepíteni, és kap biztonsági frissítéseket is. Mivel ezen a szerveren már az elején beállításra került a Backports tároló, ezért most itt is hozzá fogunk tudni jutni a phpMyAdmin frissebb változatához anélkül, hogy kézzel kellene letölteni, telepíteni és beállítgatni.

Ha ránézünk a phpMyAdmin csomagra:

apt-get upgrade
apt-cache policy phpmyadmin

akkor a következőt láthatjuk:

A phpmyadmin csomag vizsgálata

Az első apt-get parancs először felsorol egy csomó eltávolítandó csomagot amivel majd később foglalkozunk, viszont a végén ott látjuk a phpmyadmin tételt is, mint visszatartott csomagot. A következő paranccsal pedig megnézzük, hogy miért van visszatartva ez a csomag. Itt láthatjuk, hogy még a Debian 9-es változata van fent, de a buster-backportsban ott van az 5.0.4-es verzió is. A csomagkezelő pedig azt az irányelvet követi - ha nem rendelkezünk másképp -, hogy alapértelmezetten nem használja a backports tárolót, hacsak kimondottan onnan nem kérünk valamit. Mindez azért lényeges, mert ha nem nyúlnánk most ehhez, akkor a phpMyAdmin webes adatbáziskezelő rendszerünk az iménti okból nem frissülne többé. Így tehát át kell váltanunk, hogy a csomagot innentől a backports-ból frissítse. Ehhez adjuk ki az alábbi parancsot:

apt-get install phpmyadmin -t buster-backports

 

 

A -t kapcsoló (vagyis a --target-release) utasítja a csomagkezelőt, hogy innentől kezdve ennek a csomagnak a további frissítéseit a megadott csomagtárból hajtsa végre. Tehát a későbbiekben a normál upgrade opció is már innen fogja frissíteni. A kimenet pedig:

A phpmyadmin csomag telepítése a buster-backports tárolóból

Ahogy a képen is látható, elég sok új csomagot telepít fel, amik az új phpmyadmin csomag függőségei. Ez azt jelenti, hogy itt egy komolyabb frissítés lesz, hiszen egy újabb főverziót fog ugrani a webes adatbáziskezelőnk.

Itt természetesen folytassuk az Igen opcióval. A telepítés során még itt is bead egy pár soros változatnaplót:

apt-listchanges: News
---------------------

phpmyadmin (4:4.9.1+dfsg1-1) unstable; urgency=low

  phpMyAdmin webbased setup is not included anymore.

 -- Matthias Blümel <debian@blaimi.de>  Tue, 22 Oct 2019 20:37:37 +0200

(press q to quit)

Ebből lépjünk ki a q billentyűvel a folytatáshoz.

Kis telepítgetés után jön még egy csomagkonfiguráció is, ami már ismerős is:

phpmyadmin csomagkonfiguráció

 ┌────────────────────────────────────────────────────────┤ phpmyadmin konfigurálása ├────────────────────────────────────────────────────────┐
 │                                                                                                                                            │
 │ According to the maintainer for this package, database upgrade operations need to be performed on phpmyadmin. Typically, this is due to    │
 │ changes in how a new upstream version of the package needs to store its data.                                                              │
 │                                                                                                                                            │
 │ If you want to handle this process manually, you should refuse this option. Otherwise, you should choose this option. During the upgrade,  │
 │ a backup of the database will be made in /var/cache/dbconfig-common/backups, from which the database can be restored in the case of        │
 │ problems.                                                                                                                                  │
 │                                                                                                                                            │
 │ Perform upgrade on database for phpmyadmin with dbconfig-common?                                                                           │
 │                                                                                                                                            │
 │                                          <Igen>                                            <Nem>                                           │
 │                                                                                                                                            │
 └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

Itt is rákérdez, hogy szeretnénk-e ha a dbconfig-common végezné-e automatikusan a phpMyAdmin frissítését. Itt válasszunk Igen-t. Ezután még 1-2 másodpercig konfigurál, majd visszakapjuk a parancssorunkat.

Természetesen mindez akkor fut le gond nélkül, ha annak idején a úgy telepítettük fel a phpMyAdmin adatbáziskezelőt a még a Debian 9 szerverre, hogy megfelelően beállítottunk mindent, és akkor is hiba nélkül települt.

Ezután ha újra ránézünk a phpmyadmin csomagra:

apt-cache policy phpmyadmin

A frissített phpmyadmin csomag ellenőrzése a csomagtárban

Itt már látszik az 5.0.4-es verzió, valamint hogy a buster-backports tárolóból származik.

Ezután még nézzünk rá a böngészőben is, lépjünk be ismét a phpMyAdmin oldalára:

A frissített phpmyadmin csomag ellenőrzése a böngészőben

Itt viszont kapunk egy hibaüzenetet, ahol leírja, hogy ehhez a phpMyAdmin verzióhoz már legalább a PHP 7.1.3 verziója szükséges, de nekünk csak a PHP 7.0.33 van telepítve. Az előbb ejtettünk erről is szót, hogy a phpMyAdmin által használt PHP verzió sem változott, most erre is kitérünk, hogy miért.

Valójában ezen a szerveren már fent van a PHP 7.4-es változat is, csak mivel a Debian 9-ről frissítettük fel ezt a szervert, ott még a PHP 7.0 volt az alapértelmezett modulként futó PHP, ami azóta sem változott. Mivel a phpMyAdmin rendszert alapból Apache modulként (mod_php) működő PHP SAPI (Server Application Programming Interface) futtatja, ezért át kell még kapcsolnunk a 7.4-es modulra. Ehhez futtassuk még az alábbi parancsokat:

a2dismod php7.0
a2enmod php7.4
systemctl restart apache2

Az első paranccsal kikapcsoljuk a 7.0-ás PHP modult, a másodikkal bekapcsoljuk a 7.4-es modult, végül újraindítjuk az Apache-ot, mivel az futtatja a PHP modulokat.

Átkapcsolás PHP 7.4-es Apache modulra

Ezután már frissíthetünk a böngészőben, és a belépés után már az új, 5.0.4-es phpMyAdmin fogad bennünket:

A frissített phpmyadmin csomag ellenőrzése a böngészőben - Működik

Itt már tehát a phpMyAdmin által használt modulként futó PHP verziónk is újabb és maga a phpMyAdmin is frissebb. Mindkettő esetében nyugodtak lehetünk afelől, hogy a frissítéseket is fogják kapni ezután.

Itt felhívnám a figyelmet, hogy ez itt egy egyedi eset, ezért más szervereken esetleg más PHP verziók lehetnek feltelepítve. Ha azonban nincs semmilyen egyéb PHP verzió telepítve, hanem csak a Debian 9 (Stretch) alapértelmezett 7.0.x változatát örököltük a frissítés előttről, akkor az alábbi linken tájékozódhatunk hogyan tudunk újabb PHP verziókat telepíteni egy LAMP (vagy bármilyen egyéb) szerverre:
Hogyan telepíthetünk újabb PHP verziókat Debian 9 (Stretch) LAMP szerverünkre PHP-FPM módban

Továbbá érdemes PHP-FPM módban használni a phpMyAdmin adatbáziskezelőt is, ha szeretnénk beállítani, erről itt olvashatunk:
PHP-FPM pool létrehozása és beállítása a phpMyAdmin számára

ISPConfig

Az ISPConfig-ra is ránézünk, mégpedig a szerver állapot részre:

ISPConfig - Szerver állapot

Itt minden rendben van, ezzel nincs több dolgunk.

 

 

Roundcube

Roundcube webes levelező kliens:

Roundcube - Belépés

Roundcube - Beérkezett levelek

Küldtem magamnak egy próba levelet, itt is minden rendben.

Munin

Megnézzük újra a Munin-t is:

Munin ellenőrzése

Hát ez sajnos most sem megy. Mivel már a frissítés előtt sem működött, ezért most nem foglalkozom vele. Talán majd máskor átnézem, vagy újratelepítem.

Amint láthatjuk, minden működik - ami a frissítés előtt is működött -, tehát a webes részek jól muzsikálnak a Debian főverzió frissítése után is. Ezután következik a csomagok ellenőrzése.

 

Csomagok ellenőrzése

Ebben az utolsó fejezetben még rendbe rakjuk a csomagokat, amihez még néhány lépésen végig kell haladnunk.

Feleslegessé vált csomagok eltávolítása

A feleslegessé vált csomagok azok a csomagok, amik például korábban más csomagok függőségei voltak, de azok csomagok közben frissültek vagy eltávolították őket így ezekre már nincsen tovább szükség. Ezeknek a törléséhez adjuk ki az alábbi apt parancsot továbbra is root-ként bent maradva:

apt --purge autoremove

A --purge opció gondoskodik arról, hogy nem csak a csomagok kerülnek eltávolításra, hanem azoknak a konfigurációik is. így nem marad semmi utánuk a rendszerben. Nálam ennek a kimenete:

Feleslegessé vált csomagok eltávolítása

Ebben a példában 38 csomagot szeretne eltávolítani, amivel összesen 349 MB lemezterületet szabadít fel. Itt folytassuk az Igen opcióval.

Ezt a lépést ennek a fejezetnek a végén is végrehajthatjuk egyszeri lépésként, én most csak a szemléltetés kedvéért futtatom itt az elején, mert így jobban látható, hogy a soron következő csomagműveletek után is keletkeznek még újabb feleslegessé vált csomagok.

Elavult csomagok keresése és eltávolítása

Az elavult csomagok akkor "keletkeznek", amikor frissítjük a teljes Debian rendszert, és az újonnan beállított csomagtárakban már nem érhetők el ezek a csomagok, hanem például az adott szoftverből már egy újabb főverzió jelent meg, így már csak ehhez érkezik frissítés. Ilyenkor célszerű eltávolítani ezeket a csomagokat. Első körben csak keressünk rá ezekre a csomagokra, hogy lássuk hogy a frissítés után milyen csomagokat jelölt a rendszer elavultnak. Ehhez az alábbi parancsok bármelyikét használhatjuk:

aptitude search '~o'
aptitude search ?obsolete
apt-show-versions | grep 'No available version'

Elavult csomagok keresése

Elavult csomagok keresése

Itt most egy hosszabb listát kapunk, mint a frissítés előtt, ami természetes, mivel sok csomag már nem érhető el a Debian 10 csomagtáraiban.

További érdekesség, hogy a frissítés előtti keresésnél a kézzel telepített jailkit csomagot is felsorolta, ahol azt írtam utána, hogy nem kell törölnünk, mert majd a Debian 10 backports tárolójában elérhető lesz. Így is lett, ezért most már kikerült az elavult csomagok közül, mivel a továbbiakban már kapja a frissítéseket.

Ezeknek a csomagoknak a törlésekor azonban célszerű körültekintőnek lenni, mert olyan csomagokat is megjelölhet ilyenkor a rendszer, amit amúgy használunk, de már nincs hozzá frissítés, például, mint az elején a jailkit csomag esete. Persze itt most nincs ilyen csomag, de más rendszeren előfordulhatnak olyanok is, amikre még szükség lehet. Ezért én itt azt javaslom, hogy nézzük át ezt a listát, keresgéljük meg az aktuális csomagtárban ezeknek a friss megfelelőjét, és csak akkor töröljük őket, ha biztosak vagyunk benne hogy már nincs rájuk szükség.

Csak egy példa, amiben rákeresek a "cpp-" vagy a "gcc-" részeket tartalmazó csomagokra:

Elavult csomagok ellenőrzése

Itt szépen látszik, hogy a 6-os verziójú csomagok még a Debian 9-ből származnak, és már van nekik megfelelőjük 8-as főverzióval. Itt persze még megjelennek más csomagok is, amik ezeknek a függőségei, tehát ha eltávolítjuk ezeket az elavult csomagokat, akkor újra lesznek feleslegessé vált csomagjaink is, így azokat is törölni kell majd utána. Ebben a szituációban tehát a cpp-6 és a gcc-6 csomagokat biztosan eltávolíthatjuk anélkül, hogy bármi bajt okoznánk.

 

 

Hogy ne tegyünk kárt a rendszerünkben, célszerű ezekről az elavult csomagokról először egy listát készíteni, és kiszedegetni közülük, amik esetleg kellenek. A csomagnevekről  könnyen készíthetünk egy listát az awk parancs segítségével:

aptitude search '~o' | awk '$4 == "-" {print $3; next}; {print $2}'

Elavult csomagok listájának elkészítése az awk parancs segítségével

de megkaphatjuk ugyanezt a kimenetet a cut parancs használatával is:

aptitude search '~o' | cut -d' ' -f3

Ezután irányítsuk át egy fájlba valamelyik parancsnak, amelyik szimpatikusabb a kimenetét:

aptitude search '~o' | awk '$4 == "-" {print $3; next}; {print $2}' > elavult_csomagok.txt

Ezután mazsolázzuk ki azokat a csomagokat, amikre esetleg még szükségünk lehet. Ehhez használhatjuk a nano szerkesztőt is:

nano ./elavult_csomagok.txt

Ha végeztünk, mentsük le, majd töröljük a fájlban maradt csomagokat egy parancsból:

apt-get --purge remove $(cat elavult_csomagok.txt)

Elavult csomagok törlése a lista alapján

Amint láthatjuk, közben már lettek újabb feleslegessé vált csomagjaink is, amiket majd a végén ismét törlünk. Itt folytassuk az Igen opcióval.

Ezután a csomagkezelő leszedi a listában szereplő csomagokat.

Feleslegessé vált csomagok ismételt törlése

Majd futtassuk ismét a feleslegessé vált csomagokat eltávolító parancsot:

apt --purge autoremove

Feleslegessé vált csomagok ismételt törlése

Persze ezt célszerű itt a végén futtatni egyszer, csak a példa kedvéért futtattam korábban is.

Csomaggyorsítótár kiürítése

Végezetül ürítsük ki a csomaggyorsítótárat, amibe sok csomag megfordult már a frissítés alatt:

du -sh /var/cache/apt/archives
apt-get clean
du -sh /var/cache/apt/archives

Csomaggyorsítótár kiürítése

Itt most 412 Mb hely szabadult fel.

A csomagjaink tehát most már tökéletesen rendben vannak, amit egy upgrade paranccsal ellenőrizhetünk is:

apt-get upgrade

Csomagok rendben

(0 frissített, 0 újonnan telepített, 0 eltávolítandó és 0 nem frissített.)

 

 

Konklúzió

Ebben a három oldalas leírásban sikeresen frissítettük a Debian 9 (Stretch) tökéletes szervert, Debian 10 (Buster) rendszerre, amin elég sok szolgáltatás és beállítás van, ezért a frissítése is jóval összetettebb volt, mint egy mezei asztali rendszeré. Később még természetesen készítek frissítő leírást asztalkörnyezettel rendelkező géppel is, addig használjátok ezt egészséggel, ha esetleg valakinél pont ilyen, vagy ehhez hasonló szerver frissítésére lenne szükség.

 

 

Lapozó

Ez a leírás több oldalból áll: