我的目标主机用的是 CentOS 系统,所以可以使用 yum 去管理软件包, ansible 里面有一个 yum 模块我们可以用一下它 ... 这个模块的功能就是在目标主机的上面使用 yum 包管理工具去管理指定的软件包 ..
如果你的目标主机是 Ubuntu ,你可以使用 apt 模块去管理系统的软件包 .. 在这个 Play 里添加一个任务 .. 先用 name 设置一下任务的名字 ... 比如我要安装一下 epel 这个仓库 ..
再用一下 yum 模块 ... 添加一个 name 选项去指定一下包的名字 ... 这里这是 epel-release ,再用一个 state 选项,设置一下你想要的状态 ... latest ,表示我想让 epel-release 这个软件使用最新的版本 ...
保存,再去执行一下这个 Playbook ... 进入到它所在的目录 ... 执行一下 ansible-playbook 后面加上 playbook 文件的名字 ... app.yml
完成以后可以在远程主机上执行一下 yum repolist 去查看一下可用的仓库的列表 ...
ansible all -a 'yum repolist' -u vagrant
在返回的结果里,会有 epel 这个仓库。
回到这个 playbooks ... 把 state 的值换成 removed ,意思就是我们希望上面列出的软件包是被删除的状态 .. ... 保存 .. 再去执行一下它 ...
再去查看一下 repolist .. 现在已经看不到 epel 仓库了 ...
再把 state 的值改成 latest ,然后再去运行一下这个 Playbook ...