AutoUpdate

De Le Wiki de Lug
Aller à la navigation Aller à la recherche

Alpine Linux

Alpine Linux ne fournit pas d'outils de mises à jour automatiques, nous allons passer par "crontab" :

# crontab -e

On ajoute la ligne suivante pour que chaque jour à 4h30 la mise à jour s'effectue avec les logs dans le fichier /var/log/apkcrontupdate.log

30      4      *       *       *       /bin/date > /var/log/apkcrontupdate.log && /sbin/apk -Uv upgrade >> /var/log/apkcrontupdate.log

Debian / Ubuntu

On utilise l'outil fournit "unattended-upgrades"

Installation

# apt update && apt upgrade
# apt install unattended-upgrades
# systemctl enable unattended-upgrades
# systemctl start unattended-upgrades

Configuration

Sélection des MAJ

# vi /etc/apt/apt.conf.d/50unattended-upgrades

On active les mises à jour souhaitées en supprimant le "//" devant la ligne idoine, ici nous gardons la configuration par défaut qui ne met automatiquement à jour que les MAJ de sécurité :

...
// pocket these get automatically pulled in.
Unattended-Upgrade::Allowed-Origins {
        "${distro_id}:${distro_codename}";
        "${distro_id}:${distro_codename}-security";
        // Extended Security Maintenance; doesn't necessarily exist for
        // every release and this system may not have it installed, but if
        // available, the policy for updates is such that unattended-upgrades
        // should also install from here by default.
        "${distro_id}ESMApps:${distro_codename}-apps-security";
        "${distro_id}ESM:${distro_codename}-infra-security";
//      "${distro_id}:${distro_codename}-updates";
//      "${distro_id}:${distro_codename}-proposed";
//      "${distro_id}:${distro_codename}-backports";
...
# systemctl restart unattended-upgrades

Activer l'envoie de rapports par mail

# vi /etc/apt/apt.conf.d/50unattended-upgrades
...
Unattended-Upgrade::Mail "root";
...

Nettoyer automatiquement les dépendences inutiles

# vi /etc/apt/apt.conf.d/50unattended-upgrades
...
// Remove unused automatically installed kernel-related packages
// (kernel images, kernel headers and kernel version locked tools).
Unattended-Upgrade::Remove-Unused-Kernel-Packages "true";

// Do automatic removal of newly unused dependencies after the upgrade
Unattended-Upgrade::Remove-New-Unused-Dependencies "true";

// Do automatic removal of unused packages after the upgrade
// (equivalent to apt-get autoremove)
Unattended-Upgrade::Remove-Unused-Dependencies "true";
...

Ensuite on configure la fréquence des mises à jour :

# dpkg-reconfigure -plow unattended-upgrades

-> <Yes>

# vi /etc/apt/apt.conf.d/20auto-upgrades
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";
APT::Periodic::Verbose "2";
APT::Periodic::AutocleanInterval "7";

Les lignes ajoutées permettent d'avoir des rapports plus complets et de nettoyer les paquets tous les 7 jours.

# systemctl restart unattended-upgrades

Test

# unattended-upgrades --dry-run --debug