vbotka.linux_postinstall

linux_postinstall

qualité État de Build Statut de la documentation Tag GitHub

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

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

  1. 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
  1. 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
  1. 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
  1. Créez le playbook
shell> cat lp.yml
- hosts: group1
  become: yes
  become_user: root
  become_method: sudo
  roles:
    - vbotka.linux_postinstall
  1. 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 :

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 :

Configuration recommandée après l'installation du système d'exploitation

  1. 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'
  1. Configurez le pare-feu, par exemple iptables
shell> ansible-playbook lp.yml -t lp_iptables
  1. Testez l'installation des paquets
shell> ansible-playbook -t lp_packages -e 'lp_package_install_dryrun=true' lp.yml
  1. Installez les paquets
shell> ansible-playbook -t lp_packages lp.yml
  1. 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

licence

Informations sur l'auteur

Vladimir Botka

Références

À propos du projet

Configure Linux.

Installer
ansible-galaxy install vbotka.linux_postinstall
Licence
bsd-2-clause
Téléchargements
446
Propriétaire