红帽秘笈,第二十九章常用模块的使用

本章主要介绍ansible中最常见模块的使用。
文件管理模块
软件包管理模块
服务管理模块
磁盘管理模块
用户管理模块
防火墙管理模块
练习1:在server2上执行hostname命令,命令如下。

  

这里rc=0的意思是执行此命令之后的返回值为0,rc的意思是returm code(返回值),为0
说明正确执行了,非零说明没有正确执行。
练习2:在 server2上执行一个错误的命令,命令如下。

 

file模块用于创建和删除文件/目录,修改文件/目录属性,其常见的参数包括以下几个。
(1)path:用于指定文件/目录的路径,此选项可以用name或dest替代。
(2)state:指定行为。
(3)touch:创建文件。
(4)directory:创建目录。
(5)file:对已存文件进行修改。
(6)absent:删除。
(7)link:软链接。
(8)hard:硬链接。
(9)其他参数:owner指定所有者,group指定所属组,mode指定权限,setype指定上下
文。
练习1:在server2上创建一个文件/opt/hosts,并设置所有者为root,所属组为tom,权
限为444,命令如下
[bdqn@rhel13 ~]$ ansible server2 -m file -a "path=/opt/hosts owner=root group=tom mode=444 state=touch"

 

 

 

需要注意的是,此处用path指定的文件,替换成name也是可以的,即
name=/opt/hosts。查看文件的属性,命令如下。
[bdqn@rhel13 ~]$ ansible server2 -m shell -a "ls -l /opt/hosts"

 

练习2:为/opt/hosts创建一个软链接/opt/hosts123,命令如下

 

验证,命令如下

 

 练习3:删除/opt/hosts123,命令如下。

 

 

练习4:创建目录/op/xx,上下文设置为default_t,命令如下。

 

 练习5:把/opt/hosts的权限改成000,所有者改成tom,所属组改成users,命令如下。 

验证,命令如下。

 

 清空server2 上/opt中所有的内容,命令如下。

[bdqn@rhel13 ~]$ ansible server2 -m shell -a "rm -rf /opt/*"

作用是把本地的/path1/file1拷贝到目的主机的/path2中。
copy模块常见的参数包括以下几个。
(1) src:源文件。
(2)dest:目的地,即拷贝到哪里。
(3)owner:所有者。
(4)group:所属组。(5)mode:权限。
练习1:把本地的文件/etc/ansible/hosts拷贝到目标机器的/opt目录中,并设置权限为
000,所有者为tom,命令如下。

 

 验证,命令如下

 

copy模块也可以利用content参数往某个文件中写内容,如果此文件不存在则会创建出
来。
练习2:在被管理机器的/opt目录中创建11.txt,内容为123123,命令如下。

 

 验证/opt/11.txt的内容,命令如下。

fetch用于把文件从被管理机器拷贝到本机当前目录中,命令如下。

 

 

其中门中的名称用于区分不同的yum 源。这里参数的含义如下。
(1)name:此 yum 源的描述信息。
(2) baseurl:用于指定yum源的具体地址。
(3)enabled:用于指定是否启用此 yum 源。
(4)gpgcheck:用于指定在安装软件包时,是否要进行数字签名的验证,一般设置为0
即可。
(5)gpgkey:在gpgcheck设置为1的情况下,用于指定公钥的位置。
对于yum_repository模块来说,常见的参数包括以下几个。
(1)name:repo配置文件里 [] 中的名称。
(2)description:repo配置文件里name字段的描述信息。
(3)baseurl :用于指定yum源的位置。
(4)enabled :是否启用源,值为true 或false。
(5)gpgcheck:是否启用数字签名验证,值为true或falsc。(6) gpgkey:用于指定公钥的
位置。 练习:给server2配置yum源,地址是ftp://192.168.8.11/dvd/AppStream,所需要的密
钥文件为ftp://192.168.8.11/dvd/RPM-GPG-KEY-redhat-release,命令如下
[bdqn@rhel13 ~]$ ansible server2 -m yum_repository -a "name=app description='this is appstream' baseur1=ftp://192.168.149.11/dvd/AppStream gpfcheck=tes gpgkey=ftp://192.168.149.11/dvd/RPM-GPG-KET-redhat-release"

 

执行之后的效果

[bdqn@rhel13 ~]$ ansible server2 -m shell -a "ls /etc/yum.repos.d/" 

yum模块常见的参数包括以下几个。
(1)name:用于指定软件包的名称。
(2)state:此参数的值如下。
①present或installed:用于安装软件包,没有指定state时的默认值就是installed。
②absent或removed:用于卸载软件包。
③latest:用于更新。
练习1:在server2上安装vsftpd,命令如下。
[bdqn@rhel13 ~]$ ansible server2 -m yum -a "name=vsftpd state=installed"

 

验证,命令如下

 [bdqn@rhel13 ~]$ ansible server2 -m shell -a "rpm -qa | grep vsftpd"

 

  • 28
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值