Ansible常用模块之包管理模块(yum_repository&yum模块)
1、yum_repository模块
-
yum_ repository模块可以帮助我们管理远程主机上的yum仓库。
-
yum_repository模块参数:
-
name参数:必须参数,用于指定要操作的唯一的仓库ID,也就是".repo"配置文件中每个仓库对应的"中括号"内的仓库ID
-
baseurl参数:此参数用于设置yum仓库的baseurl
-
description参数:此参数用于设置仓库的注释信息,也就是".repo"配置文件中每个仓库对应的"name字段"对应的内容。
-
file参数:此参数用于设置仓库的配置文件名称,即设置".repo"配置文件的文件名前缀,在不使用此参数的情况下,默认以name参数的仓库ID作为" .repo"配文件的文件名前缀,同一个’ .repo’配置文件中可以存在多个yum源
-
enabled参数:此参数用于设置是否激活对应的yum源,此参数状认值为yes,表示启用对应的yum源,设置为no表示不启用对应的yum源。
-
gpgcheck参数:此参数用于设置是否开启rpm包验证功能,默认值为no,表示不启用包验证,设置为yes表示开启包验证功能
-
state参数:默认值为present, 当值设置为absent时,表示删除对应的yum源。
-
-
实验环境
server1 | ansible管理机 |
---|---|
server2 | 受控主机 |
server3 | 受控主机 |
server4 | 受控主机 |
- 步骤一:给远程主机批量配置yum源
当前server2和server3上没有配置yum仓库
- 步骤二:删除远程主机中指定的yum源
2、yum模块
-
yum模块可以帮助我们在远程主机上通过yum源管理软件包。
-
yum模块参数:
-
name参数:必须参数,用于指定需要管理的软件包。
-
state参数:用于指定软件包的状态,默认值为present,表示确保软件包已经安装,除了present,其他可用值有:installed、latest、 absent、 removed。其中installed与present等效,latest表示安装yum中最新的版本,absent和removed等效,表示删除对应的软件包。
-
disable_ gpg_ check参数:用于禁用对rpm包的公钥gpg验证,默认值为no,表示不禁用验证,设置为yes表示禁用验证,即不验证包,直接安装,在对应的yum源没有开启gpg验证的情况下,需要将此参数的值设置为yes,否则会报错而无法进行安装。
-
-
实验环境
server1 | ansible管理机 |
---|---|
server2 | 受控主机 |
server3 | 受控主机 |
server4 | 受控主机 |
- 步骤一:给远程主机安装软件
#以下三个命令的作用相同(这里以httpd为例)
ansible testA -m yum -a "name=httpd"
ansible testA -m yum -a "name=httpd state=present"
ansible testA -m yum -a "name=httpd state=installed"
- 步骤二:卸载远程主机中的httpd
#以下两个命令的作用相同
ansible testA -m yum -a "name=httpd state=absent"
ansible testA -m yum -a "name=httpd state=removed"
注意:这里要特别强调一下disable_gpg_check参数,因为当远程主机的yum仓库文件中,如果gpgcheck=0未配置,那么像上边所讲的命令安装软件包时,会出现报错。如果远程主机的yum仓库文件中没有配置gpgcheck=0,那么我们在使用ansible给远程主机安装软件时,需要设定disable_gpg_check参数,这样在执行命令时才不会报错,即不做验证,直接安装软件。
- 将远程主机server2和server3的仓库文件中的gpgcheck=0,注释掉