Hogyan frissítsük Debian 10 (Buster) alapú tökéletes szerverünket Debian 11 (Bullseye) rendszerre

botond küldte be 2023. 01. 31., k – 11:10 időpontban

Tartalom

 

Az 1. oldal tartalma

 

Bevezető

Ismét eljött egy újabb korszak, amikor Debian 10 (Buster) szerverünk felett is eljárt az idő, és már égető feladattá vált, hogy kezdjünk valamit ezzel a problémával.

Egy webszerver élete során sok szoftver kerül feltelepítésre és bekonfigurálásra, ami rengeteg időt vesz igénybe. A szerver nulláról történő újratelepítése,  bekonfigurálása, valamint a rajta lévő weboldalak újra üzembe helyezése sok kieséssel járhat, mert mire minden a helyére kerül, addig weboldalaink nem érhetők el a látogatóink számára. Ez egyrészt üzleti szempontból sem előnyös, mert ezalatt az idő alatt ügyfeleket is veszíthetünk, valamint egy-egy tartósabb kimaradás a keresőkben is átmeneti pozícióromlást okozhat weboldalaink számára.

Szerencsére nincs gond, mert a legtöbb a legtöbb Linux disztribúció - ahogy a Debian is - rendelkezik azzal a képességgel, hogy menet közben frissíthető rajta a teljes disztribúció; így például a Deban 10 (Buster) frissíthető Debian 11 (Bullseye) rendszerre. Ennek köszönhetően az egészet megúszhatjuk egy egyszeri újraindítással - szemben egy hosszas telepítéssel és konfigurálással.

Korábban már készítettem leírásokat erről a témáról, amelyek az alábbi linkeken tekinthetők meg:

Mielőtt bárminek is nekiállnánk, célszerű ezeket is átnézegetni, mert sok hasznos információ található bennük.

Természetesen más disztribúciók esetén is alkalmazható ez a frissítés, így például Ubuntu rendszereken is. Azonban arra mindig ügyeljünk, hogy ha rendszerünk túl régi, tehát már több főverzió is kijött már azóta, akkor is mindig csak egy főverziót frissítsünk egyszerre. Így például ha valakinél Debian 9 (Stretch) rendszer működik, akkor először Debian 10-re frissítse, majd ismételje meg az egészet egy Debian 11-re történő frissítéssel. Persze ilyen esetben legyünk még körültekintőbbek, mert több főverzión át történő frissítések esetén még több dolog is változhat a különböző kiadások esetén, így ezeket minden esetben nézzük át. Ennek megfelelően, ha például Debian 9 rendszerrel rendelkezünk, akkor először a fentebb mutatott, verziónknak megfelelő linken lévő leírást hajtsuk végre először.

 

 

Előfeltételek

Ezt a disztribúció frissítő leírást egy ISPConfig alapú tökéletes szerverhez készítettem, ennek megfelelően az alábbi konfiguráción végzem el:

Kiinduló szerver és a rajta végzett módosítások, kiegészítések:

A leírás közben bemutatott képernyőképeket, és bemásolt terminál kimeneteket ez a konfiguráció eredményezi, így más konfigok esetén ezektől valamennyire eltérő kimeneteket kaphatunk.

Az itt használt konfiguráció láthatóan elég sok kiegészítőt és szolgáltatást tartalmaz, ami kiválóan alkalmassá teszi a szervert egy disztribúció frissítés bemutatásához.

Az itt bemutatott útmutatót én egy VirtualBox virtuális gépen hajtom végre.

 

A Debian 11 (Bullseye) operációs rendszer újdonságai, változásai

Ezt a részt nem ragoznám túl, mert a Debian 11 (Bullseye) kiadás már 2021 augusztusában megjelent, így bizonyára már sokak számára ismertek a benne lévő újdonságok, de az alábbi linken újra áttekinthetjük ezeket:

A frissítés előtt azért nem árt átfutni ezeket - különösen a Debian frissítése részt -  hogy megbizonyosodjunk róla, hogy minden körülmény alkalmas számunkra a frissítéshez.

 

Frissítés előtt elvégzendő teendők

A frissítés elkezdése előtt még el kell végeznünk pár dolgot, amivel egyrészt ellenőrizzük rendszerünket hogy alkalmas-e a disztribúció frissítésére, másrészt fel is készítjük azt, hogy a frissítés hiba nélkül sikerüljön.

A továbbiakban root-ként hajtsuk végre a feladatokat.

Rendszer áttekintése

Először célszerű átnézni a teljes rendszerünket, és összegyűjteni azokat a funkciókat, szolgáltatásokat, amik sarkalatosak lehetnek a frissítés szempontjából, továbbá összehasonlítás céljából sem árt, ha még vetünk egy utolsó pillantást a dolgainkra frissítés előtt is, hogy utána ellenőrizhessük, hogy valóban minden hibátlanul működik a szerverünkön.

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

Első körben olvassuk ki a kernel és a Debian verziójával és a disztribúció kiadással kapcsolatos információkat. Ezeket az alábbi parancsokkal tekinthetjük meg:

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

