⚖️ Disclaimer
Ce site met à disposition des informations vérifiées, mais celui-ci ne saurait être tenue pour responsable des erreurs ou de l’indisponibilité de certaines informations. Je remercie les utilisateurs du site de me faire part d’éventuelles omissions, erreurs ou corrections, en vous adressant directement par le formulaire de contact.
Installation
Mettre à jour son système
sudo apt update && sudo apt upgrade -y
Installer l’outil unattended-upgrades
sudo apt install unattended-upgrades
Vérifier son status
sudo systemctl status unattended-upgrades.service
Configuration
Le fichier de configuration est /etc/apt/apt.conf.d/50unattended-upgrades :
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades
Dans ce fichier, la section Unattended-Upgrade correspond aux sources de mise à jour. Si on souhaite tout mettre à jour, on peut décommenter updates et proposed-updates.
/etc/apt/apt.conf.d/50unattended-upgrades – Avant modification
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}";
"${distro_id}:${distro_codename}-security";
// "${distro_id}:${distro_codename}-updates";
// "${distro_id}:${distro_codename}-proposed-updates";
// "${distro_id}:${distro_codename}-backports";
};
Comme ceci :
/etc/apt/apt.conf.d/50unattended-upgrades – Après modification
Unattended-Upgrade::Allowed-Origins {
"${distro_id}:${distro_codename}";
"${distro_id}:${distro_codename}-security";
"${distro_id}:${distro_codename}-updates";
"${distro_id}:${distro_codename}-proposed-updates";
// "${distro_id}:${distro_codename}-backports";
};
Pour désinstaller les dépendances inutiles (les orphelins), il faut décommenter et modifier les valeurs de ces lignes :
/etc/apt/apt.conf.d/50unattended-upgrades
//Unattended-Upgrade::Remove-New-Unused-Dependencies "true";
//Unattended-Upgrade::Remove-Unused-Dependencies "false";
/etc/apt/apt.conf.d/50unattended-upgrades
En cas de mise à jour du noyau, il faut redémarrer votre serveur. Vous pouvez automatiser ce reboot (à étudier selon le contexte). Attention, le reboot se fait sans aucune confirmation.
/etc/apt/apt.conf.d/50unattended-upgrades
//Unattended-Upgrade::Automatic-Reboot "false";
//Unattended-Upgrade::Automatic-Reboot-Time "03:00";
On peut activer les logs sur la mise à jour auto en décommentant et en passant la valeur à “true” :
/etc/apt/apt.conf.d/50unattended-upgrades
Unattended-Upgrade::SyslogEnable "true";
// Unattended-Upgrade::SyslogFacility "daemon";
Activation
Après la configuration, place à l’activation. Cela se passe dans /etc/apt/apt.conf.d/20auto-upgrades.
Copier le modèle 20auto-upgrades dans /etc/apt/apt.conf.d/
sudo cp /usr/share/unattended-upgrades/20auto-upgrades /etc/apt/apt.conf.d/20auto-upgrades
Puis l’éditer :
sudo nano /etc/apt/apt.conf.d/20auto-upgrades
Voici un exemple :
/etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::AutocleanInterval "30";
Test
On peut tester l’outil via la commande suivante (pour debug ou tester) :
unattended-upgrades --debug --dry-run
Planification
Nous allons créer une tâche cron
sudo crontab -e
Et on ajoute cette ligne, pour lancer l’execution de la tâche a 2h
00 02 * * */1 /usr/bin/unattended-upgrade -v
Pour tester notre tâche
sudo unattended-upgrades --dry-run --debug
Logs
Tous les logs de unattended-upgrades sont journalisés dans /var/log/unattended-upgrades.log
sudo cat /var/log/unattended-upgrades/unattended-upgrades.log
Le fichier unattended-upgrades-dpkg.log lui affiche ce que la sortie d’apt vous aurait affichée.