Actualizări de sistem și actualizări automate de securitate
Cum actualizați manual sistemul, cum porniți actualizările automate și când trebuie repornit serverul.
Pe această pagină
Multe atacuri asupra serverelor folosesc vulnerabilități pentru care producătorul sistemului a publicat deja o corecție. Ghidul arată cum actualizați Ubuntu, Debian, AlmaLinux și CentOS Stream, cum aflați dacă serverul trebuie repornit și cum porniți actualizările automate. Comenzile se rulează pe server, ca root, într-o sesiune SSH (Conectarea la server prin SSH (Windows, macOS, Linux)). Repornirea se poate face și din panoul app.blackbox.md: „Serverele mele” (app.blackbox.md/my-servers) → cardul serverului → „Repornește”.
Disponibil pentru: titularul serverului, cu acces root prin SSH. BLACKBOX nu instalează actualizări pe serverul dvs.: de ele vă ocupați dvs. Pentru un server marcat „Administrat”, orice modificare se cere suportului.
Actualizarea manuală
Actualizați sistemul imediat după ce primiți serverul și apoi regulat, de exemplu o dată pe săptămână. Nu închideți sesiunea SSH cât timp rulează actualizarea.
Serviciile actualizate (de exemplu serverul web sau baza de date) sunt repornite și pot fi indisponibile pentru scurt timp. Se actualizează și pachetele din depozitele adăugate de dvs., de exemplu Docker: la actualizarea Docker, serviciul docker repornește, iar containerele se opresc pentru scurt timp. Alegeți o oră cu trafic mic.
Ubuntu și Debian
apt update
apt upgrade -yPrima comandă descarcă lista de pachete, a doua instalează versiunile noi. Pe Ubuntu poate apărea o fereastră a programului needrestart, care întreabă ce servicii să fie repornite: lăsați selecția propusă și apăsați Enter. Ce s-a instalat puteți vedea în istoric:
tail -n 30 /var/log/apt/history.logAlmaLinux și CentOS Stream
dnf upgrade -yCe s-a instalat puteți vedea în istoric:
dnf historyTrebuie repornit serverul?
Majoritatea programelor actualizate se repornesc singure. Un nucleu (kernel) nou și unele biblioteci de sistem intră în funcțiune abia după repornirea serverului.
Ubuntu și Debian
cat /var/run/reboot-required
cat /var/run/reboot-required.pkgsDacă repornirea este necesară, fișierul există: pe Ubuntu prima comandă afișează *** System restart required *** (pe Debian fișierul poate fi gol), iar a doua afișează pachetele care o cer. Mesajul „No such file or directory” la prima comandă înseamnă că repornirea nu este necesară. Pe Ubuntu, avertismentul despre repornire apare și la conectarea prin SSH. Pe Debian fără pachetul unattended-upgrades (vedeți „Actualizări automate pe Ubuntu și Debian”), fișierul poate lipsi chiar dacă repornirea este necesară: dacă apt a instalat un pachet linux-image-…, reporniți oricum.
AlmaLinux și CentOS Stream
Comanda needs-restarting vine din pachetul dnf-utils:
dnf install -y dnf-utils
needs-restarting -rRezultatul „Reboot is required to fully utilize these updates.” înseamnă că serverul trebuie repornit; „Reboot should not be necessary.” înseamnă că nu.
Cum reporniți
Reporniți din sesiunea SSH sau, în panou, apăsați „Repornește” pe cardul serverului și confirmați „Reporniți NUME_SERVER?”.
rebootAșteptați 30–60 de secunde și conectați-vă din nou.
Verificați versiunea nucleului care rulează:
uname -r
Detalii despre butoanele din panou: Repornirea, oprirea și pornirea serverului.
Important Panoul nu are consolă web sau VNC. Dacă după o actualizare sau o repornire serverul nu mai răspunde prin SSH, urmați Nu mă pot conecta prin SSH; dacă nu ajută, doar echipa BLACKBOX poate interveni: Cum contactați suportul BLACKBOX.
Actualizări automate pe Ubuntu și Debian
Pachetul unattended-upgrades descarcă și instalează actualizările zilnic, în fundal.
Instalați pachetul. Dacă este deja instalat, comanda nu schimbă nimic.
apt update apt install -y unattended-upgradesPorniți actualizările automate. La întrebarea „Automatically download and install stable updates?” alegeți „Yes” și apăsați Enter.
dpkg-reconfigure -plow unattended-upgradesVerificați fișierul creat:
cat /etc/apt/apt.conf.d/20auto-upgradesAmbele rânduri trebuie să aibă valoarea „1”:
APT::Periodic::Update-Package-Lists "1"; APT::Periodic::Unattended-Upgrade "1";Rulați un test, care nu instalează nimic:
unattended-upgrade --dry-run --debug
Setările sunt în /etc/apt/apt.conf.d/50unattended-upgrades. Implicit, pe Ubuntu se instalează doar actualizările de securitate, iar pe Debian actualizările de securitate și corecțiile din versiunile intermediare ale distribuției (de exemplu 12.7 → 12.8). Pachetele din depozitele adăugate de dvs. (de exemplu Docker) nu se actualizează automat: pentru ele rulați apt upgrade manual.
Repornire automată la o oră fixă
Implicit, serverul nu este repornit automat. Ca să fie repornit noaptea, când o actualizare o cere:
Deschideți fișierul de setări:
nano /etc/apt/apt.conf.d/50unattended-upgradesGăsiți rândurile de mai jos, ștergeți
//de la începutul lor și setați valorile:Unattended-Upgrade::Automatic-Reboot "true"; Unattended-Upgrade::Automatic-Reboot-Time "03:00";Salvați cu Ctrl+O și Enter, apoi ieșiți cu Ctrl+X.
Serverul repornește la ora aleasă doar dacă o actualizare a cerut repornirea. Ora este cea a serverului; fusul orar îl vedeți cu:
timedatectlJurnale
Jurnalele sunt în /var/log/unattended-upgrades/: unattended-upgrades.log (ce s-a instalat) și unattended-upgrades-dpkg.log (detaliile instalării). Prima comandă arată ultimele intrări, a doua, când rulează următoarea actualizare automată:
tail -n 50 /var/log/unattended-upgrades/unattended-upgrades.log
systemctl list-timers 'apt-daily*'Actualizări automate pe AlmaLinux și CentOS Stream
Pachetul dnf-automatic verifică zilnic actualizările. Implicit doar le descarcă, fără să le instaleze.
Instalați pachetul:
dnf install -y dnf-automaticSetați
apply_updates = yesîn/etc/dnf/automatic.conf, ca actualizările să fie și instalate:sed -i 's/^apply_updates = .*/apply_updates = yes/' /etc/dnf/automatic.confOpțional, doar pe AlmaLinux: instalați automat numai actualizările de securitate.
sed -i 's/^upgrade_type = .*/upgrade_type = security/' /etc/dnf/automatic.confOpțional: repornire automată când o actualizare o cere.
sed -i 's/^reboot = .*/reboot = when-needed/' /etc/dnf/automatic.confServerul repornește la câteva minute după instalarea actualizărilor, adică la ora programării zilnice (o vedeți la pasul 6).
Verificați setările. Dacă rândul
rebootlipsește, versiunea dvs. nu are această opțiune: reporniți manual.grep -E '^(upgrade_type|apply_updates|reboot) ' /etc/dnf/automatic.confPorniți programarea zilnică și vedeți când rulează:
systemctl enable --now dnf-automatic.timer systemctl list-timers dnf-automatic.timer
Ce s-a întâmplat la ultimele rulări:
journalctl -u dnf-automatic.serviceSfat Pe CentOS Stream lăsați
upgrade_type = default: CentOS Stream nu publică marcajele de securitate, așa că variantasecuritypoate să nu instaleze nimic. Cudefault,dnf-automaticinstalează toate actualizările, inclusiv din depozitele adăugate de dvs. (de exemplu Docker).
Trecerea la o versiune majoră nouă
Actualizările obișnuite păstrează versiunea sistemului: Ubuntu 22.04 rămâne 22.04. Trecerea la o versiune nouă (de exemplu Ubuntu 20.04 → 22.04) schimbă aproape toate pachetele.
Risc Trecerea la o versiune majoră poate opri site-urile și aplicațiile sau poate lăsa serverul fără acces SSH, iar BLACKBOX nu face copii de rezervă automate ale serverului. Faceți înainte backup pe alt sistem: Strategia de backup pentru serverul dvs.. Pentru un server de producție, de multe ori este mai sigur un server nou și mutarea datelor.
| Sistem | Cum se face |
|---|---|
| Ubuntu | Cu do-release-upgrade, de la o versiune LTS la următoarea, pe rând: 20.04 → 22.04 → 24.04. |
| Debian | Fără instrument automat: se schimbă numele versiunii în sursele APT și se rulează apt full-upgrade, după notele oficiale de lansare (versiunile Debian). |
| AlmaLinux, CentOS Stream | Trecerea pe loc cere instrumente separate și este riscantă. Recomandăm un server nou. |
Ubuntu: do-release-upgrade
Faceți backup.
Instalați toate actualizările versiunii curente:
apt update apt full-upgrade -yReporniți serverul, din SSH sau cu „Repornește” în panou, și conectați-vă din nou.
Porniți trecerea:
do-release-upgradeProgramul avertizează că rulează prin SSH și anunță că pornește un server SSH suplimentar pe portul 1022. Filtrul de rețea administrat de BLACKBOX lasă să treacă implicit doar SSH (22), HTTP (80), HTTPS (443) și ping (Firewall: filtrarea din rețea și ufw/firewalld pe server), așa că nu contați pe acest port: păstrați deschisă o a doua sesiune SSH pe portul 22. Tastați
yca să continuați.Confirmați cu
yși celelalte întrebări. La fișierele de configurare modificate, păstrați versiunea locală (vedeți „Mesaje frecvente”). Depozitele adăugate de dvs. (de exemplu Docker) sunt dezactivate la trecere; reactivați-le apoi după documentația producătorului.La final, acceptați repornirea, conectați-vă din nou și verificați versiunea:
cat /etc/os-release
Mesajul „No new release found.” înseamnă că nu există încă o versiune LTS mai nouă disponibilă pentru trecere.
Server nou în locul trecerii
Comandați un server nou cu versiunea dorită (Sistemele de operare disponibile), mutați datele (Mutarea unui site pe serverul BLACKBOX), îndreptați domeniul către noua adresă IP (Cum îndreptați domeniul către server) și abia apoi ștergeți serverul vechi (Ștergerea definitivă a unui server). Până la ștergere, se facturează ambele servere.
Aplicațiile și panourile se actualizează separat
apt și dnf actualizează doar pachetele instalate din depozite. Aplicațiile, site-urile și unele panouri se actualizează separat:
| Ce aveți pe server | Cum se actualizează |
|---|---|
| Containere Docker | Imaginile nu se schimbă la actualizarea sistemului. În dosarul proiectului descărcați imaginile noi și recreați containerele (comenzile de mai jos). Vedeți Instalarea Docker și Docker Compose. |
| Site-uri pe CMS (de exemplu WordPress) | Din administrarea CMS-ului: nucleul, modulele (plugins) și temele. Vedeți WordPress pe LEMP (nginx, MariaDB, PHP). |
| Panou de control (Hestia, ispmanager etc.) | După documentația panoului: unele panouri se actualizează odată cu sistemul, altele din meniul propriu. Pentru panoul primit cu un plan „VPS hosting”, scrieți-ne (Planurile „VPS hosting” cu panou de control). |
Programe instalate din arhive, cu pip sau npm ori compilate |
Nu le actualizează nici apt, nici dnf: urmați instrucțiunile producătorului. |
docker compose pull
docker compose up -dFaceți backup și înainte de actualizarea unui CMS sau a unei aplicații.
Mesaje frecvente
| Mesaj | Ce înseamnă | Ce faceți |
|---|---|---|
| „Could not get lock /var/lib/dpkg/lock-frontend” | Rulează deja alt proces apt, de obicei actualizarea automată. | Așteptați câteva minute și reîncercați. Nu ștergeți fișierele de blocare. |
| „dpkg was interrupted, you must manually run 'dpkg --configure -a' to correct the problem.” | O actualizare anterioară a fost întreruptă, de exemplu s-a pierdut conexiunea. | Rulați comenzile de mai jos. |
| „The following packages have been kept back:” sau „The following upgrades have been deferred due to phasing:” | De obicei, Ubuntu livrează actualizarea treptat, nu tuturor serverelor deodată. | Este normal: se instalează la o actualizare ulterioară. |
O întrebare despre un fișier de configurare modificat (de exemplu sshd_config) |
Pachetul aduce o versiune nouă a unui fișier modificat pe server. | Alegeți „keep the local version currently installed” sau tasta N. Așa păstrați setările SSH ale serverului. |
| „No space left on device” | Discul este plin. | Discul serverului este plin |
După o actualizare întreruptă:
dpkg --configure -a
apt upgrade -yÎntrebări frecvente
Butonul „Upgrade” din panou actualizează sistemul? Nu. „Upgrade” trece serverul la un plan mai mare și păstrează sistemul așa cum este: Upgrade server: trecerea la un plan mai mare.
Am Ubuntu 20.04 sau Debian 11. Mai are rost să actualizez? Da, dar suportul standard de la producător pentru aceste versiuni s-a încheiat. Planificați trecerea la o versiune nouă (secțiunea de mai sus). Datele de suport sunt la producători: ciclul de lansări Ubuntu și versiunile Debian.
Se actualizează și agentul serviciului Monitoring?
Dacă agentul alloy a fost instalat din depozitul producătorului, apt upgrade îl actualizează ca pe orice alt pachet. Este normal. La întrebarea despre fișierul /etc/alloy/config.alloy, păstrați versiunea locală (vedeți „Mesaje frecvente”). Nu opriți și nu dezinstalați agentul: Serviciul Monitoring: agentul instalat pe server.
Poate echipa BLACKBOX să se ocupe de actualizări? Întreținerea serverului se poate cere ca serviciu separat: Servicii profesionale la cerere: administrare, DevOps, migrare.