Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

AutoUpdate

De Le Wiki de Lug

Alpine Linux

APK-Autoupdate

Installation

Si absent il faut ajouter le dépôt "testing" aux sources :

# echo 'https://dl-cdn.alpinelinux.org/alpine/edge/testing' >> /etc/apk/repositories

On installe le paquêt :

# apk update && apk upgrade
# apk add apk-autoupdate

Configuration

# vi /etc/apk/autoupdate.conf

Outre les listes blanche et noire habituelles il est possible de spécifier une commande autre que "restart" (si plusieurs séparées par un espace blanc).

  • Par exemple pour recharger Nginx plutôt que le redémarrer :
...
# Note: Case patterns (shell "case") may be used in program path.
programs_services="/usr/sbin/nginx:nginx:reload"
...
  • Exemple pour recharger lighttpd plutôt que le redémarrer :
...
# Note: Case patterns (shell "case") may be used in program path.
programs_services="/usr/sbin/lighttpd:lighttpd:reload"
...

Test

# apk-autoupdate -sv

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 && /usr/sbin/apk-autoupdate -v upgrade >> /var/log/apkcrontupdate.log 2>&1

On peut également recevoir le résultat par mail :

...
MAILTO=root
30      4       *       *       *       /bin/date > /var/log/apkcrontupdate.log && /usr/sbin/apk-autoupdate -v upgrade >> /var/log/apkcrontupdate.log 2>&1

Debian / Ubuntu

On utilise l'outil fournit "unattended-upgrades"

Installation

# apt update && apt upgrade
# apt install unattended-upgrades
# systemctl enable --now 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, dans l'exemple ci-dessous on ne permet que les mises à jour 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";
...

Activer l'envoie de rapports par mail

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

// Set this value to one of:
//    "always", "only-on-error" or "on-change"
// If this is not set, then any legacy MailOnlyOnError (boolean) value
// is used to chose between "only-on-error" and "on-change"
Unattended-Upgrade::MailReport "on-change";
...

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";
...

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 "1";
APT::Periodic::AutocleanInterval "7";

On relance le service

Pour s'assurer que toutes les modifications sont prises en comptes :

# systemctl restart unattended-upgrades

Test

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

Alma Linux / Rocky Linux

Installation

On installe le programme de mise à jour automatique :

# dnf install dnf-automatic

Configuration

On configure le programme :

# vi /etc/dnf/automatic.conf

On active l'installation des mises à jour :

...
# install.timer override this setting.
apply_updates = yes
...

On ne permet que les mises à jour de sécurité :

...
# security                           = only the security upgrades
upgrade_type = security
random_sleep = 0
...

On active l'envoie de rapports par courriel :

...
# If emit_via is None or left blank, no messages will be sent.
emit_via = email


[email]
# The address to send email messages from.
email_from = root

# List of addresses to send messages to.
email_to = root

# Name of the host to connect to to send email messages.
email_host = localhost
...

On active le service :

# systemctl enable --now dnf-automatic.timer