Day14
一、Linux配置本地yum仓库
我的是Rocky Linux最小化版,这个版本的iso没有AppStream目录,无法配置,需要完整版。下面会记录完整版系统的配置和最小化版配置。
最小化配置
在vm虚拟机安装的时候选择的ISO是最小化的也没关系,将完整版的传到Linux目录里,然后将它挂载就好了
- 挂载ISO
1
2#loop是识别iso文件,ro是只读,iso文件本身就是只读
mount -o loop,ro /opt/Rocky-9.6-x86_64-dvd.iso /media/yum_source - 配置仓库repo文件,该文件路径为/etc/yum.repo.d/rocky.repo。在配置之前将源配置备份下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20cp rocky.repo{,-bak}
>rocky.repo #清空配置
#repo的配置需要配置两个,AppStream和BaseOS,开头要以'[]'打头,里面不能有空格
[AppStream]
#仓库的描述信息,后面的名字可自定义
name=Local DVD AppStream
#软件放在哪个地方,file:///表示放在本地文件系统,因为我将iso挂在/media/yum_source下
baseurl=file:///media/yum_source/AppStream
#启用仓库配置
enable=1
#是否验证软件完整性,本地可以不验证,如果时远程仓库,最好开启验证
gpgcheck=0
[BaseOS]
name=Local DVD BaseOS
baseurl=file:///media/yum_source/BaseOS
enable=1
gpgcheck=0 - 验证。使用yum clean all && yum makecache测试清除缓存并重新加载
完整版配置
完整版配置和最小化差不多,唯一的区别就是挂载的对象不同,完整版因为本身系统的yum源就是存在的,所以,只需要挂在系统就好,这里为sr0mount /dev/sr0 /media/yum_source
其他的配置是一样的
二、ansible
- 这是一款自动化运维工具,基于Python开发的,主要用于unix/Linux系统的配置、代码、变革操作,去中心化管理,客户端无需部署插件即可管理。
- 分为控制端和被控端,主要基于ssh协议管理
安装ansible
- 安装扩展软件包 dnf install -y epel-release
- 安装ansible dnf install -y ansible
配置
在此之前需要在/etc/hosts文件中配好控制端和被控端的ip映射,还需要配置免密
- 配置免密
1
2ssh-keygen #一路回车
ssh-copy-id root@slave1 #将密钥发送给被控端,其他的也是循环操作,自己本身也需要发一下 - 配置ansible的主机映射,在/etc/ansible/hosts文件中将主机IP或者配置的映射名写入
1
2
3
4
5
6[mysvr] #将下面的主机归组
slave1
slave2
[ansible]
master - 测试是否OK
ansible all -m ping
拓展
ansible有两种执行方式,一种是在linux终端内执行,一种是通过写yaml文件执行
终端式
- ansible all -m ping ,这段的意思是对所有主机进行ping,-m是指定模块,他这个模块有很多,比如dnf/yum,默认为command模块,不过command不支持特殊符号,比如管道符,>,&&等,如果想用,就是有个shell模块
- ansible mysvr -a ‘whoami’ #在mysvr组执行whoami命令
- ansible mysvr -m dnf -a ‘name=nginx state=present’ #在mysvr组执行安装nginx,present是确保软件已安装,未安装则装,安装了就不管,与他相反的则是absent(确保未安装)
- ansible-doc yum 这是ansible自带的操作文档,遇到不会的模块,可以查询手册,直接找到EXMPALE就可以看到怎么使用了
Playbook剧本
上面的终端式一般不怎么用,最好用的应该就是这个剧本了,他是yaml格式
1 | - name: 部署nginx并配置服务 |
- 运行playbook,ansible-playbook deploy_nginx.yml






