Come configurare aggiornamenti automatici di Debian senza interfaccia grafica con Unattended-Upgrades

Cosa fa unattended-upgrades su un server Debian senza interfaccia grafica

unattended-upgradesè il pacchetto di Debian per il download e l'installazione automatica di aggiornamenti APT selezionati senza un login interattivo. Su un server senza interfaccia grafica, risulta utile per la manutenzione della sicurezza quando non è disponibile una sessione desktop e non è previsto che nessuno esegua il processo apt upgradequotidianamente.

A partire da ottobre 2026, Debian 13 "trixie" è la versione stabile di Debian e il unattended-upgradespacchetto stabile è la versione 2.12. Il pacchetto è destinato ai normali aggiornamenti dei pacchetti, in particolare agli aggiornamenti di sicurezza e stabili. Non sostituisce la procedura separata e pianificata di aggiornamento da una versione principale di Debian a un'altra.

Il modello pratico è semplice: il meccanismo periodico di APT aggiorna gli indici dei pacchetti, apt-daily-upgrade.servicerichiama il backend unattended-upgrade a intervalli regolari e la tua policy decide quali origini dei pacchetti sono consentite. Debian registra il risultato in /var/log/unattended-upgrades/.

Lista di controllo per la configurazione rapida

ObiettivoAzione consigliata
Installa l'aggiornamentosudo apt update && sudo apt install unattended-upgrades
Consentire il lavoro periodico giornalieroImposta APT::Periodic::Update-Package-Lists "1";eAPT::Periodic::Unattended-Upgrade "1";
Mantenere sostenibile la politica localeInserisci le modifiche in un file successivo come52unattended-upgrades-local
Esegui un test prima di farvi affidamento.sudo unattended-upgrade --debug --dry-run
Conferma la programmazioneIspezionare apt-daily.timereapt-daily-upgrade.timer
Risultati della visioneRivedi /var/log/unattended-upgrades/e i tuoi avvisi di monitoraggio

1. Installa gli aggiornamenti automatici

Eseguire l'installazione da una shell con privilegi di amministratore:

sudo apt update
sudo apt install unattended-upgrades

L'installazione del pacchetto può essere ripetuta senza problemi: APT segnalerà semplicemente che è già installato se il sistema host lo possiede già. Debian descrive il pacchetto come un programma di installazione automatico per gli aggiornamenti di sicurezza e altri aggiornamenti selezionati in base alle policy.

Terminale Debian che mostra l'esecuzione di apt update seguita dall'installazione del pacchetto unattended-upgrades.
Esempio di schermata del terminale per l'installazione di unattended-upgrades. I nomi dei repository e il numero di pacchetti variano a seconda della versione di Debian e del sistema host.

Per un parco macchine, non dare per scontato che ogni immagine abbia lo stesso stato predefinito. Alcune installazioni Debian includono già gli aggiornamenti automatici; altre no, e una configurazione esistente potrebbe essere stata disabilitata. Dopo l'installazione, verifica la configurazione effettiva invece di presumere che la presenza di un pacchetto implichi che la policy desiderata sia attiva.

2. Abilitare aggiornamenti periodici dell'elenco dei pacchetti ed esecuzioni automatiche

Il file README di Debian indica che per una configurazione manuale sono necessari questi due valori periodici di APT:

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

Il valore "1"indica che l'attività è idonea per l'esecuzione giornaliera. Un esempio pratico di frammento locale è:

sudo nano /etc/apt/apt.conf.d/20auto-upgrades

Aggiungi quindi le due righe sopra. Puoi ispezionare la configurazione APT unita con:

apt-config dump | grep -E 'APT::Periodic::(Update-Package-Lists|Unattended-Upgrade)'
Nano editor che mostra le impostazioni periodiche di APT per gli aggiornamenti giornalieri dell'elenco dei pacchetti e gli aggiornamenti automatici.
Impostazioni periodiche di APT che richiedono aggiornamenti giornalieri dell'elenco dei pacchetti ed esecuzioni automatiche degli aggiornamenti.

