当前位置: 首页 > news >正文

ansible 操作家族(ansible_os_family)信息

1. 操作系统系列 (ansible_os_family)

 

ansible web -m setup -a 'filter=ansible_os_family'

 

2. 操作系统家族为 RedHat 时执行任务

---
- hosts: websrvsremote_user: roottasks:- name: Install package on RedHat systemsyum:name: httpdstate: presentwhen: ansible_os_family == "RedHat"
  • 这个任务会在操作系统家族为 RedHat 的系统上安装 httpd 包。

3. 操作系统家族为 Debian 时执行任务

---
- hosts: websrvsremote_user: roottasks:- name: Install package on Debian systemsapt:name: apache2state: presentwhen: ansible_os_family == "Debian"
  • 这个任务会在操作系统家族为 Debian 的系统上安装 apache2 包。

4. 操作系统为 RedHat 或 Debian 时执行任务

---
- hosts: websrvsremote_user: roottasks:- name: Install common package on RedHat and Debian systemspackage:name: vimstate: presentwhen: ansible_os_family in ["RedHat", "Debian"]
  • 这个任务会在操作系统家族为 RedHat 或 Debian 的系统上安装 vim 包。

5. 操作系统为 Ubuntu 时执行任务

---
- hosts: websrvsremote_user: roottasks:- name: Install package on Ubuntu systemsapt:name: nginxstate: presentwhen: ansible_distribution == "Ubuntu"
  • 这个任务会在操作系统为 Ubuntu 的系统上安装 nginx 包。

6. 特定版本的操作系统执行任务

---
- hosts: websrvsremote_user: roottasks:- name: Install package on CentOS 8yum:name: httpdstate: presentwhen: ansible_distribution == "CentOS" and ansible_distribution_version == "8"
  • 这个任务会在 CentOS 8 系统上安装 httpd 包。

7. 操作系统家族为 Suse 时执行任务

---
- hosts: websrvsremote_user: roottasks:- name: Install package on Suse systemszypper:name: apache2state: presentwhen: ansible_os_family == "Suse"
  • 这个任务会在操作系统家族为 Suse 的系统上安装 apache2 包。

8. 检测操作系统是否为 Windows 系统

---
- hosts: windows_machinesremote_user: Administratortasks:- name: Install IIS on Windowswin_chocolatey:name: iisstate: presentwhen: ansible_os_family == "Windows"
  • 这个任务会在操作系统家族为 Windows 的系统上安装 IIS。

9. 操作系统家族不为 RedHat 时执行任务

---
- hosts: websrvs
remote_user: root
tasks:
- name: Install package on non-RedHat systems
apt:
name: nginx
state: present
when: ansible_os_family != "RedHat"

  • 这个任务会在操作系统家族不为 RedHat 的系统上安装 nginx 包。

10. 根据操作系统家族执行不同的配置

---
- hosts: websrvs
remote_user: root
tasks:
- name: Configure firewall on RedHat systems
firewalld:
service: http
permanent: yes
state: enabled
when: ansible_os_family == "RedHat"

    - name: Configure firewall on Debian systems
ufw:
rule: allow
name: 'Apache'
when: ansible_os_family == "Debian"

  • 这个任务根据操作系统家族来执行不同的防火墙配置:RedHat 使用 firewalldDebian 使用 ufw

 

http://www.dtcms.com/a/320094.html

相关文章:

  • 网页中 MetaMask 钱包钱包交互核心功能详解
  • Redis缓存数据库深度剖析
  • ESXI7.0添加标准交换机过程
  • 通过CNN、LSTM、CNN-LSTM及SSA-CNN-LSTM模型对数据进行预测,并进行全面的性能对比与可视化分析
  • [Oracle] DECODE()函数
  • [Oracle] GREATEST()函数
  • GCC与NLP实战:编译技术赋能自然语言处理
  • Kubernetes(k8s)之Service服务
  • 【C语言】深入理解编译与链接过程
  • Java中的反射机制
  • 【AxureMost落葵网】企业ERP项目原型-免费
  • 上位机知识篇篇---驱动
  • Xvfb虚拟屏幕(Linux)中文入门篇1:(wikipedia摘要,适当改写)
  • 函数、方法和计算属性
  • 计网学习笔记第3章 数据链路层(灰灰题库)
  • [激光原理与应用-169]:测量仪器 - 能量型 - 光功率计(功率稳定性监测)
  • 记录:rk3568适配开源GPU驱动(panfrost)
  • Linux中Docker Swarm实践
  • 12-netty基础-手写rpc-编解码-04
  • ubuntu 2024 安装拼音输入法
  • 【macOS操作系统部署开源DeepSeek大模型,搭建Agent平台,构建私有化RAG知识库完整流程】
  • Linux综合练习2
  • 电气设备与互感器全解析
  • 智能制造网络质量保障:德承 DX-1200多网口工控机在windows系统下的网络性能测试指南
  • 操作系统与并发底层原理多道技术
  • docker容器导出为镜像
  • 深度学习入门Day7:Transformer架构原理与实战全解析
  • 亚马逊广告运营:有什么好用的辅助工具
  • Redis配置、测试及分布式缓存实现
  • Android 之 Jetpack - Paging