频繁访问外网源占用带宽,且速度有限,所以搭建局域网源是必须的。
yum源下载rpm,是由本地repo文件配置控制的,所有核心就是我们的repo文件。
repo文件格式:
#中括号内为yum源标签
[ffing]
#yum源描述
name=ffing-centos7
#yum源地址(baseurl支持四种协议:ftp、http、file、rsync)
baseurl=http://ffing.cn/yum
#秘钥检测:
gpgcheck=0
环境:
- 系统版本:centos7.6
- ISO镜像:centos7.6(yum源文件)
- nginx1.16(web服务器)
流程
- 搭建本地yum源
- 发布yum目录
- 网络yum源配置
- yum源优先级
一,搭建本地yum源
简单讲:创建yum仓库目录–>配置repo文件–>测试OK
1.准备本地yum仓库
将iso文件复制到本地目录,作为仓库源
1.1提前创建需要目录
#创建本地yum仓库目录
mkdir -p /yum/centos7-iso
1.2挂载iso镜像到/mnt
#挂载光盘到mnt下
mount /dev/sr0 /mnt
1.3拷贝光盘内容到我们上面创建的yum仓库目录
cp -r /mnt/* /yum/centos7-iso
2.配置repo文件
2.1清除本地所有repo
#创建备份目录
mkdir /etc/yum.repos.d/bak
#移动所有repo文件到bak目录下,保证/etc/yum.repos.d/下为空目录
mv /etc/yum.repos.d/* /etc/yum.repos.d/bak
2.2创建本地repo
#创建本地local.repo
vi /etc/yum.repos.d/local.repo
#####内容如下#####
[local-centos7]
name=local-CentOS7-iso
baseurl=file:///yum/centos7-iso/
gpgcheck=0
3.测试
本地测试,以安装tree为例
yum -y install tree
下图安装提示标签源为local-centos7,与上面我们配置的一致。
至此,本地yum源就搭建完成了!
二,web发布yum源目录
yum仓库目录做web服务(为网络源做基础)
从上面的搭建过程,可以看出yum源的访问路径,就是repo中的baseurl配置的地址,所以,我们做网络源就需要将我们本地的yum仓库目录发布出去。
安装nginx,并开放80端口,关闭selinux
#安装nginx
yum -y install nginx
#防火墙放行80端口
firewall-cmd --add-port=80/tcp --zone=public --permanent
firewall-cmd --reload
#临时关闭selinux
setenforce 0
#永久关闭selinux
sed -i 's/enforcing/disable/' /etc/selinux/config
修改nginx配置,增加location规则,定义yum源
vi /etc/nginx/nginx.conf
#插入location规则
location /yum {
alias /yum/centos7-iso;
autoindex on;
}
重启nginx
systemctl restart nginx
访问http://服务器IP或域名/yum
我的vm服务器地址ip为192.168.68.175
三,网络yum源配置
寻找网络中,其他的机器配置repo文件,yum源地址为我们发布的yum地址即可!
这里我以vm-2机器为例!
同样的操作,移除原有repo文件,仅创建lan.repo做测试。
vi /etc/yum.repos.d/lan.repo
#源标签我定义为网络源的ip地址(你自己想定义上面都可以,方便自己辨识)
#baseurl为上面那台机器192.168.68.175发布的地址!
[192.168.68.175]
name=192.168.68.175-yum
baseurl=http://192.168.68.175/yum
gpgcheck=0
vm-2 安装tree,yum源标签显示的是我们上面创建的192.168.68.175地址。
四,yum源优先级(yum-plugin-priorities.noarch)
有本地源和网络源的时,就有优先级问题。
安装yum-plugin-priorities.noarch模块
yum -y insatll yum-plugin-priorities.noarch
安装完成后,修改repo文件配置priority参数定义优先级,值越小,优先级越高!
如下:(默认没有配置priority参数的优先级最低)
#本地repo文件,加入priority参数!!!
[local-centos7]
name=local-CentOS7-iso
baseurl=file:///yum/centos7-iso/
gpgcheck=0
priority=1
发表评论