vbotka.linux_postinstall
linux_postinstall
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:
- Wspierane wydania Ubuntu
- Armbian 5.90
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
- 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
- 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
- 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
- Stwórz playbook
shell> cat lp.yml
- hosts: group1
become: yes
become_user: root
become_method: sudo
roles:
- vbotka.linux_postinstall
- 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:
- rozdział Pakiety
- kod źródłowy packages.yml
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:
- rozdział Usługa
- kod źródłowy service.yml
Rekomendowana konfiguracja po instalacji systemu operacyjnego
- 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'
- Skonfiguruj zaporę. Na przykład iptables
shell> ansible-playbook lp.yml -t lp_iptables
- Przetestuj instalację pakietów
shell> ansible-playbook -t lp_packages -e 'lp_package_install_dryrun=true' lp.yml
- Zainstaluj pakiety
shell> ansible-playbook -t lp_packages lp.yml
- 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
Informacje o autorze
Odniesienia
Dnsmasq - DNS, DHCP, ogłoszenia routera i uruchamianie w sieci
Chrony - Blog Ubuntu: Bionic: Użycie chrony do konfiguracji NTP
Chrony - Podręcznik administratora systemu RHEL 7: ROZDZIAŁ 3. KONFIGUROWANIE DATY I CZASU
Jak zaimplementować podstawowy szablon zapory przy użyciu iptables w Ubuntu 14.04 - poradnik DO
LaTeX Jak zainstalować LaTeX w Ubuntu 22.04 Jammy Jellyfish - LinuxConfig
Networkd Zarządzanie WPA bezprzewodowym przy użyciu systemd-networkd - Forum ArchLinux
Pakiety - Jak zapobiec aktualizacji konkretnego pakietu? - Zapytaj Ubuntu
rc.local - Zapytaj Ubuntu: Jak sprawić, żeby /etc/rc.local uruchamiało się przy starcie?
TLP - Narzędzie zaawansowanego zarządzania energią w Linuksie
UFW - Jak sprawić, żeby ufw uruchamiał się przy starcie? - Zapytaj Ubuntu
VirtualBox - Zainstaluj Oracle VM VirtualBox w Ubuntu - eLinuxBook
ansible-galaxy install vbotka.linux_postinstall