Non interpretate questo come una promessa che un'attività inizierà esattamente a mezzanotte ogni giorno. Sui sistemi Debian basati su systemd, APT utilizza unità di timer e un comportamento di pianificazione casuale. Per le attività operative, verificate lo stato effettivo del timer e il prossimo trigger sull'host, anziché progettare il monitoraggio basandovi su un orario ipotetico.

3. Definire quali repository possono aggiornare automaticamente i pacchetti

La policy chiave risiede nella versione Unattended-Upgrade::Origins-Patternprecedente Allowed-Origins. La documentazione di Debian 2.12 raccomanda di creare un frammento APT locale che ordina dopo il 50unattended-upgradesfile impacchettato, ad esempio:

sudo nano /etc/apt/apt.conf.d/52unattended-upgrades-local

Questo è preferibile alla modifica permanente del file distribuito, poiché gli aggiornamenti del pacchetto possono sostituire o entrare in conflitto con la configurazione gestita dal fornitore. Prima di scrivere i pattern, esaminare i metadati di rilascio effettivamente visualizzati da APT:

apt-cache policy

Per la maggior parte dei server headless, una politica prudente prevede di limitare gli aggiornamenti automatici ai canali stabili e di sicurezza standard di Debian. Le modalità esatte possono variare a seconda della configurazione del repository, dei mirror, dei fornitori di terze parti e delle regole di pinning, quindi è consigliabile considerare queste informazioni apt-cache policycome fonte di riferimento per ogni singolo ambiente.

L'editor Nano mostra una policy di origine per gli aggiornamenti automatici e il riavvio automatico disabilitati.
Esempio di visualizzazione dell'editor delle policy. Associa le origini ai repository segnalati dalla policy apt-cache sul tuo server, anziché copiare le etichette ciecamente.

Comandi opzionali da conoscere

La configurazione 2.12 supporta blacklist e whitelist di pacchetti, riavvii automatici, report via e-mail, rimozione di dipendenze non utilizzate, limiti di larghezza di banda, restrizioni sul giorno di aggiornamento e output syslog. Alcune opzioni sono particolarmente rilevanti sui server remoti:

Unattended-Upgrade::Automatic-Reboot "false";
Unattended-Upgrade::MailReport "only-on-error";
Unattended-Upgrade::SyslogEnable "true";

Configura la posta solo se la macchina dispone di un trasporto di posta funzionante. Se abiliti il ​​riavvio automatico, il comportamento predefinito di Debian è importante: quando Automatic-Rebootè impostato su true ed /var/run/reboot-requiredesiste, l'host può riavviarsi senza conferma. Puoi impostare Unattended-Upgrade::Automatic-Reboot-Timela pianificazione di tale riavvio per una finestra di manutenzione.

Per molti sistemi di produzione, lasciare il riavvio automatico disabilitato è più sicuro, a meno che il servizio non sia ridondante, non siano definite finestre di manutenzione e non siano automatizzati i controlli di integrità post-riavvio.

4. Verificare i timer di systemd ed eseguire un test a secco

Su una normale installazione Debian basata su systemd, controlla i timer di APT anziché cercare un'unità inventata unattended-upgrades.timer:

systemctl status apt-daily.timer apt-daily-upgrade.timer
systemctl list-timers apt-daily.timer apt-daily-upgrade.timer

apt-daily.timerè associato all'attività di routine di download/indicizzazione dei pacchetti, mentre apt-daily-upgrade.timerattiva il percorso di servizio di aggiornamento/pulizia utilizzato dagli aggiornamenti automatici.

Stato del terminale Systemd per apt-daily.timer e apt-daily-upgrade.timer che mostrano sia attivo che in attesa
Stato del timer Systemd per le attività giornaliere di APT. Le date mostrate sono indicative; utilizzare il comando `systemctl list-timers` per visualizzare la data effettiva della prossima esecuzione sul proprio host.

Successivamente, testa la policy senza modificare i pacchetti:

sudo unattended-upgrade --debug --dry-run

Questo è il controllo preliminare più utile perché valuta la configurazione APT reale e registra i dettagli di debug. Esamina l'output per individuare i pacchetti che verrebbero selezionati o bloccati, origini di terze parti inaspettate, problemi di dipendenza e richieste relative ai file di configurazione.

