暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Ansible系列(10):yum_repository模块和yum模块

学习的人最帅 2019-06-18
1565

一、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源,使用到namebaseurl、和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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论