Az Ubuntu és a Debian szervereket nem kell újratelepíteni, ha új főverzióra (kiadásra) szeretne váltani: mindkét disztribúció támogatja a helyben történő frissítést. Erre akkor van szükség, ha a használt kiadás támogatása a végéhez közeledik, vagy újabb szoftververziókra (PHP, adatbázis, programkönyvtárak) van szüksége.
AlmaLinux és Rocky Linux esetén lásd: AlmaLinux és Rocky Linux frissítése 8-ról 9-re ELevate-tel.
Mielőtt elkezdi
- Készítsen teljes mentést vagy pillanatképet a szerverről.
- Biztosítson SSH-tól független hozzáférést, például VNC-konzolt, arra az esetre, ha a szerver az újraindítás után nem érhető el hálózaton.
- Csak egy kiadást lépjen egyszerre. Kiadásokat átugrani nem lehet: Debian 11-ről 13-ra például a 12-es kiadáson keresztül vezet az út.
- Nézze át a külső tárolókat (
/etc/apt/sources.list.d/), például PPA-k, a Docker, a MariaDB vagy a Sury PHP tárolója. Ezeket a frissítés idejére kapcsolja ki, és utána állítsa be az új kiadáshoz. -
Frissítse a jelenlegi kiadást a legújabb állapotra, és indítsa újra:
sudo apt update sudo apt full-upgrade sudo reboot
A frissítés során a rendszer több kérdést is feltesz (például hogy egy módosított konfigurációs fájlt felülírjon-e). Ha a fájlt korábban Ön módosította, általában a meglévő verzió megtartása a biztonságosabb választás (N vagy „keep the local version currently installed”). A frissítés után az új alapértelmezett fájlt .dpkg-dist vagy .ucf-dist kiterjesztéssel találja meg, és összevetheti a sajátjával.
Ubuntu: do-release-upgrade
Ubuntun a frissítést a do-release-upgrade program végzi. Szervereken az LTS (hosszú távú támogatású) kiadások javasoltak, és alapértelmezésként a program is csak a következő LTS kiadásra kínál frissítést. Az új LTS kiadásra a frissítés általában csak az első javítókiadás (pl. xx.04.1) megjelenése után válik elérhetővé.
sudo apt install update-manager-core
sudo do-release-upgrade
- A program SSH-n futtatva figyelmeztet, és tartalék SSH szervert indít az 1022-es porton, arra az esetre, ha a fő SSH kapcsolat megszakadna. Ha a szerveren tűzfal fut, ideiglenesen nyissa meg ezt a portot (
sudo ufw allow 1022/tcp), és a frissítés után zárja be (sudo ufw delete allow 1022/tcp). - A frissítés végén a program felajánlja az elavult csomagok eltávolítását és az újraindítást.
Ha a program szerint nincs elérhető új kiadás, ellenőrizze a /etc/update-manager/release-upgrades fájlban, hogy a Prompt értéke lts legyen.
Debian
Debianon a frissítés a csomagtárolók átírásával és az apt parancsokkal történik. Az alábbi példa a Debian 12 („bookworm”) frissítését mutatja Debian 13-ra („trixie”).
A hosszabb lépéseket tmux vagy screen munkamenetben futtassa (lásd: Parancsok futtatása megszakadó SSH kapcsolat mellett).
1. A tárolók átírása
Cserélje a régi kiadás nevét az újra a tárolók listájában:
sudo sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
Ha a tárolók a /etc/apt/sources.list.d/ könyvtárban vannak (például debian.sources fájlban), ott is végezze el a cserét. Ellenőrizze a fájlokat: a biztonsági tároló sorának trixie-security, a frissítésekének trixie-updates névre kell változnia.
grep -r "bookworm" /etc/apt/sources.list /etc/apt/sources.list.d/
Ha a parancs nem ír ki semmit, minden tároló átállt.
2. A frissítés két lépésben
sudo apt update
sudo apt upgrade --without-new-pkgs
sudo apt full-upgrade
Az első, minimális frissítés a meglévő csomagokat frissíti új csomagok telepítése nélkül; a második végzi el a teljes frissítést, a szükséges új csomagok telepítésével és az elavultak eltávolításával.
3. Újraindítás és takarítás
sudo reboot
Újraindítás után:
cat /etc/debian_version
sudo apt autoremove
A frissítés után
- Ellenőrizze, hogy minden szolgáltatás elindult-e:
systemctl --failed. - Nézze meg a webszerver és az adatbázis naplóját (lásd: Naplófájlok olvasása Linuxon).
- Az új kiadás új PHP verziót hoz: ellenőrizze, hogy a webszerver az új PHP-FPM szolgáltatást használja-e, és hogy a weboldal működik-e vele.
- Kapcsolja vissza és állítsa át az új kiadásra a frissítés előtt kikapcsolt külső tárolókat.