Se la simulazione non seleziona nulla, è perfettamente normale quando il server è aggiornato. Verifica che siano effettivamente presenti aggiornamenti in sospeso apt list --upgradable, quindi confronta la loro origine e i criteri con i modelli configurati.

5. Monitorare gli aggiornamenti automatici e gestire i riavvii in modo mirato

Il pacchetto scrive il suo registro attività principale e l'output di dpkg in:

/var/log/unattended-upgrades/unattended-upgrades.log
/var/log/unattended-upgrades/unattended-upgrades-dpkg.log

Tra i controlli utili si possono citare:

sudo tail -n 100 /var/log/unattended-upgrades/unattended-upgrades.log
sudo journalctl -u apt-daily-upgrade.service --since "7 days ago"
test -f /var/run/reboot-required && cat /var/run/reboot-required

Per un singolo computer da laboratorio domestico, la revisione periodica dei log potrebbe essere sufficiente. Per i sistemi aziendali, è opportuno inviare gli errori a un sistema di monitoraggio centralizzato o al syslog, in modo che un errore silenzioso del repository, un filesystem pieno, una dipendenza interrotta o uno stato dpkg alterato non rimangano inosservati.

Impostazioni di riferimento per le policy comuni del server

ScenarioPoliticaNota operativa
Server incentrato sulla sicurezzaConsenti gli aggiornamenti di sicurezza e stabili di Debian; mantieni il riavvio manualeUna buona soluzione predefinita quando un'interruzione del servizio è più costosa di un riavvio ritardato.
Nodo senza stato o ridondanteConsenti gli aggiornamenti e il riavvio automatico programmatoAbbinare a controlli di salute e svuotamento del bilanciatore di carico
Apparecchio sensibile al kernelUtilizzare una blacklist di pacchetti solo con una procedura di eccezione documentata.L'inserimento in una lista nera può lasciare senza correzione le vulnerabilità note.
Server con repository del fornitoreNon consentire l'origine del fornitore finché la sua politica di aggiornamento non sarà stata rivista.Prima di procedere, verifica la firma, le politiche di supporto e le aspettative relative al rollback.

Guida rapida alla risoluzione dei problemi

Il timer è attivo ma non sono installati pacchetti

Verifica se sono presenti aggiornamenti in sospeso, se l'origine del repository corrisponde alla policy consentita e se una blacklist o un vincolo di dipendenza ne impedisce la selezione. Esegui sudo unattended-upgrade --debug --dry-runi test per avere prove concrete, anziché modificare la policy a caso.

Il server attende la configurazione del pacchetto

unattended-upgradesÈ progettato per evitare aggiornamenti che richiederebbero la risoluzione di problemi di configurazione di dpkg. Se un pacchetto viene ripetutamente bloccato, esamina il registro e decidi se la decisione relativa al file di configurazione debba essere gestita manualmente.

Gli aggiornamenti non vengono mai eseguiti dopo la clonazione di un'immagine di macchina virtuale.

Verifica che i timer siano abilitati e attivi, quindi ispeziona apt-config dump. Le immagini master spesso contengono frammenti APT locali, mascheramento o override delle policy che differiscono dalle impostazioni predefinite del pacchetto.

È necessario interrompere gli aggiornamenti automatici

Utilizzare il percorso di riconfigurazione supportato da Debian:

sudo dpkg-reconfigure -plow unattended-upgrades

La disattivazione del pacchetto non sostituisce la normale gestione delle patch; si limita a restituire la responsabilità al processo di orchestrazione manuale o esterno.

Lista di controllo per la convalida finale

  • unattended-upgradesviene installato da un repository Debian affidabile.
  • L'aggiornamento periodico dell'elenco dei pacchetti APT e l'aggiornamento automatico sono abilitati.
  • La politica locale viene memorizzata in un file di override successivo, ad esempio 52unattended-upgrades-local.
  • Le origini consentite sono state verificate rispetto a apt-cache policy.
  • apt-daily.timere apt-daily-upgrade.timersono attivi.
  • sudo unattended-upgrade --debug --dry-runSi completa senza selezioni impreviste o errori.
  • I log vengono monitorati e la politica di riavvio corrisponde al modello di manutenzione.
  • Gli aggiornamenti delle versioni principali di Debian rimangono una procedura pianificata separatamente.

