一、yum_repository及yum模块概述
yum_repository模块:管理配置远程主机上的 yum 仓库。
yum模块:通过yum的方式管理软件包
二、模块常用参数
1、yum_repository模块
| 参数名 | 描述信息 |
|---|---|
| name | 指定仓库名称,对应yum配置文件中方括号“[]”中的内容。必须参数 |
| baseurl | 指定yum仓库的源地址,对应yum配置文件中baseurl。必须参数 |
| description | 设置仓库的注释信息,对应yum配置文件中name。必须参数 |
| file | 设置仓库的配置文件名称,对应yum配置文件的名称(.repo的前缀) |
| enabled | 设置是否启用yum源,默认值为yes,对应yum配置文件中enabled |
| gpgcheck | 设置是否启用验证,默认值为no,对应yum配置文件中gpgcheck |
| gpgcakey | 当 gpgcheck参数设置为yes时,需要使用此参数指定验证包所需的公钥。 |
| state | 默认值为present,当值设置为absent时,表示删除对应的 yum 源。 |
2、yum模块
| 参数名 | 描述信息 |
|---|---|
| name | 必须参数,用于指定需要管理的软件包,比如 nginx。 |
| state | 用于指定软件包的状态 ,默认值为。present(等价installed)其他可用值有latest(安装最新包),absent(删除) |
| disable_gpg_check | 一般情况下设置为 yes 表示禁用验证。 |
三、范例
1、配置yum源
1、删除/etc/yum.repos.d/目录下的所有配置文件
[root@localhost ~]# ansible all -m raw -a 'rm -rf etc/yum.repos.d/*'
192.168.58.130 | CHANGED | rc=0 >>
Shared connection to 192.168.58.130 closed.
[root@localhost ~]# ansible all -m raw -a 'ls etc/yum.repos.d/'
192.168.58.130 | CHANGED | rc=0 >>
Shared connection to 192.168.58.130 closed.
2、配置yum源,使用到name、baseurl、和description 3个参数
[root@localhost ~]# ansible all -m yum_repository -a "name='test' baseurl='file:///mnt' description='repo test'"
192.168.58.130 | CHANGED => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": true,
"repo": "test",
"state": "present"
}
3、查看/etc/yum.repos.d/目录下有了yum配置文件
[root@localhost ~]# ansible all -m raw -a 'ls etc/yum.repos.d/' 192.168.58.130 | CHANGED | rc=0 >>
test.repo
Shared connection to 192.168.58.130 closed.
2、使用yum模块管理软件包
1、安装telnet包
[root@localhost ~]# ansible all -m yum -a 'name=telnet disable_gpg_check=yes'
192.168.58.130 | CHANGED => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": true,
"changes": {
"installed": [
"telnet"
]
},
"msg": "",
"rc": 0,
"results": [
"Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-\n : manager\nThis system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.\nResolving Dependencies\n--> Running transaction check\n---> Package telnet.x86_64 1:0.17-59.el7 will be installed\n--> Finished Dependency Resolution\n\nDependencies Resolved\n\n================================================================================\n Package Arch Version Repository Size\n================================================================================\nInstalling:\n telnet x86_64 1:0.17-59.el7 test 63 k\n\nTransaction Summary\n================================================================================\nInstall 1 Package\n\nTotal download size: 63 k\nInstalled size: 113 k\nDownloading packages:\nRunning transaction check\nRunning transaction test\nTransaction test succeeded\nRunning transaction\n Installing : 1:telnet-0.17-59.el7.x86_64 1/1 \n Verifying : 1:telnet-0.17-59.el7.x86_64 1/1 \n\nInstalled:\n telnet.x86_64 1:0.17-59.el7 \n\nComplete!\n"
]
}
2、查看是否安装了telnet
[root@localhost ~]# ansible all -m raw -a 'rpm -qa |grep telnet'
192.168.58.130 | CHANGED | rc=0 >>
telnet-0.17-59.el7.x86_64
Shared connection to 192.168.58.130 closed.
3、删除telnet包
[root@localhost ~]# ansible all -m yum -a 'name=telnet state=absent'
192.168.58.130 | CHANGED => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/bin/python"
},
"changed": true,
"changes": {
"removed": [
"telnet"
]
},
"msg": "",
"rc": 0,
"results": [
"Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-\n : manager\nThis system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.\nResolving Dependencies\n--> Running transaction check\n---> Package telnet.x86_64 1:0.17-59.el7 will be erased\n--> Finished Dependency Resolution\n\nDependencies Resolved\n\n================================================================================\n Package Arch Version Repository Size\n================================================================================\nRemoving:\n telnet x86_64 1:0.17-59.el7 @test 113 k\n\nTransaction Summary\n================================================================================\nRemove 1 Package\n\nInstalled size: 113 k\nDownloading packages:\nRunning transaction check\nRunning transaction test\nTransaction test succeeded\nRunning transaction\n Erasing : 1:telnet-0.17-59.el7.x86_64 1/1 \n Verifying : 1:telnet-0.17-59.el7.x86_64 1/1 \n\nRemoved:\n telnet.x86_64 1:0.17-59.el7 \n\nComplete!\n"
]
}
文章转载自学习的人最帅,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




