vbotka.linux_postinstall

linux_postinstall

质量 构建状态 文档状态 GitHub 标签

Ansible 角色。 配置 Linux:acpi、 别名、apparmor、apt、授权密钥、autofs、自动升级、蓝牙、cron、debsums、 dnsmasq、fstab、gpg、gpsd、组、grub、主机名、hosts、chrony、iptables、kvm、latex、libvirt、 盖子、logrotate、调制解调器管理器、模块、netplan、networkd、networkmanager、nfsd、软件包、 密码、pm-utils、postfix、rc.local、repo、resolvconf、服务、smart、speech-dispatcher、ssh、 sshd、sudoers、交换、sysctl、systemd、timesyncd、时区、tlp、udev、ufw、用户、virtualbox、 wpa_gui、wpa_supplicant、xen、xorg.conf.d、zfs,(正在进行中 …)

在 readthedocs.io 上的文档

此角色及其文档正在进行中。如果有任务的 文档缺失,则需要查看 源代码 了解如何使用它。如果缺少某项功能,请考虑使用角色 config_light。参见 各种 示例。如果 config_light无法满足您的需求,请创建新的任务。

欢迎随时分享您的反馈和报告问题

欢迎贡献

支持的平台

该角色已在以下平台上开发和测试:

对其他平台的支持正在进行中。有些任务也支持 Centos。鼓励您 在vars/defaults中调整变量,并在自己的环境中测试任务。

需求

角色

集合

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

角色变量

请查看默认值和vars中的示例。

工作流程

  1. 安装角色和集合

安装角色

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

ansible.posix和community.general 集合已包含在 主流 ansible 包中。如果缺失,请安装它们

shell> ansible-galaxy collection install ansible.posix
shell> ansible-galaxy collection install ansible.utils
shell> ansible-galaxy collection install community.general
  1. 修改变量,例如在 vars/main.yml 中
shell> editor vbotka.linux_postinstall/vars/main.yml
  • vars/defaults 中查看特定操作系统的变量
  • vars/main.yml.sample 中查看示例
  • vars/flavors 中自定义或添加特定风味的变量
  • 可选择启用 lp_flavors_enable: true。这会减慢任务执行速度
  • 可选择将自定义的特定操作系统变量放入 vars 目录
  • 查看 tasks/vars.yml 以获取命名约定和优先级
  • 特定操作系统的变量将覆盖 var/main.yml 中的变量
  1. 创建清单
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. 创建剧本
shell> cat lp.yml
- hosts: group1
  become: yes
  become_user: root
  become_method: sudo
  roles:
    - vbotka.linux_postinstall
  1. 运行剧本
shell> ansible-playbook lp.yml

最佳实践

检查剧本语法

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

审查变量。可选择检测并存储风味

shell> ansible-playbook lp.yml -t lp_vars

在检查模式下运行剧本

shell> ansible-playbook lp.yml --check

如果一切正常,运行剧本两次。第二次运行时,所有任务应为 OK,且没有更改、不可达和失败。

shell> ansible-playbook lp.yml

自动安装软件包

在变量lp_*_packages中列出的软件包将由 tasks/packages.yml 自动安装,前提是通过变量 lp_*_install 启用。例如,

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

lp_libvirt_packages 中列出的软件包将包含在通过以下命令安装的包中:

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

参见:

自动管理服务

变量 lp_service_auto 包含由任务 service.yml 自动管理的服务列表。如果 lp_<service>: true,则该 服务将由任务 service.yml 管理。将 lp_<service>: false 设置为假将禁用该服务的管理。变量 lp_<service>_enablelp_<service>_state 控制服务的启用和状态。例如,服务 udev 如果设置为 lp_udev: true,就会被启用并启动,因为它包含在 lp_service_auto 中,且默认优先级为 (优先级 2):

lp_udev: true
lp_udev_enable: true
lp_udev_state: started

运行以下命令以查看将管理的服务。

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

参见:

安装操作系统后推荐的配置

  1. 配置用户、sudoers 和持久网络接口
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. 配置防火墙。例如 iptables
shell> ansible-playbook lp.yml -t lp_iptables
  1. 测试软件包安装
shell> ansible-playbook -t lp_packages -e 'lp_package_install_dryrun=true' lp.yml
  1. 安装软件包
shell> ansible-playbook -t lp_packages lp.yml
  1. 检查、安装和配置其他任务
shell> ansible-playbook lp.yml --check
shell> ansible-playbook lp.yml

Ansible lint

在运行 ansible-lint 时使用配置文件 .ansible-lint.local。某些规则可能被禁用,某些警告可能被忽略。请查看配置文件中的说明。

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

许可证

许可证

作者信息

Vladimir Botka

参考资料

关于项目

Configure Linux.

安装
ansible-galaxy install vbotka.linux_postinstall
许可证
bsd-2-clause
下载
446
拥有者