Riferimenti ufficiali

Per verificare il comportamento di una specifica versione, si prega di utilizzare la documentazione ufficiale di Debian:

Lascia un commento

Come personalizzare il pannello XFCE in Pardus Linux per utenti Windows

Come personalizzare il pannello XFCE in Pardus Linux per utenti Windows

Personalizza Pardus XFCE con una barra delle applicazioni inferiore, un menu delle applicazioni, i launcher preferiti, i pulsanti per aprire le finestre, l'area di notifica e l'orologio. Scopri cosa modificare e come testare il layout.

Come configurare aggiornamenti automatici di Debian senza interfaccia grafica con Unattended-Upgrades

Come configurare aggiornamenti automatici di Debian senza interfaccia grafica con Unattended-Upgrades

Configura gli aggiornamenti automatici su un server Debian senza interfaccia grafica, verifica i timer di systemd, esegui test in sicurezza, controlla i riavvii e monitora gli aggiornamenti di sicurezza automatici.

Risoluzione dei problemi di connessione della console Web di Cockpit su SUSE Linux Enterprise Server

Risoluzione dei problemi di connessione della console Web di Cockpit su SUSE Linux Enterprise Server

Risolvere i problemi di Cockpit su SUSE Linux Enterprise Server verificando l'URL HTTPS, il socket systemd, i pacchetti installati, la zona firewalld, i certificati e i log.

Come migrare da SLES 15 SP5 a SP6 senza tempi di inattività del sistema

Come migrare da SLES 15 SP5 a SP6 senza tempi di inattività del sistema

Scopri come mantenere i servizi disponibili durante una migrazione da SLES 15 SP5 a SP6 con un aggiornamento progressivo SLE HA testato, controlli nodo per nodo e una chiara avvertenza relativa ai tempi di inattività di un singolo server.

Come configurare Pi-hole DNS-over-HTTPS su Ubuntu Server 24.04

Come configurare Pi-hole DNS-over-HTTPS su Ubuntu Server 24.04

Configura Pi-hole su Ubuntu Server 24.04 per utilizzare DNS-over-HTTPS con dnscrypt-proxy, quindi verifica il server DNS locale e previeni i comuni conflitti DNS.

Come risolvere il problema di avvio dell'interfaccia grafica di YaST tramite SSH con inoltro X11

Come risolvere il problema di avvio dell'interfaccia grafica di YaST tramite SSH con inoltro X11

Risolvere i problemi dell'interfaccia grafica di YaST relativi all'inoltro SSH X11. Testare DISPLAY, correggere l'errore Qt XIO documentato, verificare le impostazioni SSH e passare a ncurses quando necessario.

Come configurare un server SUSE RMT locale (sostituto di SMT)

Come configurare un server SUSE RMT locale (sostituto di SMT)

Configurare SUSE RMT su SLES 15, sincronizzare i metadati SCC, replicare i repository selezionati, registrare i client tramite HTTPS e comprendere i limiti della migrazione da SMT.

Risoluzione del problema "Driver della scheda audio non rilevati" su Pardus Linux 23

Risoluzione del problema "Driver della scheda audio non rilevati" su Pardus Linux 23

Risolvere i problemi relativi a una scheda audio mancante su Pardus Linux 23. Verificare in modo sicuro il rilevamento ALSA, i moduli del kernel, i servizi audio, i profili di output, il firmware e gli aggiornamenti.

Risolvere il problema della risoluzione dello schermo bloccata a 1024x768 su una macchina virtuale KVM Pardus.

Risolvere il problema della risoluzione dello schermo bloccata a 1024x768 su una macchina virtuale KVM Pardus.

Risolvi i problemi di una macchina virtuale Pardus KVM bloccata a 1024x768 controllando la GPU virtuale, l'agente SPICE, la sessione X11 o Wayland e verificando che le modalità di visualizzazione superiori siano impostate correttamente.

Come montare automaticamente una directory SSHFS remota all'avvio in Debian

Come montare automaticamente una directory SSHFS remota all'avvio in Debian

Montare automaticamente una directory SSHFS remota all'avvio in Debian utilizzando SSH basato su chiave, /etc/fstab, opzioni di rete systemd, montaggio automatico e passaggi di verifica.