vbotka.linux_postinstall
linux_postinstall
Rôle Ansible. Configurez Linux : acpi, alias, apparmor, apt, clés autorisées, autofs, mises à jour automatiques, bluetooth, cron, debsums, dnsmasq, fstab, gpg, gpsd, groupes, grub, nom d'hôte, hôtes, chrony, iptables, kvm, latex, libvirt, couvercle, logrotate, gestionnaire de modem, modules, netplan, networkd, networkmanager, nfsd, paquets, mots de passe, pm-utils, postfix, rc.local, dépôts, resolvconf, service, smart, speech-dispatcher, ssh, sshd, sudoers, swap, sysctl, systemd, timesyncd, fuseau horaire, tlp, udev, ufw, utilisateurs, virtualbox, wpa_gui, wpa_supplicant, xen, xorg.conf.d, zfs, (en cours ...)
Documentation sur readthedocs.io
Ce rôle et la documentation sont en cours de développement. Si la documentation d'une tâche est manquante, il est nécessaire de consulter le code source pour apprendre à l'utiliser. Si une fonctionnalité est manquante, envisagez le rôle config_light. Voir divers exemples. Si config_light n'est pas capable de faire ce que vous voulez, créez de nouvelles tâches.
N'hésitez pas à partager vos retours et signaler des problèmes.
Les contributions sont les bienvenues.
Plateformes prises en charge
Ce rôle a été développé et testé sur
- Versions prises en charge d'Ubuntu
- Armbian 5.90
Le support d'autres plateformes est en cours de développement. Certaines tâches sont également prises en charge par Centos. Vous êtes encouragés à ajuster les variables dans vars/defaults et à tester les tâches par vous-même.
Exigences
Rôles
Collections
- ansible.posix
- ansible.utils
- community.general
Variables du rôle
Voir les valeurs par défaut et les exemples dans vars.
Flux de travail
- Installez les rôles et les collections
Installer les rôles
shell> ansible-galaxy role install vbotka.linux_postinstall
shell> ansible-galaxy role install vbotka.ansible_lib
shell> ansible-galaxy role install vbotka.linux_lib
Les collections ansible.posix et community.general sont incluses dans les paquets ansible principaux. S'ils sont manquants, installez-les
shell> ansible-galaxy collection install ansible.posix
shell> ansible-galaxy collection install ansible.utils
shell> ansible-galaxy collection install community.general
- Modifiez les variables, par exemple dans vars/main.yml
shell> editor vbotka.linux_postinstall/vars/main.yml
- Voir les variables spécifiques au système d'exploitation dans vars/defaults
- Voir les exemples dans vars/main.yml.sample
- Personnalisez et/ou ajoutez des variables spécifiques à un Flavor dans vars/flavors
- Optionnellement, activez lp_flavors_enable: true. Cela ralentira le playbook
- Optionnellement, mettez les variables personnalisées spécifiques au système d'exploitation dans le répertoire vars
- Consultez tasks/vars.yml pour les conventions de nommage et la priorité
- Les variables spécifiques au système d'exploitation écraseront les variables dans var/main.yml
- Créez l'inventaire
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
- Créez le playbook
shell> cat lp.yml
- hosts: group1
become: yes
become_user: root
become_method: sudo
roles:
- vbotka.linux_postinstall
- Exécutez le playbook
shell> ansible-playbook lp.yml
Meilleures pratiques
Vérifiez la syntaxe du playbook
shell> ansible-playbook lp.yml --syntax-check
Examinez les variables. Optionnellement, détectez et stockez les flavors
shell> ansible-playbook lp.yml -t lp_vars
Exécutez le playbook en mode vérification
shell> ansible-playbook lp.yml --check
Si tout est correct, exécutez le playbook deux fois. Au second exécution, toutes les tâches doivent être OK et aucune tâche modifiée, inaccessible ou échouée.
shell> ansible-playbook lp.yml
Auto-installation des paquets
Les paquets énumérés dans les variables lp_*_packages
seront automatiquement installés par les tâches/packages.yml s'ils sont activés par les variables lp_*_install
. Par exemple,
lp_libvirt_install: true
lp_libvirt_packages:
- libvirt0
- libvirt-bin
- libvirt-daemon
- libvirt-daemon-driver-storage-rbd
- libvirt-daemon-system
- virtinst
Les paquets listés dans lp_libvirt_packages
seront inclus dans les paquets installés par
shell> ansible-playbook lp.yml -t lp_packages_auto -e lp_packages_auto=true
Voir :
- chapitre Paquets
- code source packages.yml
Gestion automatique des services
La variable lp_service_auto
contient une liste de services gérés automatiquement par la tâche service.yml. Un service sera géré par la tâche service.yml si lp_<service>: true
. Si vous définissez lp_<service>: false
, la gestion du service par la tâche service.yml sera désactivée. Les variables lp_<service>_enable
et lp_<service>_state
contrôlent l'activation et l'état du service. Par exemple, le service udev, s'il est défini lp_udev: true,
sera activé et démarré car il est listé parmi lp_service_auto
et par défaut (priorité 2.) :
lp_udev: true
lp_udev_enable: true
lp_udev_state: started
Exécutez la commande ci-dessous pour voir quels services seront gérés.
shell> ansible-playbook lp.yml -e lp_service_debug=true -t lp_service_debug
Voir :
- chapitre Service
- code source service.yml
Configuration recommandée après l'installation du système d'exploitation
- Configurez les utilisateurs, les sudoers et les interfaces réseau persistantes
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'
- Configurez le pare-feu, par exemple iptables
shell> ansible-playbook lp.yml -t lp_iptables
- Testez l'installation des paquets
shell> ansible-playbook -t lp_packages -e 'lp_package_install_dryrun=true' lp.yml
- Installez les paquets
shell> ansible-playbook -t lp_packages lp.yml
- Vérifiez, installez et configurez d'autres tâches
shell> ansible-playbook lp.yml --check
shell> ansible-playbook lp.yml
Ansible lint
Utilisez le fichier de configuration .ansible-lint.local lors de l'exécution de ansible-lint. Certaines règles peuvent être désactivées et certains avertissements peuvent être ignorés. Voir les notes dans le fichier de configuration.
shell> ansible-lint -c .ansible-lint.local
Licence
Informations sur l'auteur
Références
Dnsmasq - DNS, DHCP, publicité de routeur et démarrage réseau
Chrony - Blog Ubuntu : Bionic : Utilisation de chrony pour configurer NTP
Chrony - Guide de l'administrateur système RHEL 7 : CHAPITRE 3. CONFIGURER LA DATE ET L'HEURE
Comment mettre en œuvre un modèle de pare-feu de base avec Iptables sur Ubuntu 14.04 - tutoriel DO
LaTeX Comment installer LaTeX sur Ubuntu 22.04 Jammy Jellyfish - LinuxConfig
Logrotate - Comment configurer et gérer la rotation des journaux
modules - Désactiver et mettre en liste noire les modules Linux
Networkd Gestion de WPA sans fil avec systemd-networkd - BBS ArchLinux
Paquets - Comment éviter la mise à jour d'un paquet spécifique ? - Demande Ubuntu
Password(store) - pass le gestionnaire de mots de passe Unix standard
rc.local - AskUbuntu : Comment puis-je faire fonctionner /etc/rc.local au démarrage ?
UFW - Comment faire pour que ufw démarre au démarrage ? - Demande Ubuntu
VirtualBox - Installer Oracle VM VirtualBox sur Ubuntu - eLinuxBook
ansible-galaxy install vbotka.linux_postinstall