Ubuntu – Configurer les mises à jour automatiques

⚖️ 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.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *