thedumbtechguy.unattended-upgrades
Rôle Ansible : Mises à jour automatiques
Un rôle Ansible pour configurer des mises à jour automatiques sur Ubuntu. Par défaut, seules les mises à jour de sécurité sont activées.
Exigences
Ce rôle a été testé uniquement sur
Ubuntu 16.04
etUbuntu 16.10
.
Pour Debian, vous devrez peut-être modifier la valeur de unattended_origins_patterns
car la cible par défaut est Ubuntu.
E-mail Non Prisé en Charge
Si vous définissez unattended_mail
avec une adresse e-mail, assurez-vous que la commande mailx
est disponible et que votre système peut envoyer des e-mails.
Redémarrage Automatique
Si vous activez la fonction de redémarrage automatique (unattended_automatic_reboot
), le rôle tentera d'installer le paquet update-notifier-common
, qui est nécessaire sur certains systèmes pour détecter et exécuter le redémarrage après la mise à jour. Vous pouvez éventuellement définir une heure précise pour le redémarrage (unattended_automatic_reboot_time
).
Variables
unattended_origins_patterns
: tableau de modèles d'origine pour déterminer si le paquet peut être installé automatiquement. Pour plus de détails, voir Modèles d'Origine ci-dessous.- Par défaut :
['origin=Ubuntu,archive=${distro_codename}-security']
- Par défaut :
unattended_package_blacklist
: paquets qui ne seront pas mis à jour automatiquement- Par défaut :
[]
- Par défaut :
unattended_autofix_interrupted_dpkg
: s'il y a un exit non propre de dpkg, exécutedpkg --force-confold --configure -a
- Par défaut :
true
- Par défaut :
unattended_minimal_steps
: découpe la mise à jour en morceaux aussi petits que possible afin qu'ils puissent être interrompus avec SIGUSR1.- Par défaut :
false
- Par défaut :
unattended_install_on_shutdown
: installer toutes les mises à jour automatiques lors de l'arrêt de la machine.- Par défaut :
false
- Par défaut :
unattended_mail
: adresse e-mail pour envoyer des informations sur les mises à jour ou des problèmes avec les mises à jour automatiques- Par défaut :
false
(ne pas envoyer d'e-mail)
- Par défaut :
unattended_mail_only_on_error
: envoyer un e-mail uniquement en cas d'erreur, sinon un e-mail sera envoyé à chaque mise à jour de paquet.- Par défaut :
false
- Par défaut :
unattended_remove_unused_dependencies
: supprimer automatiquement les nouvelles dépendances inutilisées après la mise à jour.- Par défaut :
false
- Par défaut :
unattended_automatic_reboot
: redémarrer automatiquement le système si un paquet mis à jour l'exige, immédiatement après la mise à jour.- Par défaut :
false
- Par défaut :
unattended_automatic_reboot_time
: redémarrer automatiquement le système si un paquet mis à jour l'exige, à l'heure précise (HH:MM) plutôt qu'immédiatement après la mise à jour.- Par défaut :
false
- Par défaut :
unattended_ignore_apps_require_restart
: les mises à jour automatiques ne mettront pas à niveau certains paquets critiques nécessitant un redémarrage après une mise à jour. Avec cette option définie surtrue
, les mises à jour automatiques mettront à niveau ces paquets malgré la directive.- Par défaut :
false
- Par défaut :
Modèles d'Origine
Le modèle d'origine est une alternative plus puissante à l'option Origines Autorisées utilisée dans les versions précédentes de la mise à jour automatique.
Le modèle est composé de mots-clés spécifiques :
a
,archive
,suite
– ex:stable
,trusty-security
(archive=stable
)c
,component
– ex:main
,crontrib
,non-free
(component=main
)l
,label
– ex:Debian
,Debian-Security
,Ubuntu
o
,origin
– ex:Debian
,Unofficial Multimedia Packages
,Ubuntu
n
,codename
– ex:jessie
,jessie-updates
,trusty
(ceci n'est supporté qu'avecunattended-upgrades
>= 0.80)site
– ex:http.debian.net
Vous pouvez examiner les dépôts disponibles en utilisant apt-cache policy
et déboguer votre choix en utilisant la commande unattended-upgrades -d
sur un système cible.
De plus, les mises à jour automatiques prennent en charge deux macros (variables), dérivées de /etc/debian_version
:
${distro_id}
– Nom de la distribution installée, ex:Debian
ouUbuntu
.${distro_codename}
– Nom de code installé, ex:jessie
outrusty
.
Utiliser ${distro_codename}
est recommandé par rapport à l'utilisation de stable
ou oldstable
, car une fois que stable
devient oldstable
, aucune mise à jour de sécurité ne sera installée, ou pire, un paquet d'une version plus récente de la distribution pourrait être installé par accident. Il en va de même pour la mise à niveau de votre installation de oldstable
à stable
, si vous oubliez de changer cela dans vos modèles d'origine, vous pourriez ne pas recevoir les mises à jour de sécurité pour votre version de distribution plus récente. Avec ${distro_codename}
, ces deux cas ne peuvent jamais se produire.
Exemple d'Utilisation
- hosts: all
vars:
unattended_origins_patterns:
- 'origin=Ubuntu,archive=${distro_codename}-security'
- 'o=Ubuntu,a=${distro_codename}-updates'
unattended_package_blacklist: [cowsay, vim]
unattended_mail: '[email protected]'
roles:
- setup_unattended_upgrades
Exemples de Modèles
Par défaut, seules les mises à jour de sécurité sont autorisées. Vous pouvez ajouter davantage de modèles pour permettre à la mise à jour automatique d'installer davantage de paquets automatiquement, mais soyez conscient que des mises à jour majeures automatisées peuvent potentiellement endommager votre système.
Dans Ubuntu, l'archive contient toujours le nom de code de la distribution.
unattended_origins_patterns:
- 'origin=Ubuntu,archive=${distro_codename}-security'
- 'o=Ubuntu,a=${distro_codename}'
- 'o=Ubuntu,a=${distro_codename}-updates'
- 'o=Ubuntu,a=${distro_codename}-proposed-updates'
Licence
MIT / BSD
Informations sur l'Auteur
Ce rôle a été créé par TheDumbTechGuy ( twitter | blog | galaxy )
Crédits
Ce rôle a été construit sur la base du travail original de :
ansible-galaxy install thedumbtechguy.unattended-upgrades