116 lines
4.6 KiB
Markdown
116 lines
4.6 KiB
Markdown
|
# unattended-upgrades
|
||
|
|
||
|
Il pacchetto `unattended-upgrades` viene utilizzato per installare automaticamente i pacchetti aggiornati e può essere configurato per installare automaticamente solo gli aggiornamenti di sicurezza.
|
||
|
Può essere installarlo con il seguente comando:
|
||
|
|
||
|
```bash
|
||
|
sudo apt install unattended-upgrades
|
||
|
```
|
||
|
|
||
|
Abilitare quindi il servizio:
|
||
|
|
||
|
```bash
|
||
|
sudo systemctl enable --now unattended-upgrades.service
|
||
|
|
||
|
Synchronizing state of unattended-upgrades.service with SysV service script with /lib/systemd/systemd-sysv-install.
|
||
|
Executing: /lib/systemd/systemd-sysv-install enable unattended-upgrades
|
||
|
|
||
|
sudo systemctl status unattended-upgrades.service
|
||
|
● unattended-upgrades.service - Unattended Upgrades Shutdown
|
||
|
Loaded: loaded (/lib/systemd/system/unattended-upgrades.service; enabled; preset: enabled)
|
||
|
Active: active (running) since Sat 2023-04-15 19:21:21 CEST; 4s ago
|
||
|
Docs: man:unattended-upgrade(8)
|
||
|
Main PID: 33300 (unattended-upgr)
|
||
|
Tasks: 2 (limit: 16595)
|
||
|
Memory: 11.8M
|
||
|
CPU: 59ms
|
||
|
CGroup: /system.slice/unattended-upgrades.service
|
||
|
└─33300 /usr/bin/python3 /usr/share/unattended-upgrades/unattended-upgrade-shutdown --wait-for-signal
|
||
|
|
||
|
apr 15 19:21:21 desktop systemd[1]: Started unattended-upgrades.service - Unattended Upgrades Shutdown.
|
||
|
```
|
||
|
|
||
|
Possiamo configurare le impostazioni del pacchetto modificando il file `/etc/apt/apt.conf.d/50unattended-upgrades`.
|
||
|
|
||
|
Il pacchetto unattended-upgrades può essere configurato per aggiornare tutti i pacchetti o solo gli aggiornamenti di sicurezza.
|
||
|
La prima sezione definisce quali tipi di pacchetti verranno automaticamente aggiornati. Per impostazione predefinita, installerà solo gli aggiornamenti di sicurezza,
|
||
|
se si desidera abilitare gli aggiornamenti dagli altri repository, è possibile decommentare il repository appropriato.
|
||
|
|
||
|
```bash
|
||
|
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
|
||
|
|
||
|
[...]
|
||
|
|
||
|
Unattended-Upgrade::Origins-Pattern {
|
||
|
// Codename based matching:
|
||
|
// This will follow the migration of a release through different
|
||
|
// archives (e.g. from testing to stable and later oldstable).
|
||
|
// Software will be the latest available for the named release,
|
||
|
// but the Debian release itself will not be automatically upgraded.
|
||
|
//"origin=Debian,codename=${distro_codename}-updates";
|
||
|
//"origin=Debian,codename=${distro_codename}-proposed-updates";
|
||
|
//"origin=Debian,codename=${distro_codename},label=Debian";
|
||
|
"origin=Debian,codename=${distro_codename},label=Debian-Security";
|
||
|
"origin=Debian,codename=${distro_codename}-security,label=Debian-Security";
|
||
|
|
||
|
// Archive or Suite based matching:
|
||
|
// Note that this will silently match a different release after
|
||
|
// migration to the specified archive (e.g. testing becomes the
|
||
|
// new stable).
|
||
|
// "o=Debian,a=stable";
|
||
|
// "o=Debian,a=stable-updates";
|
||
|
// "o=Debian,a=proposed-updates";
|
||
|
// "o=Debian Backports,a=${distro_codename}-backports,l=Debian Backports";
|
||
|
};
|
||
|
```
|
||
|
|
||
|
## Abilitare gli aggiornamenti automatici di sicurezza
|
||
|
|
||
|
Per abilitare l'aggiornamento automatico, è necessario assicurarsi che il file di configurazione `/etc/apt/apt.conf.d/20auto-upgrades` contenga almeno le seguenti due righe,
|
||
|
che dovrebbero essere incluse per impostazione predefinita:
|
||
|
|
||
|
```bash
|
||
|
APT::Periodic::Update-Package-Lists "1";
|
||
|
APT::Periodic::Unattended-Upgrade "1";
|
||
|
```
|
||
|
La configurazione precedente aggiorna l'elenco dei pacchetti e installa gli aggiornamenti disponibili ogni giorno.
|
||
|
|
||
|
È possibile anche aggiungere la seguente riga che pulirà l'archivio dei download locale ogni 7 giorni:
|
||
|
|
||
|
```bash
|
||
|
APT::Periodic::AutocleanInterval "7";
|
||
|
```
|
||
|
|
||
|
Quindi dare il seguente comando:
|
||
|
|
||
|
```bash
|
||
|
sudo dpkg-reconfigure --priority -low ined upgrades
|
||
|
```
|
||
|
|
||
|
### Verificare che siano correttamente abilitati
|
||
|
|
||
|
Per verificare se gli aggiornamenti automatici funzionano correttamente, procedere nel seguente modo:
|
||
|
|
||
|
```bash
|
||
|
sudo unattended-upgrades --dry-run --debug
|
||
|
```
|
||
|
|
||
|
L'output dovrebbe assomigliare a questo:
|
||
|
|
||
|
```bash
|
||
|
...
|
||
|
pkgs that look like they should be upgraded:
|
||
|
Fetched 0 B in 0s (0 B/s)
|
||
|
fetch.run() result: 0
|
||
|
blacklist: []
|
||
|
whitelist: []
|
||
|
No packages found that can be upgraded unattended and no pending auto-removals
|
||
|
```
|
||
|
|
||
|
La cronologia degli aggiornamenti automatici viene salvata nel file `/var/log/unattended-upgrades/unattended-upgrades.log`.
|
||
|
|
||
|
## Collegamenti
|
||
|
|
||
|
- [https://linuxhint.com/configure-automatic-security-updates-debian/](https://linuxhint.com/configure-automatic-security-updates-debian/)
|
||
|
- [https://noviello.it/come-abilitare-e-configurare-aggiornamenti-automatici-su-ubuntu-18-04/](https://noviello.it/come-abilitare-e-configurare-aggiornamenti-automatici-su-ubuntu-18-04/)
|