Ansible playbook初始化配置Linux Centos7(一.DNS)
一.配置本地YUM源指向内网仓库
1.1.文件结构
├── hosts
├── roles
│ ├── DNS
│ │ ├── handlers
│ │ │ └── main.yml
│ │ └── tasks
│ │ └── main.yml
│ ├── yum
│ │ └── tasks
│ │ └── main.yml
└── site.yml
1.2.yum任务下任务主文件
/roles/yum/tasks/main.yml
#根据需求配置yum代理
- name: yum_proxy
lineinfile:
dest: /etc/yum.conf
line: "proxy=socks5://xx.xx.xx.xx"
state: present
#创建源备份文件夹
- name: yum_conf_bak
file:
path: /etc/yum.repos.d/bak
state: directory
mode: 0755
#遍历源文件
- name: list_repo
find:
paths: /etc/yum.repos.d
patterns: "*.repo"
register: repofiles_to_move
#复制默认源文件到备份文件夹
- name: copy_repo
copy:
src: "{{item.path}}"
dest: /etc/yum.repos.d/bak
remote_src: true
with_items: "{{ repofiles_to_move.files }}"
#删除默认源文件
- name: dele_repo
file:
path: "{{item.path}}"
state: absent
with_items: "{{ repofiles_to_move.files }}"
#下载内网仓库源文件,源文件已被上传至web服务器
- name: get new yumrepofiles
uri:
url: http://xx.xx.xx.xx/yum/centos7.repo
creates: centos7.repo
dest: /etc/yum.repos.d
when: ansible_distribution_major_version == "7"