作者主页:点击!
Ansible专栏:点击!
创作时间:2024年5月16日15点15分
💯趣站推荐💯
前些天发现了一个巨牛的🤖人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家,人工智能, 机器算法等...... 点击跳转网页!https://www.captainbed.cn/sis
YUM模块是Ansible中用于管理RPM包的强大工具。它可以用于安装、卸载、更新和查询软件包,以及配置yum仓库。YUM模块是基于yum
命令行工具的,因此它支持所有yum
的功能。
Ansible YUM模块是Ansible中用于管理Red Hat系Linux发行版软件包的强大工具,它具有以下优点:
- 易于使用: YUM模块语法简单易懂,易于学习和使用。
- 功能强大: YUM模块支持安装、卸载、更新、查询软件包等多种操作,并提供了丰富的参数和选项来控制安装行为。
- 自动化: YUM模块可以轻松地集成到Ansible playbooks中,实现自动化运维任务。
- 安全: YUM模块可以利用Ansible的权限管理机制,以安全的方式进行软件包管理。
- 跨平台: YUM模块支持Red Hat系Linux发行版,包括CentOS、RHEL、Fedora等。
应用场景
Ansible YUM模块可用于各种软件包管理场景,以下是一些常见的应用场景:
- 批量安装软件包: YUM模块可以轻松地批量安装指定版本的软件包到多个主机上,这对于部署新应用或更新现有应用非常方便。
- 维护软件包依赖: YUM模块可以自动解析和安装软件包的依赖关系,确保软件包能够正常运行。
- 配置软件包: YUM模块可以配置软件包的配置文件,例如修改配置文件中的参数值或添加新配置项。
- 管理软件包仓库: YUM模块可以管理软件包仓库,例如添加、删除、启用或禁用软件包仓库。
- 监控软件包状态: YUM模块可以监控软件包的状态,例如检查软件包是否已安装、是否为最新版本等。
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
YUM模块常用参数汇总
参数名 | 说明 | 默认值 | 可选值 |
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.更新所有安装包
1.增加主机组
通过以下配置就是创建一个webServers组 并且加入两个主机 再给组赋予变量 用户名和密码 这样组下的所有主机都可以访问 更加的便捷
2.部署httpd
[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的整个安装过程
这时返回客户端查看是否安装成功
2.部署vsftpd
[root@ansible ~]# ansible webServers -m yum -a 'name=vsftpd state=latest'
详细讲解如上一样不解释了
也是会弹出来一系列的参数
为了大家显而易见的观看 我部署之前先检测并没有安装vsftpd 在服务器上部署完成之后再次查看
3.删除刚部署服务
[root@ansible ~]# ansible webServers -m yum -a 'name=vsftpd state=absent'
执行完命令之后很明显的可以看到正在删除
客户端查看
另外一个httpd的删除实例就留给大家动手吧~
4.更新所有程序
[root@ansible ~]# ansible webServers -m yum -a 'name=* state=latest'
因为是所有的程序更新 需要等待很长的时间~~~