Rendszerfrissítés dnf és apt használatával, automatikus frissítések beállítása

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: