« AutoUpdate » : différence entre les versions
| (8 versions intermédiaires par le même utilisateur non affichées) | |||
| Ligne 81 : | Ligne 81 : | ||
# apt update && apt upgrade | # apt update && apt upgrade | ||
# apt install unattended-upgrades | # apt install unattended-upgrades | ||
# systemctl enable unattended-upgrades | # systemctl enable --now unattended-upgrades | ||
== Configuration == | == Configuration == | ||
=== Sélection des MAJ === | === Sélection des MAJ === | ||
| Ligne 154 : | Ligne 154 : | ||
Les lignes ajoutées permettent d'avoir des rapports plus complets et de nettoyer les paquets tous les 7 jours. | Les lignes ajoutées permettent d'avoir des rapports plus complets et de nettoyer les paquets tous les 7 jours. | ||
=== On relance le service === | === On relance le service === | ||
Pour s'assurer que toutes les modifications sont prises en comptes : | |||
# systemctl restart unattended-upgrades | # systemctl restart unattended-upgrades | ||
== Test == | == Test == | ||
# unattended-upgrades --dry-run --debug | # 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 : | |||
<font color =grey>... | |||
# install.timer override this setting.</font> | |||
apply_updates = <font color =blue>yes</font> | |||
<font color =grey>...</font> | |||
On ne permet que les mises à jour de sécurité : | |||
<font color =grey>... | |||
# security = only the security upgrades</font> | |||
upgrade_type = <font color =blue>security</font> | |||
<font color =grey>random_sleep = 0 | |||
...</font> | |||
On active l'envoie de rapports par courriel : | |||
{{Méta bandeau | |||
| niveau = information | |||
| icône = loupe | |||
| texte = Voir [[Postfix#Alma_Linux_/_Rocky_Linux|installation de Postfix]]. | |||
}} | |||
<font color =grey>...</font> | |||
<font color =grey># If emit_via is None or left blank, no messages will be sent.</font> | |||
emit_via = <font color =blue>email</font> | |||
<font color =grey>[email] | |||
# The address to send email messages from.</font> | |||
email_from = <font color =blue>root</font> | |||
<font color =grey># List of addresses to send messages to. | |||
email_to = root | |||
# Name of the host to connect to to send email messages. | |||
email_host = localhost</font> | |||
<font color =grey>...</font> | |||
On active le service : | |||
# systemctl enable --now dnf-automatic.timer | |||
Version actuelle datée du 29 novembre 2022 à 09:51
Alpine Linux
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
On peut également recevoir le résultat par mail :
... MAILTO=root 30 4 * * * /bin/date > /var/log/apkcrontupdate.log && /sbin/apk -Uv upgrade >> /var/log/apkcrontupdate.log
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/apk-autoupdate.log
... 30 4 * * * /bin/date > /var/log/apk-autoupdate.log && /usr/sbin/apk-autoupdate -v >> /var/log/apk-autoupdate.log
On peut également recevoir le résultat par mail :
... MAILTO=root 30 4 * * * /bin/date > /var/log/apk-autoupdate.log && /usr/sbin/apk-autoupdate -v >> /var/log/apk-autoupdate.log
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, 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";
...
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 "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.
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