A feltört szerverek jelentős része olyan biztonsági hibán keresztül sérül, amelyre már hetek vagy hónapok óta elérhető javítás. Saját VPS esetén a rendszer frissítése az üzemeltető, vagyis az Ön feladata. Ez a cikk a frissítés menetét, az újraindítás szükségességének ellenőrzését és az automatikus frissítések beállítását mutatja be.
Megosztott tárhelyeink szervereit mi frissítjük, ott nincs teendője.
Frissítés előtt
- Nagyobb frissítés előtt (sok csomag, új kernel, adatbázis-kiszolgáló) készítsen pillanatképet.
- Éles szervert lehetőleg alacsony forgalmú időszakban frissítsen, mert egyes szolgáltatások a frissítés közben újraindulnak.
AlmaLinux, Rocky Linux (dnf)
# Elérhető frissítések listája
sudo dnf check-update
# Az összes frissítés telepítése
sudo dnf upgrade
# Csak a biztonsági frissítések telepítése
sudo dnf upgrade --security
A biztonsági frissítésekről bővebben: yum: Csak biztonsági frissítések telepítése.
Visszalépés
A dnf minden műveletet naplóz, és egy frissítés visszavonható:
sudo dnf history
sudo dnf history info 42
sudo dnf history undo 42
A visszavonás csak akkor működik, ha a régi csomagverzió még elérhető a tárolóban, ezért nem helyettesíti a pillanatképet.
Kell-e újraindítani a dnf frissítés után?
sudo dnf needs-restarting -r
Ha a kimenet szerint újraindítás szükséges (például új kernel vagy glibc miatt), indítsa újra a szervert. Azokat a szolgáltatásokat, amelyek még a régi programkönyvtárakat használják, a -s kapcsoló listázza ki; ezek újraindítás helyett a systemctl restart paranccsal is frissíthetők.
sudo dnf needs-restarting -s
Ubuntu, Debian (apt)
# A csomaglisták frissítése
sudo apt update
# Frissíthető csomagok listája
apt list --upgradable
# Frissítés
sudo apt upgrade
# Frissítés akkor is, ha ehhez csomagokat kell telepíteni vagy eltávolítani
sudo apt full-upgrade
# A már nem szükséges csomagok (pl. régi kernelek) eltávolítása
sudo apt autoremove
Egy csomag adott verziójának telepítéséről az Egy adott verzió telepítése az apt-get segítségével cikkben olvashat.
Kell-e újraindítani az apt frissítés után?
Ubuntun a frissítés után létrejön a /var/run/reboot-required fájl, ha újraindítás szükséges:
cat /var/run/reboot-required
cat /var/run/reboot-required.pkgs
Debianon a needrestart csomag jelzi a frissítés végén, mely szolgáltatásokat kell újraindítani, és hogy szükséges-e a rendszer újraindítása:
sudo apt install needrestart
Automatikus frissítések
Az automatikus frissítés biztosítja, hogy a biztonsági javítások akkor is felkerüljenek, ha megfeledkezik róluk. Javasoljuk, hogy automatikusan csak a biztonsági frissítéseket telepítse, a többit pedig rendszeresen, kézzel.
AlmaLinux, Rocky Linux: dnf-automatic
sudo dnf install dnf-automatic
sudo nano /etc/dnf/automatic.conf
A [commands] szakaszban állítsa be:
[commands]
upgrade_type = security
apply_updates = yes
Majd kapcsolja be az időzítőt:
sudo systemctl enable --now dnf-automatic.timer
systemctl list-timers dnf-automatic.timer
Az [emitters] szakaszban e-mail értesítést is beállíthat a telepített frissítésekről.
Ubuntu, Debian: unattended-upgrades
sudo apt install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
A kérdésre válaszoljon igennel. Alapértelmezés szerint csak a biztonsági frissítések települnek. A beállítások a /etc/apt/apt.conf.d/50unattended-upgrades fájlban vannak; itt például az automatikus újraindítást is bekapcsolhatja, egy megadott időpontra:
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:00";
A működés próbája (változtatás nélkül):
sudo unattended-upgrade --dry-run --debug
A futások naplója a /var/log/unattended-upgrades/ könyvtárban található.
Új főverzióra váltás
A fenti parancsok a disztribúció aktuális főverzióján belül frissítenek (például AlmaLinux 9.5-ről 9.6-ra). Új főverzióra váltásról ezek a cikkek szólnak: