thedumbtechguy.unattended-upgrades

Rola Ansible: Automatyczne Aktualizacje

Rola Ansible do skonfigurowania automatycznych aktualizacji na Ubuntu. Domyślnie są włączone tylko aktualizacje zabezpieczeń.

Wymagania

Ta rola była testowana tylko na Ubuntu 16.04 i Ubuntu 16.10.

Dla Debiana może być konieczna zmiana wartości unattended_origins_patterns, ponieważ domyślnie dotyczy Ubuntu.

Automatyczna Poczta

Jeśli ustawisz unattended_mail na adres e-mail, upewnij się, że polecenie mailx jest dostępne i twój system może wysyłać e-maile.

Automatyczne Ponowne Uruchomienie

Jeśli włączysz funkcję automatycznego ponownego uruchamiania (unattended_automatic_reboot), rola spróbuje zainstalować pakiet update-notifier-common, który jest wymagany na niektórych systemach do wykrywania i wykonywania ponownego uruchomienia po aktualizacji. Możesz opcjonalnie określić konkretną porę na ponowne uruchomienie (unattended_automatic_reboot_time).

Zmienne

  • unattended_origins_patterns: tablica wzorców pochodzenia, aby określić, czy pakiet może być automatycznie zainstalowany, więcej informacji w sekcji Wzorce Pochodzenia poniżej.
    • Domyślnie: ['origin=Ubuntu,archive=${distro_codename}-security']
  • unattended_package_blacklist: pakiety, które nie będą automatycznie aktualizowane
    • Domyślnie: []
  • unattended_autofix_interrupted_dpkg: czy w przypadku nieczystego zakończenia dpkg uruchomić dpkg --force-confold --configure -a
    • Domyślnie: true
  • unattended_minimal_steps: podzielić aktualizację na jak najmniejsze części, aby można je było przerwać za pomocą SIGUSR1.
    • Domyślnie: false
  • unattended_install_on_shutdown: zainstalować wszystkie aktualizacje bez nadzorowania podczas wyłączania maszyny.
    • Domyślnie: false
  • unattended_mail: adres e-mail do wysyłania informacji o aktualizacjach lub problemach z automatycznymi aktualizacjami
    • Domyślnie: false (nie wysyłać żadnych e-maili)
  • unattended_mail_only_on_error: wysyłaj e-mail tylko w przypadku błędów, w przeciwnym razie e-mail będzie wysyłany za każdym razem, gdy nastąpi aktualizacja pakietu.
    • Domyślnie: false
  • unattended_remove_unused_dependencies: automatycznie usuwać nowe nieużywane zależności po aktualizacji.
    • Domyślnie: false
  • unattended_automatic_reboot: automatycznie uruchomić system, jeśli jakikolwiek zaktualizowany pakiet tego wymaga, natychmiast po aktualizacji.
    • Domyślnie: false
  • unattended_automatic_reboot_time: automatycznie uruchomić system, jeśli jakikolwiek zaktualizowany pakiet tego wymaga, o określonej porze (HH:MM) zamiast natychmiast po aktualizacji.
    • Domyślnie: false
  • unattended_ignore_apps_require_restart: automatyczne aktualizacje nie będą aktualizować niektórych krytycznych pakietów wymagających ponownego uruchomienia po aktualizacji (tj. istnieje dyrektywa XB-Upgrade-Requires: app-restart w ich pliku debian/control). Ustawiając tę opcję na true, automatyczne aktualizacje zaktualizują te pakiety, niezależnie od dyrektywy.
    • Domyślnie: false

Wzorce Pochodzenia

Wzorce Pochodzenia to bardziej zaawansowana opcja w porównaniu do opcji Dozwolone Pochodzenia używanej w poprzednich wersjach automatycznych aktualizacji.

Wzorzec składa się z określonych słów kluczowych:

  • a, archive, suite – np. stable, trusty-security (archive=stable)
  • c, component – np. main, crontrib, non-free (component=main)
  • l, label – np. Debian, Debian-Security, Ubuntu
  • o, origin – np. Debian, Unofficial Multimedia Packages, Ubuntu
  • n, codename – np. jessie, jessie-updates, trusty (jest to wspierane tylko w unattended-upgrades >= 0.80)
  • site – np. http.debian.net

Możesz przejrzeć dostępne repozytoria za pomocą apt-cache policy i debugować swój wybór, używając polecenia unattended-upgrades -d na docelowym systemie.

Dodatkowo automatyczne aktualizacje obsługują dwie makra (zmienne), pochodzące z /etc/debian_version:

  • ${distro_id} – nazwa zainstalowanej dystrybucji, np. Debian lub Ubuntu.
  • ${distro_codename} – kodowa nazwa zainstalowanej dystrybucji, np. jessie lub trusty.

Używanie ${distro_codename} powinno być preferowane zamiast używania stable lub oldstable jako wybranego, ponieważ po przesiadce stable na oldstable, nie będą instalowane żadne aktualizacje zabezpieczeń, ani tym gorzej, pakiet z nowszej wersji dystrybucji może zostać przypadkowo zainstalowany. To samo dotyczy aktualizacji instalacji z oldstable na stable. Jeśli zapomnisz zmienić to w swoich wzorcach pochodzenia, możesz nie otrzymać aktualizacji zabezpieczeń dla nowszej wersji dystrybucji. Korzystając z ${distro_codename}, oba przypadki nigdy nie będą miały miejsca.

Przykład Użycia

- 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

Przykłady Wzorca

Domyślnie dozwolone są tylko aktualizacje zabezpieczeń. Możesz dodać więcej wzorców, aby umożliwić automatyczne instalowanie większej liczby pakietów, jednak miej na uwadze, że automatyczne aktualizacje dużych pakietów mogą potencjalnie uszkodzić twój system.

W Ubuntu archiwum zawsze zawiera kodową nazwę dystrybucji

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'

Licencja

MIT / BSD

Informacje o autorze

Ta rola została stworzona przez TheDumbTechGuy ( twitter | blog | galaxy )

Podziękowania

Ta rola została zbudowana na podstawie oryginalnej pracy:

O projekcie

Configure unattended upgrades for Linux.

Zainstaluj
ansible-galaxy install thedumbtechguy.unattended-upgrades
Licencja
Unknown
Pobrania
1.7k
Właściciel