目录
1.挂载本地光盘到/mnt
2.配置yum源仓库文件通过多种方式实现
仓库1 :Name: RH294_BaseDescription: RH294 base softwareBase urt: file:///mnt/BaseOS不需要验证钦件包 GPG 签名启用此软件仓库
编辑仓库 2:Name: RH294_StreamDescription : RH294 stream softwareBase url:file:///mnt/AppStream不需要验证软件包 GPG 签名
3.配置成功后安装http软件包(多种方法实现)
(1)控制端主机编辑配置文件发送到受控主机
(2)使用 copy 和synchronize模块建库
(3) 创建文件使用blockinfile建库
(4)创建文件使用lineinfile建库
1.挂载本地光盘到/mnt
ansible node1,node2 -m mount -a 'src=/dev/sr0 path=/mnt fstype=iso9660 state=mounted'
2.配置yum源仓库文件通过多种方式实现
仓库1 :
Name: RH294_Base
Description: RH294 base software
Base urt: file:///mnt/BaseOS
不需要验证钦件包 GPG 签名
启用此软件仓库
[root@server ~]# ansible node1,node2 -m yum_repository -a 'name=BaseOS description=RHEL8-Base baseurl=file://mnt/BaseOS gpgcheck=no file=BaseOS'
仓库 2:
Name: RH294_Stream
Description : RH294 stream software
Base url:file:///mnt/AppStream
不需要验证软件包 GPG 签名
[root@server ~]# ansible node1,node2 -m yum_repository -a 'name=AppStream description=RHEL8-app baseurl=file://mnt/AppStream gpgcheck=no file=AppStream'
3.配置成功后安装http软件包(多种方法实现)
(1)控制端主机编辑配置文件发送到受控主机
[root@server ~]# vim base.repo
[BaseOS]
name=BaseOS
baseurl=file:///mnt/BaseOS
gpgcheck=0
[Appstream]
name=AppStream
baseurl=file:///mnt/AppSrteam
gpgcheck=0
(2)使用 copy 和synchronize模块建库
[root@server ~]# ansible node1,node2 -m copy -a 'src=./base.repo dest=/etc/yum.repos.d/ force=yes backup=yes'
node2 | CHANGED => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/libexec/platform-python"
},
"backup_file": "/etc/yum.repos.d/base.repo.13081.2023-01-05@16:37:14~",
"changed": true,
"checksum": "ada65dec1a1a979483a7a9e4b5017e90ab2571ba",
"dest": "/etc/yum.repos.d/base.repo",
"gid": 0,
"group": "root",
"md5sum": "d79def8d3375d7c914270323798e4660",
"mode": "0644",
"owner": "root",
"secontext": "unconfined_u:object_r:system_conf_t:s0",
"size": 151,
"src": "/root/.ansible/tmp/ansible-tmp-1672907833.7229834-46769-196696496066083/source",
"state": "file",
"uid": 0
}
node1 | CHANGED => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/libexec/platform-python"
},
"backup_file": "/etc/yum.repos.d/base.repo.16334.2023-01-05@16:37:14~",
"changed": true,
"checksum": "ada65dec1a1a979483a7a9e4b5017e90ab2571ba",
"dest": "/etc/yum.repos.d/base.repo",
"gid": 0,
"group": "root",
"md5sum": "d79def8d3375d7c914270323798e4660",
"mode": "0644",
"owner": "root",
"secontext": "unconfined_u:object_r:system_conf_t:s0",
"size": 151,
"src": "/root/.ansible/tmp/ansible-tmp-1672907833.8494093-46767-115492435434508/source",
"state": "file",
"uid": 0
}
[root@server ~]# ansible node1,node2 -m synchronize -a 'src=./base.repo dest=/etc/yum.repos.d/ mode=push'
node2 | CHANGED => {
"changed": true,
"cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --out-format='<<CHANGED>>%i %n%L' /root/base.repo node2:/etc/yum.repos.d/",
"msg": "<f..t...... base.repo\n",
"rc": 0,
"stdout_lines": [
"<f..t...... base.repo"
]
}
node1 | CHANGED => {
"changed": true,
"cmd": "/usr/bin/rsync --delay-updates -F --compress --archive --rsh='/usr/bin/ssh -S none -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' --out-format='<<CHANGED>>%i %n%L' /root/base.repo node1:/etc/yum.repos.d/",
"msg": "<f..t...... base.repo\n",
"rc": 0,
"stdout_lines": [
"<f..t...... base.repo"
]
}
[root@server ~]#
(3) 创建文件使用blockinfile建库
[root@server ~]# ansible node1,node2 -m file -a 'path=/etc/yum.repos.d/base.repo state=touch'
node2 | CHANGED => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/libexec/platform-python"
},
"changed": true,
"dest": "/etc/yum.repos.d/base.repo",
"gid": 0,
"group": "root",
"mode": "0644",
"owner": "root",
"secontext": "unconfined_u:object_r:system_conf_t:s0",
"size": 151,
"state": "file",
"uid": 0
}
node1 | CHANGED => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/libexec/platform-python"
},
"changed": true,
"dest": "/etc/yum.repos.d/base.repo",
"gid": 0,
"group": "root",
"mode": "0644",
"owner": "root",
"secontext": "unconfined_u:object_r:system_conf_t:s0",
"size": 151,
"state": "file",
"uid": 0
}
[root@server ~]# ansible node1,node2 -m blockinfile -a 'path=/etc/yum.repos.d/base.repo block="[baseOS]\name=base\nbaseurl=file:///mnt/BaseOS\ngpgcheck=0\n[APPStream]\n..." marker="#{mark} yum con" insertbefore=BOF state=present'
node2 | CHANGED => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/libexec/platform-python"
},
"changed": true,
"msg": "Block inserted"
}
node1 | CHANGED => {
"ansible_facts": {
"discovered_interpreter_python": "/usr/libexec/platform-python"
},
"changed": true,
"msg": "Block inserted"
}
(4)创建文件使用lineinfile建库
ansible node1,node2 -m lineinfile -a 'path=/etc/yum.repos.d/base.repo block="[baseOS]\name=base\nbaseurl=file:///mnt/BaseOS\ngpgcheck=0\n[APPStream]\n..." marker="#{mark} yum con" insertbefore=BOF state=present'