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 et Ubuntu 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']
  • unattended_package_blacklist: paquets qui ne seront pas mis à jour automatiquement
    • Par défaut : []
  • unattended_autofix_interrupted_dpkg: s'il y a un exit non propre de dpkg, exécute dpkg --force-confold --configure -a
    • Par défaut : true
  • 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
  • unattended_install_on_shutdown: installer toutes les mises à jour automatiques lors de l'arrêt de la machine.
    • Par défaut : false
  • 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)
  • 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
  • unattended_remove_unused_dependencies: supprimer automatiquement les nouvelles dépendances inutilisées après la mise à jour.
    • Par défaut : false
  • 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
  • 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
  • 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 sur true, les mises à jour automatiques mettront à niveau ces paquets malgré la directive.
    • Par défaut : false

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'avec unattended-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 ou Ubuntu.
  • ${distro_codename} – Nom de code installé, ex: jessie ou trusty.

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 :

À propos du projet

Configure unattended upgrades for Linux.

Installer
ansible-galaxy install thedumbtechguy.unattended-upgrades
Licence
Unknown
Téléchargements
1.7k
Propriétaire