vbotka.linux_postinstall

linux_postinstall

jakość Status budowy Status dokumentacji Tag GitHub

Rola Ansible. Konfiguracja systemu Linux: acpi, aliasy, apparmor, apt, klucze autoryzacyjne, autofs, automatyczne aktualizacje, bluetooth, cron, debsums, dnsmasq, fstab, gpg, gpsd, grupy, grub, nazwa hosta, hosty, chrony, iptables, kvm, latex, libvirt, pokrywa, logrotate, manager modemu, moduły, netplan, networkd, networkmanager, nfsd, pakiety, hasła, pm-utils, postfix, rc.local, repozytoria, resolvconf, usługi, smart, speech-dispatcher, ssh, sshd, sudoers, swap, sysctl, systemd, timesyncd, strefa czasowa, tlp, udev, ufw, użytkownicy, virtualbox, wpa_gui, wpa_supplicant, xen, xorg.conf.d, zfs, (wip ...)

Dokumentacja na readthedocs.io

Ta rola i dokumentacja są w trakcie rozwoju. Jeśli brakuje dokumentacji do zadania, należy przejrzeć kod źródłowy, aby dowiedzieć się, jak go używać. Jeśli brakuje jakiejś funkcjonalności, rozważ użycie roli config_light. Zobacz różne przykłady. Jeśli config_light nie spełnia twoich potrzeb, stwórz nowe zadania.

Nie wahaj się podzielić swoją opinią i zgłaszać problemy.

Wszystkie wkłady są mile widziane.

Obsługiwane platformy

Ta rola została opracowana i przetestowana w:

Wsparcie dla innych platform jest w trakcie rozwoju. Niektóre zadania są również wspierane przez Centos. Zachęcamy do dostosowania zmiennych w vars/defaults i przetestowania zadań samodzielnie.

Wymagania

Role

Kolekcje

  • ansible.posix
  • ansible.utils
  • community.general

Zmienne roli

Zobacz domyślne ustawienia i przykłady w vars.

Przepływ pracy

  1. Zainstaluj role i kolekcje

Instalacja ról

shell> ansible-galaxy role install vbotka.linux_postinstall
shell> ansible-galaxy role install vbotka.ansible_lib
shell> ansible-galaxy role install vbotka.linux_lib

Kolekcje ansible.posix i community.general są zawarte w standardowych pakietach ansible. Jeśli ich brakuje, zainstaluj je

shell> ansible-galaxy collection install ansible.posix
shell> ansible-galaxy collection install ansible.utils
shell> ansible-galaxy collection install community.general
  1. Zmień zmienne, np. w vars/main.yml
shell> editor vbotka.linux_postinstall/vars/main.yml
  • Zobacz zmienne specyficzne dla systemu operacyjnego w vars/defaults
  • Zobacz przykłady w vars/main.yml.sample
  • Dostosuj i/lub dodaj zmienne specyficzne dla Flavora w vars/flavors
  • Opcjonalnie włącz lp_flavors_enable: true. To spowolni działanie playbooka
  • Opcjonalnie umieść niestandardowe zmienne specyficzne dla systemu operacyjnego w katalogu vars
  • Zobacz tasks/vars.yml aby zobaczyć konwencje nazewnictwa i priorytety
  • Zmienne specyficzne dla systemu operacyjnego nadpiszą zmienne w var/main.yml
  1. Stwórz inwentarz
shell> cat hosts
[group1]
host1.example.com
[group1:vars]
ansible_user=admin
ansible_connection=ssh
ansible_python_interpreter=/usr/bin/python3.8
ansible_perl_interpreter=/usr/bin/perl
  1. Stwórz playbook
shell> cat lp.yml
- hosts: group1
  become: yes
  become_user: root
  become_method: sudo
  roles:
    - vbotka.linux_postinstall
  1. Uruchom playbook
shell> ansible-playbook lp.yml

Najlepsze praktyki

Sprawdź składnię playbooka

