ansible挂载软件安装

  1. 挂载本地光盘到/mnt
  2. 配置yum源仓库文件通过多种方式实现
  • 仓库1 :
  • Name: RH294_Base
  • Description: RH294 base software
  • Base urt: file:///mnt/BaseOS
  • 不需要验证钦件包 GPG 签名
  • 启用此软件仓库
  • 仓库 2:
  • Name: RH294_Stream
  • Description : RH294 stream software
  • Base url:file:///mnt/AppStream
  • 不需要验证软件包 GPG 签名

​ 配置成功后安装http软件包(多种方法实现)


一、挂载本地光盘到/mnt

[root@server zx]# ansible node1,node2 -m mount -a 'src=/dev/sr0 path=/mnt fstype=iso9660 state=mounted'
node1 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    },
    "backup_file": "",
    "boot": "yes",
    "changed": false,
    "dump": "0",
    "fstab": "/etc/fstab",
    "fstype": "iso9660",
    "name": "/mnt",
    "opts": "defaults",
    "passno": "0",
    "src": "/dev/sr0"
}
node2 | SUCCESS => {
    "ansible_facts": {
        "discovered_interpreter_python": "/usr/libexec/platform-python"
    },
    "backup_file": "",
    "boot": "yes",
    "changed": false,
    "dump": "0",
    "fstab": "/etc/fstab",
    "fstype": "iso9660",
    "name": "/mnt",
    "opts": "defaults",
    "passno": "0",
    "src": "/dev/sr0"
}

二、配置yum源仓库文件通过多种方式实现

直接编辑

[root@server ~]# ansible node1,node2 -m yum_repository -a 'name=BaseOS description=RHEL8-Base baseurl=file:///mnt/BaseOS gpgcheck=no file=BaseOS'

[root@server ~]# ansible node1,node2 -m yum_repository -a 'name=AppStream description=RHEL8-App baseurl=file:///mnt/AppStream gpgcheck=no file=AppStream'

在控制主机上编写好,发送给受控主机
 
[root@server ~]# vim base.repo
[BaseOS]
name=BaseOS
baseurl=file:///mnt/BaseOS
gpgcheck=0
 
[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
gpgcheck=0
 
第一种:copy
[root@server ~]# ansible node1,node2 -m copy -a 'src=./base.repo dest=/etc/yum.repos.d/ force=yes backup=yes'
 
第二种:synchronize
[root@server ~]# ansible node1,node2 -m synchronize -a 'src=./base.repo dest=/etc/yum.repos.d/ mode=push'
在受控主机上创建文件,进行写入

[root@server ~]# ansible node1,node2 -m file -a 'path=/etc/yum.repos.d/base.repo state=touch'
 
第一种:copy
[root@server ~]# ansible node1,node2 -m copy -a 'dest=/etc/yum.repos.d/base.repo content="[BaseOS]\nname=BaseOS\nbaseurl=file:///mnt/BaseOS\ngpgcheck=0\n[APPStream]\nname=AppStream\nbaseurl=file:///mnt/AppStream\ngpgcheck=0"'
第二种:blockinfile
[root@server ~]# ansible node1,node2 -m blockinfile -a 'path=/etc/yum.repos.d/base.repo block="[BaseOS]\nname=BaseOS\nbaseurl=file:///mnt/BaseOS\ngpgcheck=0\n[APPStream]\nname=AppStream\nbaseurl=file:///mnt/AppStream\ngpgcheck=0" marker="#{mark} yum con" insertbefore=BOF state=present'
 
第三种:lineinfile
[root@server ~]# ansible node1,node2 -m lineinfile -a 'path=/etc/yum.repos.d/base.repo block="[BaseOS]\nname=BaseOS\nbaseurl=file:///mnt/BaseOS\ngpgcheck=0\n[APPStream]\nname=AppStream\nbaseurl=file:///mnt/AppStream\ngpgcheck=0" marker="#{mark} yum con" insertbefore=BOF state=present'

三、下载http

[root@server /]# vim install.yml
---
- name: 下载httpd
  hosts: node1,node2
  tasks:
    - name: install httpd
      dnf:
        name: httpd
        state: latest
        
        
[root@server /]# ansible-playbook install.yml 

PLAY [下载httpd] *******************************************************************************

TASK [Gathering Facts] *************************************************************************
ok: [node1]
ok: [node2]

TASK [install httpd] ***************************************************************************
ok: [node1]
ok: [node2]

PLAY RECAP *************************************************************************************
node1                      : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   
node2                      : ok=2    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值