Debian kiadási információk lekérdezése még a disztribúció frissítése előtt

Linux debian10 4.19.0-23-amd64 #1 SMP Debian 4.19.269-1 (2022-12-20) x86_64 GNU/Linux

[...]

No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 10 (buster)
Release:        10
Codename:       buster

[...]

   Static hostname: debian10
         Icon name: computer-vm
           Chassis: vm
        Machine ID: c898b9a88b1d44d3864e6dafb76e2e10
           Boot ID: 2aadf456700f487cb7b9c989bcbcbbd8
    Virtualization: oracle
  Operating System: Debian GNU/Linux 10 (buster)
            Kernel: Linux 4.19.0-23-amd64
      Architecture: x86-64

[...]

PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

[...]

10.13

Weboldalak és a webes alkalmazások áttekintése

Itt most átnézzük a szerveren lévő weboldalakat és webalkalmazásokat.

 

 

Drupal 9-es weboldal

Mivel webszerverről lévén szó, így biztosan van rajta egy vagy több weboldal. Ezekre ránézünk, hogy minden rendben van-e. Nálam ezen a szerveren van egy Drupal 9 CMS alap telepítés, ami nem tartalmaz semmi különöset, csak egy korábbi telepítős leíráshoz készítettem, így most ezt ellenőrzöm:

Drupal 9 weboldal - Kezdőoldal

Drupal 9 weboldal - Adminisztráció - Állapot oldal

Itt van benne pár figyelmeztetés, de ezeknek most itt nincs jelentősége. Ami itt majd változni fog, az például az adatbázis motor verziója: Debian 10-ben 10.3.36, a Debian 11-ben pedig 10.5.18 lesz.

ISPConfig

ISPConfig web hoszting kezelőpanel:

ISPConfig - Kezdőoldal

ISPConfig - Rendszer állapot

Itt minden rendben. Néhány frissíteni való csomag miatt jelez, de ez nem jelent problémát.

phpMyAdmin

phpMyAdmin:

phpMyAdmin - Kezdőoldal

Itt is láthatjuk jobb fent a rendszer paramétereit, valamint jobbra lent a phpMyAdmin verzióját, ahol jelzi is, hogy már elavult. Ezt a példányt annak idején kézzel telepítettük a forráskódjából, így ezért nem frissül. De ennek a leírásnak a végén majd ennek az automatikus frissítését is megoldjuk. Persze, ha a saját példányunkat már a Debian 10 backports tárolójába később bekerült csomagból telepítettük, akkor ez az APT csomagkezelő segítségével frissülni fog a többi csomaggal együtt.

Roundcube Webmail

Roundcube Webmail:

Roundcube Webmail - Belépés

Ezen a szerveren van egy email cím is, azzal be tudok lépni:

Roundcube Webmail - Beérkezett levelek

Munin

Munin szerver erőforrás monitor program:

Munin

Itt az elmúlt időszakban használtam párszor a gépet, így vannak grafikon maradványok...

 

 

Monit

Monit szerver szolgáltatás és erőforrás monitor program

Monit - Kezdőoldal

 

Ezen a szerveren ennyi átnézni való volt, természetesen mindenki a saját konfigjának megfelelően ellenőrizheti a saját dolgait még a frissítés előtt utoljára.

 

Biztonsági mentés

Erősen ajánlott biztonsági mentést készíteni fontosabb dolgainkról és beállításainkról. Ezt itt nem részletezném újra, mert már a korábbi leírásokban volt erről szó, tehát ezt az alábbi linkeken részletesebben kiveséztük már:

Ez a rész tehát független mindentől, így ezt a korábbi részekből is alkalmazhatjuk.

Csomagtárak és a csomagok ellenőrzése

A disztribúció frissítés előtti utolsó fő lépés a csomagtárak és a csomagok ellenőrzése, rendberakása és frissítése.

Csomagok frissítése

Először frissítsük csomagtár adatbázisunkat és csomagjainkat a megszokott módon root-ként az apt-get paranccsal:

apt-get update
apt-get upgrade

Itt nálam most nem volt frissíteni való, mert az elmúlt napokban már többször is frissítettem ezt a gépet.

Visszatartott csomagok keresése és frissítése

A következő lépésben megkeressük a visszatartott csomagokat, amiket a csomagkezelő valamilyen oknál fogva nem frissít. Ha az iménti upgrade parancsra kiírta, hogy bizonyos csomagok vissza lesznek tartva, akkor az alábbi linkeken találhatunk részletes útmutatót:

Törött csomagok keresése és eltávolítása

A rendszerben előfordulhatnak törött csomagok is, amik félig, vagy részben konfigurált csomagok. Ezeket is keressük meg, és távolítsuk el, amennyiben a javításuk már nem lehetséges:

dpkg --audit

Ha talál hibás csomagokat, akkor a dpkg javasolni fogja, hogy mit kell tenni velük a javítás érdekében.