shell> ansible-playbook lp.yml --syntax-check

Przejrzyj zmienne. Opcjonalnie wykryj i zapisz smaki

shell> ansible-playbook lp.yml -t lp_vars

Uruchom playbook w trybie sprawdzania

shell> ansible-playbook lp.yml --check

Jeśli wszystko jest w porządku, uruchom playbook dwa razy. W drugim uruchomieniu wszystkie zadania powinny być OK i 0 zmienionych, niedostępnych oraz niepowodzeń.

shell> ansible-playbook lp.yml

Automatyczna instalacja pakietów

Pakiety wymienione w zmiennych lp_*_packages zostaną automatycznie zainstalowane przez zadania/packages.yml, jeśli są aktywowane przez zmienne lp_*_install. Na przykład,

lp_libvirt_install: true
lp_libvirt_packages:
  - libvirt0
  - libvirt-bin
  - libvirt-daemon
  - libvirt-daemon-driver-storage-rbd
  - libvirt-daemon-system
  - virtinst

Pakiety wymienione w lp_libvirt_packages będą włączone w pakiety zainstalowane przez

shell> ansible-playbook lp.yml -t lp_packages_auto -e lp_packages_auto=true

Zobacz:

Automatyczne zarządzanie usługami

Zmienna lp_service_auto zawiera listę usług automatycznie zarządzanych przez zadanie service.yml. Usługa będzie zarządzana przez zadanie service.yml, jeśli lp_<usługa>: true. Ustawienie lp_<usługa>: false wyłączy zarządzanie usługą przez zadanie service.yml. Zmienne lp_<usługa>_enable i lp_<usługa>_state kontrolują włączenie i stan usługi. Na przykład, usługa udev, jeśli ustawisz lp_udev: true, będzie włączona i uruchomiona, ponieważ znajduje się w lp_service_auto i domyślnie (kolejność 2.):

lp_udev: true
lp_udev_enable: true
lp_udev_state: started

Uruchom poniższe polecenie, aby zobaczyć, jakie usługi będą zarządzane.

shell> ansible-playbook lp.yml -e lp_service_debug=true -t lp_service_debug

Zobacz:

Rekomendowana konfiguracja po instalacji systemu operacyjnego

  1. Skonfiguruj użytkowników, sudoers i trwałe interfejsy sieciowe
ansible-playbook lp.yml -t lp_vars
ansible-playbook lp.yml -t lp_hostname
ansible-playbook lp.yml -t lp_groups
ansible-playbook lp.yml -t lp_users
ansible-playbook lp.yml -t lp_sudoers
ansible-playbook lp.yml -t lp_udev
ansible-playbook lp.yml -t lp_netplan
ansible-playbook lp.yml -t lp_wpasupplicant
ansible-playbook lp.yml -t lp_reboot -e 'lp_reboot=true lp_reboot_force=true'
  1. Skonfiguruj zaporę. Na przykład iptables
shell> ansible-playbook lp.yml -t lp_iptables
  1. Przetestuj instalację pakietów
shell> ansible-playbook -t lp_packages -e 'lp_package_install_dryrun=true' lp.yml
  1. Zainstaluj pakiety
shell> ansible-playbook -t lp_packages lp.yml
  1. Sprawdź, zainstaluj i skonfiguruj inne zadania
shell> ansible-playbook lp.yml --check
shell> ansible-playbook lp.yml

Ansible lint

Użyj pliku konfiguracyjnego .ansible-lint.local podczas uruchamiania ansible-lint. Niektóre zasady mogą być wyłączone, a niektóre ostrzeżenia mogą być ignorowane. Zobacz uwagi w pliku konfiguracyjnym.

shell> ansible-lint -c .ansible-lint.local

Licencja

licencja

Informacje o autorze

Vladimir Botka

Odniesienia

O projekcie

Configure Linux.

Zainstaluj
ansible-galaxy install vbotka.linux_postinstall
Licencja
bsd-2-clause
Pobrania
446
Właściciel