4. modulis · 4.2
Automātiskie atjauninājumi
4. modulis: Programmatūra un atjauninājumi · Lasīšanas laiks: 10 min.
Mācīšanās mērķis: Pēc šīs nodarbības Jūs varēsiet ieslēgt un pārbaudīt automātiskos drošības atjauninājumus, zināsiet, kas notiek automātiski un kas ne, un zināsiet, kad nepieciešama restartēšana.
Pamatjēdzieni: unattended-upgrades, 20auto-upgrades, 50unattended-upgrades, Origins-Pattern un Allowed-Origins, apt-daily taimeri, needrestart, /var/run/reboot-required, Automatic-Reboot, kodola atjauninājums, dnf-automatic
Kāpēc automātiski?
Drošības ievainojamības tiek atklātas, izlabotas un pēc tam aktīvi izmantotas, bieži vien dažu dienu laikā. Serveris, ko atjaunināt reizi mēnesī, tātad vidēji vairākas nedēļas ir atvērts zināmām ievainojamībām. Nīderlandes NCSC savlaicīgu atjauninājumu instalēšanu pieskaita digitālās noturības pamatprincipiem: "Savlaicīga programmatūras atjaunināšana un ielāpošana palīdz ātri novērst ievainojamības."
Tomēr arī "viss automātiski" nav labs risinājums. Jauna programmas versija var uzvesties citādi nekā vecā, un serveris, kas pats restartējas dienas vidū, var traucēt Jūsu apmeklētājiem. Ierastais vidusceļš Debian un Ubuntu sistēmās ir šāds:
- drošības atjauninājumi automātiski, katru dienu;
- pārējie atjauninājumi un laidiena jauninājumi manuāli, Jūsu izvēlētā brīdī, iepriekš izveidojot momentuzņēmumu;
- restartēšana plānota, mierīgā brīdī, un kontrolēta.
Programmu, kas to nodrošina, sauc unattended-upgrades.
unattended-upgrades ieslēgšana
Ubuntu Server sistēmā unattended-upgrades ir instalēts pēc noklusējuma, un automātiskie drošības atjauninājumi ir ieslēgti uzreiz pēc instalēšanas. Debian sistēmā tas daudzās instalācijās un attēlos arī jau ir, taču ne vienmēr. Pārbaudiet un ieslēdziet:
anna@web1:~$ sudo apt install unattended-upgrades
anna@web1:~$ sudo dpkg-reconfigure -plow unattended-upgradesOtrā komanda jautā "Automatically download and install stable updates?". Izvēlieties Yes. Tas ieraksta failu /etc/apt/apt.conf.d/20auto-upgrades:
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";1 nozīmē: katru dienu. Ar 0 Jūs to izslēdzat. Pašu darbu palaiž divi systemd taimeri (nodarbība 6.3), kurus varat apskatīt šādi:
anna@web1:~$ systemctl list-timers 'apt*'
NEXT LEFT LAST PASSED UNIT ACTIVATES
Tue 2026-11-10 06:24:11 CET 9h left Mon 2026-11-09 06:41:03 CET 14h ago apt-daily-upgrade.timer apt-daily-upgrade.service
Tue 2026-11-10 08:02:47 CET 11h left Mon 2026-11-09 19:12:30 CET 1h ago apt-daily.timer apt-daily.serviceapt-daily lejupielādē sarakstus (tāpat kā apt update), apt-daily-upgrade instalē atjauninājumus. Laikiem ir nejauša izkliede, lai ne visi pasaules serveri vienlaikus noslogotu pakotņu avotus.
Kas tiek instalēts automātiski?
Tas ir norādīts failā /etc/apt/apt.conf.d/50unattended-upgrades. Debian sistēmā bloku sauc Unattended-Upgrade::Origins-Pattern, Ubuntu sistēmā Unattended-Upgrade::Allowed-Origins. Pēc noklusējuma tur ir ieslēgts drošības avots un Jūsu laidiena stabilais avots, bet avots -updates ir izslēgts. Ubuntu sistēmā tas izskatās šādi:
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}";
"${distro_id}:${distro_codename}-security";
"${distro_id}ESMApps:${distro_codename}-apps-security";
"${distro_id}ESM:${distro_codename}-infra-security";
// "${distro_id}:${distro_codename}-updates";
// "${distro_id}:${distro_codename}-proposed";
// "${distro_id}:${distro_codename}-backports";
};Rindas, kuru sākumā ir //, ir izslēgtas. Pirmajam serverim atstājiet to tā, kā ir. Nemainiet failu tieši, jo nākamā pakotnes versija var vēlēties to aizstāt. Debian iesaka savas izmaiņas ierakstīt atsevišķā failā, piemēram, /etc/apt/apt.conf.d/52unattended-upgrades-local; vēlākiem failiem ir prioritāte pār agrākiem.
Pakotnes no papildu avotiem (Docker, Caddy, PostgreSQL no izstrādātāja) pēc noklusējuma netiek atjauninātas automātiski. Tā ir apzināta izvēle: tās Jūs sekojat pats (nodarbība 9.4), vai arī pievienojat avotu sarakstam manuāli, ja uzticaties izstrādātājam un zināt sekas.
Daži iestatījumi, kurus bieži vien vēlaties:
// /etc/apt/apt.conf.d/52unattended-upgrades-local
Unattended-Upgrade::Mail "root";
Unattended-Upgrade::MailReport "only-on-error";
Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";
Unattended-Upgrade::Automatic-Reboot "false";Mail darbojas tikai tad, ja serveris var nosūtīt e-pastu (neliels relejs, nodarbība 8.3). Ja tas nav iespējams, izlaidiet to un izmantojiet uzraudzību no nodarbības 8.3.
Pārbaude, vai tas darbojas
Automātisms, kas klusi apstājas, ir bīstamāks par automātisma neesamību, jo Jūs domājat, ka esat drošībā. Tāpēc pārbaudiet trīs lietas.
1. Izmēģinājuma palaišana. Tā parāda, kas notiktu, neko nemainot:
anna@web1:~$ sudo unattended-upgrade --dry-run --debug
...
Allowed origins are: origin=Debian,codename=trixie,label=Debian, origin=Debian,codename=trixie-security,label=Debian-Security, ...
Packages that will be upgraded: libssl3t64 openssh-server2. Žurnāls. Katra palaišana raksta failā /var/log/unattended-upgrades/unattended-upgrades.log:
anna@web1:~$ sudo tail -n 5 /var/log/unattended-upgrades/unattended-upgrades.log
2026-11-09 06:41:15,201 INFO Packages that will be upgraded: openssh-server
2026-11-09 06:41:15,202 INFO Writing dpkg log to /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
2026-11-09 06:41:29,874 INFO All upgrades installed3. Kas vēl nav izpildīts. apt list --upgradable (nodarbība 4.1) pēc nakts vairs nedrīkstētu rādīt pakotnes no -security. Ja tās tur redzamas vairākas dienas pēc kārtas, kaut kas nedarbojas: pilns disks, bloķēšana, ko radījis iestrēdzis manuāls apt, vai pakotne, kas uzdod jautājumu.
Restartēšana: pakalpojumi un kodols
Atjaunināta programma diskā vēl nav tas pats, kas atjaunināta programma atmiņā. Ja OpenSSH darbojas jau trīs nedēļas, darbojas vecais kods, līdz pakalpojums tiek palaists no jauna.
- Pakalpojumi: programma needrestart pēc atjauninājuma pārbauda, kuri pakalpojumi vēl izmanto vecās bibliotēkas. Ubuntu 24.04 un jaunākās versijās unattended-upgrades pēc noklusējuma šos pakalpojumus ar needrestart restartē automātiski. Debian sistēmā needrestart ir atsevišķa pakotne (
apt install needrestart), kas interaktīvi jautā, kurus pakalpojumus restartēt. - Kodols: jauns kodols sāk darboties tikai pēc visa servera restartēšanas. Debian un Ubuntu tad izveido failu
/var/run/reboot-required:
anna@web1:~$ cat /var/run/reboot-required
*** System restart required ***
anna@web1:~$ cat /var/run/reboot-required.pkgs
linux-image-6.12.57+deb13-amd64Jums ir divas iespējas. Vai nu restartējat paši, piemēram, katru nedēļu noteiktā laikā pēc tam, kad esat pārbaudījuši, vai fails ir izveidots. Vai arī ļaujat to darīt unattended-upgrades:
Unattended-Upgrade::Automatic-Reboot "true";
Unattended-Upgrade::Automatic-Reboot-Time "04:30";Noklusējums ir false. Ieslēdziet to tikai tad, ja droši zināt, ka pēc restartēšanas viss pats atkal sāk darboties: pakalpojumi ar enable (nodarbība 6.1), konteineri ar restart: politiku (nodarbība 9.3) un uzraudzība, kas Jūs brīdina, ja tā nenotiek (nodarbība 8.3). Vispirms vienreiz pārbaudiet to manuāli: sudo reboot, un pārliecinieties, ka viss atgriežas.
Ubuntu ar Ubuntu Pro piedāvā arī Livepatch, kas dažus kodola labojumus piemēro bez restartēšanas. Tas ir papildinājums, nevis aizstājējs: arī ar Livepatch serveri laiku pa laikam jārestartē.
Ko nedarīt automātiski
- Laidiena jauninājumi (no Debian 12 uz 13, no Ubuntu 24.04 uz 26.04): vienmēr manuāli, ar plānu (nodarbība 4.3).
- Jūsu lietotņu lielās versijas (jauna datubāzes vai CMS galvenā versija): vienmēr manuāli, pēc rezerves kopijas izveides un laidiena piezīmju izlasīšanas.
- Konteineri: tos unattended-upgrades neatjaunina. Attēls no 2024. gada paliek attēls no 2024. gada, līdz Jūs izpildāt
docker compose pull(nodarbība 9.4).
AlmaLinux un Rocky Linux
Tur rīku sauc dnf-automatic. Instalējiet ar dnf install dnf-automatic. Failā /etc/dnf/automatic.conf iestatiet upgrade_type = security un apply_updates = yes, un ieslēdziet taimeri ar systemctl enable --now dnf-automatic.timer. RHEL tipa sistēmās kodola restartēšana ir tikpat nepieciešama kā Debian; dnf needs-restarting -r norāda, vai tā ir vajadzīga.
Praksē
WebOké VPS darbojas tāpat kā citur: to, kas tiek atjaunināts servera iekšienē, pārvaldāt Jūs paši. Pakalpojumu sniedzējs atjaunina aparatūru un virtualizācijas platformu, nevis Jūsu operētājsistēmu. Pirms manuāla liela atjauninājuma izveidojiet momentuzņēmumu sava pakalpojumu sniedzēja panelī; ikdienas automātiskajiem drošības atjauninājumiem tas nav vajadzīgs.
Kopsavilkums
- Ieslēdziet automātiskos drošības atjauninājumus ar unattended-upgrades (Ubuntu: ieslēgts pēc noklusējuma; Debian: pārbaudiet ar
dpkg-reconfigure -plow unattended-upgrades). - Pēc noklusējuma automātiski tiek atjaunināts tikai drošības avots un laidiena stabilais avots; papildu avoti ne.
- Pārbaudiet ar izmēģinājuma palaišanu, žurnālu
/var/log/unattended-upgrades/unapt list --upgradable. - Pakalpojumi pēc atjauninājuma jārestartē (needrestart), kodolam nepieciešama restartēšana (
/var/run/reboot-required). - Laidiena jauninājumus, lielas lietotņu versijas un konteinerus atjauniniet manuāli.
Tests (quiz)
Uzdevums
Uzdevums O4.2: Automātisko atjauninājumu ieslēgšana un pārbaude. Ieslēdziet savā serverī unattended-upgrades (vai pārbaudiet, ka tas ir ieslēgts), veiciet izmēģinājuma palaišanu un apskatiet žurnālu un taimerus. Aizpildiet kontrolsarakstu un atbildiet: kuri avoti Jūsu serverī tiek atjaunināti automātiski, kad notika pēdējā palaišana, vai pašlaik ir nepieciešama restartēšana, un kā Jūs restartēsiet (paši noteiktā laikā vai automātiski, un kāpēc)?
Uzdevums O4.2: Automātisko atjauninājumu ieslēgšana un pārbaude
Šo uzdevumu veicat paši; neviens to nepārbauda. Atzīmējiet, ko esat izdarījuši, un atzīmējiet uzdevumu kā paveiktu.
Automātiski: laidiena avots un drošības avots. Ja pastāv reboot-required, gaida kodola vai bibliotēkas atjauninājums. Automātiska restartēšana ir iespējama, ja pēc tam viss atjaunojas pats un Jūsu uzraudzība ziņo, ja tā nenotiek. Papildu avotus (Docker, Caddy), konteinerus un lietotnes, piemēram, WordPress, Jūs atjaunināt paši.
Jūsu atzīmes un piezīmes paliek tikai šajā pārlūkprogrammā; mēs tās nekur nesūtām. Ja esat pieteikušies, sadaļā Mani kursi saglabājam tikai to, ka uzdevums ir paveikts.
Vairāk lasīt
- Jūsu VPS aizsardzība: pirmās piecas minūtes
- Debian Wiki, automātiskie atjauninājumi (UnattendedUpgrades): https://wiki.debian.org/PeriodicUpdates
- Nīderlandes NCSC (nīderlandiešu valodā), 3. pamatprincips: aizsargājiet sistēmas, lietotnes un ierīces: https://www.ncsc.nl/basisprincipes/basisprincipe-3-bescherm-systemen-applicaties-en-apparaten
- Ubuntu Server dokumentācija, Automatic updates: https://ubuntu.com/server/docs/how-to/software/automatic-updates/
