vbotka.linux_postinstall
linux_postinstall
Ansible-Rolle. Konfigurieren Sie Linux: acpi, Aliases, AppArmor, apt, autorisierte Schlüssel, autofs, automatische Updates, Bluetooth, cron, debsums, dnsmasq, fstab, gpg, gpsd, Gruppen, grub, Hostname, Hosts, chrony, iptables, kvm, latex, libvirt, Lid, logrotate, Modem-Manager, Module, netplan, networkd, NetworkManager, nfsd, Pakete, Passwörter, pm-utils, Postfix, rc.local, Repos, resolvconf, Service, smart, Speech-Dispatcher, ssh, sshd, sudoers, Swap, sysctl, systemd, timesyncd, Zeitzone, tlp, udev, ufw, Benutzer, VirtualBox, wpa_gui, wpa_supplicant, xen, xorg.conf.d, zfs, (wip ...)
Dokumentation auf readthedocs.io
Diese Rolle und die Dokumentation sind in Arbeit. Wenn die Dokumentation zu einer Aufgabe fehlt, ist es notwendig, den Quellcode zu überprüfen, um zu lernen, wie man ihn verwendet. Wenn eine Funktionalität fehlt, ziehen Sie die Rolle config_light in Betracht. Sehen Sie sich verschiedene Beispiele an. Wenn config_light nicht in der Lage ist, das zu tun, was Sie möchten, erstellen Sie neue Aufgaben.
Teilen Sie Ihr Feedback und Probleme gerne mit.
Unterstützte Plattformen
Diese Rolle wurde entwickelt und getestet auf
- Unterstützte Versionen von Ubuntu
- Armbian 5.90
Die Unterstützung für andere Plattformen ist in Arbeit. Einige Aufgaben werden auch von Centos unterstützt. Es wird empfohlen, die Variablen in vars/defaults anzupassen und die Aufgaben selbst zu testen.
Anforderungen
Rollen
Sammlungen
- ansible.posix
- ansible.utils
- community.general
Rollenvariablen
Siehe Standardwerte und Beispiele in vars.
Arbeitsablauf
- Installieren Sie die Rollen und Sammlungen
Rollen installieren
shell> ansible-galaxy role install vbotka.linux_postinstall
shell> ansible-galaxy role install vbotka.ansible_lib
shell> ansible-galaxy role install vbotka.linux_lib
Die Sammlungen ansible.posix und community.general sind in den Standard-ansible-Paketen enthalten. Wenn sie fehlen, installieren Sie sie
shell> ansible-galaxy collection install ansible.posix
shell> ansible-galaxy collection install ansible.utils
shell> ansible-galaxy collection install community.general
- Ändern Sie die Variablen, z. B. in vars/main.yml
shell> editor vbotka.linux_postinstall/vars/main.yml
- Siehe OS-spezifische Variablen in vars/defaults
- Siehe Beispiele in vars/main.yml.sample
- Passen Sie spezifische Variablen für die Flavor an in vars/flavors
- Aktivieren Sie optional lp_flavors_enable: true. Dies wird das Playbook verlangsamen
- Optional können Sie angepasste OS-spezifische Variablen in das vars-Verzeichnis legen
- Siehe tasks/vars.yml für die Benennungskonventionen und die Reihenfolge
- OS-spezifische Variablen überschreiben Variablen in var/main.yml
- Erstellen Sie das Inventar
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
- Erstellen Sie das Playbook
shell> cat lp.yml
- hosts: group1
become: yes
become_user: root
become_method: sudo
roles:
- vbotka.linux_postinstall
- Führen Sie das Playbook aus
shell> ansible-playbook lp.yml
Beste Praktiken
Überprüfen Sie die Syntax des Playbooks
shell> ansible-playbook lp.yml --syntax-check
Überprüfen Sie die Variablen. Optional können Sie Flavors erkennen und speichern
shell> ansible-playbook lp.yml -t lp_vars
Führen Sie das Playbook im Prüfmodus aus
shell> ansible-playbook lp.yml --check
Wenn alles in Ordnung ist, führen Sie das Playbook zweimal aus. Beim zweiten Durchlauf sollten alle Aufgaben OK sein und 0 geändert, unerreichbar und fehlerhaft.
shell> ansible-playbook lp.yml
Automatische Installation von Paketen
Pakete, die in den Variablen lp_*_packages
aufgeführt sind, werden automatisch von den tasks/packages.yml installiert, wenn sie durch die Variablen lp_*_install
aktiviert sind. Zum Beispiel,
lp_libvirt_install: true
lp_libvirt_packages:
- libvirt0
- libvirt-bin
- libvirt-daemon
- libvirt-daemon-driver-storage-rbd
- libvirt-daemon-system
- virtinst
Die in lp_libvirt_packages
aufgeführten Pakete werden in die Pakete aufgenommen, die installiert werden mit
shell> ansible-playbook lp.yml -t lp_packages_auto -e lp_packages_auto=true
Siehe:
- Kapitel Pakete
- Quellcode packages.yml
Automatische Verwaltung von Diensten
Die Variable lp_service_auto
enthält eine Liste von Diensten, die automatisch vom Task service.yml verwaltet werden. Ein Dienst wird vom Task service.yml verwaltet, wenn lp_<service>: true
. Wenn Sie lp_<service>: false
setzen, wird die Verwaltung des Dienstes durch den Task
service.yml deaktiviert. Die Variablen lp_<service>_enable
und lp_<service>_state
steuern die Aktivierung und den Zustand des
Dienstes. Zum Beispiel, Dienst udev, wenn gesetzt lp_udev: true,
wird aktiviert und gestartet, da es unter lp_service_auto
aufgeführt ist und standardmäßig (Priorität 2.):
lp_udev: true
lp_udev_enable: true
lp_udev_state: started
Führen Sie den folgenden Befehl aus, um zu sehen, welche Dienste verwaltet werden.
shell> ansible-playbook lp.yml -e lp_service_debug=true -t lp_service_debug
Siehe:
- Kapitel Dienst
- Quellcode service.yml
Empfohlene Konfiguration nach der Installation des OS
- Konfigurieren Sie Benutzer, Sudoers und permanente Netzwerkschnittstellen
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'
- Konfigurieren Sie die Firewall. Zum Beispiel iptables
shell> ansible-playbook lp.yml -t lp_iptables
- Testen Sie die Installation der Pakete
shell> ansible-playbook -t lp_packages -e 'lp_package_install_dryrun=true' lp.yml
- Installieren Sie Pakete
shell> ansible-playbook -t lp_packages lp.yml
- Überprüfen, installieren und konfigurieren Sie andere Aufgaben
shell> ansible-playbook lp.yml --check
shell> ansible-playbook lp.yml
Ansible-Lint
Verwenden Sie die Konfigurationsdatei .ansible-lint.local, wenn Sie ansible-lint ausführen. Einige Regeln könnten deaktiviert und einige Warnungen ignoriert werden. Siehe die Hinweise in der Konfigurationsdatei.
shell> ansible-lint -c .ansible-lint.local
Lizenz
Autoreninformation
Referenzen
Chrony - Ubuntu Blog: Bionic: Chrony zur Konfiguration von NTP verwenden
Chrony - RHEL 7 Systemadministratorenhandbuch: KAPITEL 3. KONFIGURIEREN DES DATUMS UND DER UHRZEIT
Wie man eine einfache Firewall-Vorlage mit Iptables auf Ubuntu 14.04 implementiert - DO-Tutorial
LaTeX So installieren Sie LaTeX auf Ubuntu 22.04 Jammy Jellyfish - LinuxConfig
Logrotate - Wie man die Protokolldrehung einrichtet und verwaltet
Networkd Verwaltung von WPA-Drahtlos mit systemd-networkd - ArchLinux BBS
Pakete - So verhindern Sie die Aktualisierung eines bestimmten Pakets? - Ubuntu Fragen
rc.local - AskUbuntu: Wie kann ich /etc/rc.local beim Start ausführen?
UFW - Wie bekomme ich ufw, dass es beim Booten startet? - AskUbuntu
VirtualBox - Installieren Sie Oracle VM VirtualBox in Ubuntu - eLinuxBook
ansible-galaxy install vbotka.linux_postinstall