Ansible YUM模块是Ansible中用于管理Red Hat系Linux发行版软件包的强大工具,它具有以下优点:
Ansible YUM模块可用于各种软件包管理场景,以下是一些常见的应用场景:
- name: Install a package
yum:
name: package_name
state: present
- name: Remove a package
yum:
name: package_name
state: absent
- name: Update all packages
yum:
name: '*'
state: latest
参数名 | 说明 | 默认值 | 可选值 |
---|---|---|---|
name | 要安装、卸载或更新的软件包名称 | 无 | 必填 |
state | 软件包的状态 | present | present、latest、absent、removed、info |
version | 要安装的软件包版本 | 无 | 任意版本字符串 |
disable_repo | 禁用指定仓库 | 无 | 仓库名称列表 |
enable_repo | 启用指定仓库 | 无 | 仓库名称列表 |
force_reinstall | 强制重新安装软件包 | no | yes |
update_cache | 更新软件包缓存 | yes | yes、no、always |
exclude | 排除依赖的软件包 | 无 | 软件包名称列表 |
include | 包含依赖的软件包 | 无 | 软件包名称列表 |
使用ansible服务器来控制2两台服务器
1.下载httpd并检测
2.下载vsftp并检测
3.删除部署程序
3.更新所有安装包
通过以下配置就是创建一个webServers组 并且加入两个主机 再给组赋予变量 用户名和密码 这样组下的所有主机都可以访问 更加的便捷
[root@ansible ~]# ansible webServers -m yum -a 'name=httpd state=latest'
webServers
:这指定要面向的主机组。这些主机应在 Ansible 清单文件中定义。-m yum
:此选项指示 Ansible 使用该 yum
模块,该模块用于管理基于 Red Hat 的 Linux 发行版上的软件包。-a 'name=httpd state=latest'
:此选项定义 yum
模块的参数: name=httpd
:这指定要管理的软件包,在本例中是这样 httpd
。state=latest
:这将设置包的所需状态。在这里,它设置为 latest
确保安装最新版本。webServers
:这指定要面向的主机组。这些主机应在 Ansible 清单文件中定义。-m yum
:此选项指示 Ansible 使用该 yum
模块,该模块用于管理基于 Red Hat 的 Linux 发行版上的软件包。-a 'name=httpd state=latest'
:此选项定义 yum
模块的参数: name=httpd
:这指定要管理的软件包,在本例中是这样 httpd
。state=latest
:这将设置包的所需状态。在这里,它设置为 latest
确保安装最新版本。提示这些很多的字体是httpd的整个安装过程
这时返回客户端查看是否安装成功
[root@ansible ~]# ansible webServers -m yum -a 'name=vsftpd state=latest'
详细讲解如上一样不解释了
也是会弹出来一系列的参数
为了大家显而易见的观看 我部署之前先检测并没有安装vsftpd 在服务器上部署完成之后再次查看
[root@ansible ~]# ansible webServers -m yum -a 'name=vsftpd state=absent'
执行完命令之后很明显的可以看到正在删除
客户端查看
另外一个httpd的删除实例就留给大家动手吧~
[root@ansible ~]# ansible webServers -m yum -a 'name=* state=latest'
因为是所有的程序更新 需要等待很长的时间~~~