Ezzel kapcsolatos részletek a korábbi leírásokból:

Nálam nem talált egyetlen ilyen csomagot sem, ezért továbblépek.

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

Az elavult csomagok már vagy nem szerepelnek az adott csomagtárban, vagy elavulttá lettek minősítve, vagy nem a Debian szabványos tárolóiból lettek feltelepítve, például forrásból lettek lefordítva, stb. Ezeket is át kell néznünk, hogy vannak-e ilyen csomagjaink, és ha vannak, akkor azok jelenthetnek-e akadályt disztribúció sikeres frissítésre nézve.

Az elavult csomagok keresését az aptitude vagy az apt-show-versions parancsokkal végezhetjük. Mindegyiket telepíteni kell használat előtt, egyik sincs alapból telepítve a Debian rendszereken:

apt-get install aptitude
apt-get install apt-show-versions

Ha már telepítve vannak, akkor az alábbi parancsokkal találhatjuk meg az elavult csomagjainkat (az első két parancs ekvivalens egymással):

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

Nálam nem talált itt most semmit:

Elavult csomagok keresése

Ezt is kifejtettem már részletesebben a korábbi frissítős leírásokban, ezért ezeket a részeket is nézzük át:

Itt ahány konfiguráció, annyi szituáció, tehát érdemes ezeket átnézni.

 

 

Harmadik féltől származó csomagok keresése

Ezután keressünk rá a harmadik féltől származó csomagokra. Ezeknek a csomagoknak a frissítése az újabb Debian főverzióban bizonytalan, ezért gondot okozhatnak. Ellenőrizzük tehát az olyan csomagokat, amiket nem a Debian hivatalos tárolóiből telepítettünk fel. Itt lehetnek átfedések az elavult csomagokkal, például egy forrásból telepített csomagok esetén, amihez nincs frissítés az egyrészt elavult jelzőt is kap, és mivel nem a hivatalos csomagtárból telepítettük, ezért harmadik féltől származónak is minősül. A már korábban is használt aptitude parancs segítségével listázhatjuk ezeket a csomagokat:

aptitude search '~i(!~ODebian)'

Nálam a kimenete ennek a parancsnak:

Harmadik féltől származó csomagok keresése

Itt nálam csak a Sury.org-tól származó csomagok vannak, amiknek biztosított a Debian 11-ben történő frissítése, ezért ezekkel nincs teendő. Viszont amennyiben más csomagok is megjelennek ebben a listában, amikről nem tudjuk, hogy kapnak-e frissítéseket a jövőben, akkor mérlegelnünk kell, hogy mit kezdjünk azokkal a csomagokkal. Ha nem kapnak frissítéseket a következő főverzióhoz, akkor érdemes megfontolni a leváltásukat alternatív szoftverekre, stb.

Feleslegessé vált csomagok keresése

Még távolítsuk el az automatikusan telepített csomagfüggőségeket is, amikre már nincs szüksége egyetlen másik csomagnak sem:

apt autoremove

Feleslegessé vált csomagok keresése

Nálam itt most nem volt semmi, mert ahogy már említettem is, a napokban már végeztem karbantartást ezen a szerveren. De máshol jó eséllyel előfordulhatnak ilyenek.

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

A Debian a csomagok telepítésekor letöltött .deb fájlokat egy külön tárolóban helyezi el amik a csomagok telepítése után is ott maradnak. Ez például jól jön ha később offline módban van a számítógépünk, és éppen újra kell konfigurálni egy meglévő csomagot, vagy bármilyen egyéb csomagműveletet kell végeznünk velük, mert ilyenkor nem szükséges internetre csatlakoznia, hanem a helyben tárolt csomagpéldányt fogja használni, ezáltal csökkentve a hálózati forgalmat, és a Debian tükrök terhelését. Azonban egy idő után ennek a tárolónak a mérete jócskán meghízhat, ezért időnként érdemes kiüríteni. Egy teljes disztribúció frissítésnél talán nincs is jobb alkalom ami után kiüríthetjük ezt a gyorsítótárat, mivel ilyenkor a rendszer sok új csomagot fog letölteni, így a jelenlegi csomagjaink itt fognak maradni ebben a tárolóban. Természetesen a teljes főverzió frissítés végeztével is célszerű újra lefuttatni, hogy a jelenleg használatban lévő csomagok se foglaljanak helyet, amikre akkor már nem lesz szüksége az új rendszernek.

A csomaggyorsítótár ürítése előtt érdekességképpen megnézhetjük annak méretét a du parancs segítségével, majd a takarítás után újból megnézve láthatjuk a felszabaduló helyet. Ezekhez futtassuk az alábbi parancsokat:

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

Nálam körülbelül most durván 420 Mb-nyi hely szabadult fel:

Debian csomaggyorsítótár ürítése és a felszabadult hely ellenőrzése

 

következő oldalon folytatjuk a disztribúció Debian 11 (Bullseye) rendszerre történő frissítésével.

 

 

 

Lapozó

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