网站首页 > 精选教程 正文
1. yum_repository模块
yum_repository模块可以帮助我们管理远程主机上的yum仓库。
先看一个yum源配置的例子:
[root@localhost yum.repos.d]# cat dvd.repo [RHEL] name=RHEL6 baseurl=file:///home/isopackage gpgcheck=0 gpgkey=file:///home/isopackage/RPM-GPG-KEY-redhat-release enabled=1
(1)参数
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表示开启包验证功能。
gpgcakey参数:当gpgcheck参数设置为yes时,需要使用此参数指定验证包所需的公钥
state参数:默认值为present,当值设置为absent时,表示删除对应的yum源
(2)创建
设置ID为aliEpel 的yum源,仓库配置文件路径为/etc/yum.repos.d/aliEpel.repo
[root@centos1 ~]# releasever=7 [root@centos1 ~]# basearch=x86_64 [root@centos1 ~]# ansible webservers -m yum_repository -a "name=aliEpel description=\"alibaba EPEL\" baseurl=https://mirrors.aliyun.com/epel/${releasever}Server/$basearch" 192.168.87.137 | CHANGED => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": true, "repo": "aliEpel", "state": "present" } 192.168.87.128 | CHANGED => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": true, "repo": "aliEpel", "state": "present" }
在受管机器上可以看到:
[root@linux1 yum.repos.d]# cat aliEpel.repo [aliEpel] baseurl = https://mirrors.aliyun.com/epel/7Server/x86_64 name = alibaba EPEL
(3)删除
[root@centos1 ~]# ansible webservers -m yum_repository -a 'name=aliEpel state=absent' 192.168.87.137 | CHANGED => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": true, "repo": "aliEpel", "state": "absent" } 192.168.87.128 | CHANGED => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": true, "repo": "aliEpel", "state": "absent" }
2. yum模块
yum模块可以帮助我们在远程主机上通过yum源管理软件包。
(1)参数
name参数:必须参数,用于指定需要管理的软件包,比如nginx
state参数:用于指定软件包的状态,默认值为present,表示确保软件包已经安装,除了present,其他可用值有installed、latest、absent、removed,其中installed与presentt等效,latest表示安装yum中最新的版本,absent和removed等效,表示删除对应的软件包。
disable_gpg_check参数:用于禁用对rpm包的公钥gpg验证,默认值为no,表示不禁用验证,设置为yes表示禁用验证,即不验证包,直接安装,在对应的yum源没有开启gpg验证的情况下,需要将此参数的值设置为yes,否则会报错而无法进行安装。
enablerepo参数:用于指定安装软件包时临时启用的yum源,假如你想要从A源中安装软件,但是你不确定A源是否启用了,你可以在安装软件包时将此参数的值设置为yes,这样即使A源的设置是未启用,也可以在安装软件包时临时启用A源。
disablerepo参数:用于指定安装软件包时临时禁用的yum源,某些场景下需要此参数,比如,当多个yum源中同时存在要安装的软件包时,你可以使用此参数临时禁用某个源,这样设置后,在安装软件包时则不会从对应的源中选择安装包。
enablerepo参数和disablerepo参数可以同时使用
(2)例子
[root@centos1 ~]# ansible webservers -m yum -a 'name=gcc disable_gpg_check=yes' 192.168.87.128 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "msg": "", "rc": 0, "results": [ "gcc-4.4.7-4.el6.x86_64 providing gcc is already installed" ] } 192.168.87.128 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "msg": "", "rc": 0, "results": [ "gcc-4.4.7-4.el6.x86_64 providing gcc is already installed" ] }
以下两条命令的效果相同:
ansible webservers -m yum -a 'name=gcc state=present disable_gpg_check=yes' ansible webservers -m yum -a 'name=gcc state=installed disable_gpg_check=yes'
确保webservers主机上安装了yum源中最新版本的nginx
ansible webservers -m yum -a 'name=nginx state=latest disable_gpg_check=yes'
安装telnet时不确定local源是否启用,使用enablerepo=local确保临时启用local源
ansible webservers -m yum -a 'name=telnet disable_gpg_check=yes enablerepo=local'
猜你喜欢
- 2024-10-20 CentOS 7下Yum及RPM安装GitLab CE 14.0.3
- 2024-10-20 ansible-yum模块 ansible replace模块
- 2024-10-20 Linux(CentOS )手动搭建LNMP(Linux+Nginx+Mysql+PHP)坏境
- 2024-10-20 Linux基础测试 linux基础测试题
- 2024-10-20 Ngnix 安装指南「Win/Linux」 ngnix windows
- 2024-10-20 Linux运维搭建服务|03.简单搭建LNMP环境
- 2024-10-20 「Linux」17节-yum命令 linux yu
- 2024-10-20 构建个人私有云盘:简单步骤一键打造云端存储
- 2024-10-20 搭建本机和局域网yum源 搭建局域网需要什么技术
- 2024-10-20 基于阿里云ECS Centos7 搭建个人网站
你 发表评论:
欢迎- 04-11Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- 04-11Java中你知道几种从字符串中找指定的字符的数量
- 04-11探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- 04-11Python字符串详解与示例(python字符串的常见操作)
- 04-11java正则-取出指定字符串之间的内容
- 04-11String s1 = new String("abc");这句话创建了几个字符串对象?
- 04-11java判断字符串中是否包含某个字符
- 04-11关于java开发中正确的发牌逻辑编写规范
- 最近发表
-
- Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- Java中你知道几种从字符串中找指定的字符的数量
- 探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- Python字符串详解与示例(python字符串的常见操作)
- java正则-取出指定字符串之间的内容
- String s1 = new String("abc");这句话创建了几个字符串对象?
- java判断字符串中是否包含某个字符
- 关于java开发中正确的发牌逻辑编写规范
- windows、linux如何后台运行jar(并且显示进程名)
- 腾讯大佬私人收藏,GitHub上最受欢迎的100个JAVA库,值得学习
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)