ansible的yum模块

yum模块

state参数:

  • present 确保存在(安装)
  • latest 最新(安装最新版)
  • absent 确保不存在(卸载)

yum安装软件包

yum模块支持列表方式安装多个包

# 安装httpd和mariadb,并启动httpd服务和mariadb服务
---
- name: 安装pkg
  hosts: servera.lab.example.com
  tasks:
    - name: install_pkg
      yum:
        name: "{{ item }}"
        state: latest
      loop:
        - httpd
        - firewalld
        - mariadb-server
        - php
        - php-mysqlnd

yum卸载软件包

---
- hosts: node1
  tasks:
    - name: 卸载软件包
      yum:
        name: httpd
        state: removed

package_facls模块(收集已安装的软件包)

---
- name: 显示已安装的软件包
  hosts: servera.lab.example.com
  tasks:
    - name: 收集已安装的软件包
      package_facts:
      	#manager表示包管理器,auto表示自动判断包管理器类型
        manager: auto 
    - name: 列出已安装的软件包
      debug:
        var: ansible_facts.packages
    - name: 显示NetworkManager版本
      debug:
        msg: "NetworkManager版本:{{ansible_facts.packages['NetworkManager'][0].version}}"
      when: "'NetworkManager' in ansible_facts.packages" 
      # 如果NetworkManager在已安装列表中,显示NetworkManager的版本

package(自动包管理器)

package会自动判断系统的包管理器,而不用关注被控端的包管理器类型

---
- name: 自动判断包管理器
  hsots: webservers
  tasks:
    name: install httpd
      package:
        name: httpd
        state: present

yum_repository和rpm_key模块(配置软件仓库)

rpm_key模块导入gpgkey,yum_repository模块配置软件仓库


导入gpp_key

---
- name: 配置软件仓库
  hosts: servera.lab.example.com
  remote_user: devops
  become: yes
  become_user: root
  tasks:
    - name: 导入gpg_key # 如果下方gpgcheck=yes,gpgkey=key地址,这个tasks可省略
      rpm_key:
        key: http://materials.example.com/yum/repository/RPM-GPG-KEY-example
        state: present

配置软件仓库

---
- name: 配置软件仓库
  hosts: servera.lab.example.com
  remote_user: devops
  become: yes
  become_user: root
  tasks:
    - name: 确保存在example这个repo
      yum_repository:
        file: example
        name: example-internal
        description: repo描述
        baseurl: http://materials.example.com/yum/repository/
        enabled: yes
        gpgcheck: yes
        gogkey: http://materials.example.com/yum/repository/RPM-GPG-KEY-example
        state: present

rhsm_repository(红帽订阅软件仓库管理)

需要红帽订阅才能正常使用

---
- name: 启用软件仓库
  hosts: servera.lab.example.com
  tasks:
  - rhsm_repository:
      name:
        - rhel_8_for-x86_64_baseos-rpms
        - rhel_8_for-x86_64_baseos-debug-rpms
      state: present
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

教Linux的李老师

赞赏是第一生产力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值