图文并茂讲解本地YUM网络源配置,非常适合小白观看
YUM光盘源默认只能本机使用,局域网其他服务器是无法使用YUM光盘源的,如果想要使用,需要在每台服务器上构建ISO版的YUM本地源,该方案在企业中明显是不可取了,在那么多台服务器上重复性操作,开什么玩笑,这得耗费多少人力物力,太没有效率了。

为了解决这个问题,我们需要构建HTTP局域网YUM源,可以选择某台服务器作为本地YUM源服务器,在上面创建YUM源后,就可以提供内网其他主机使用,达到资源的高效使用。
挂载光盘镜像文件
- 下载ISO镜像文件
在挂载镜像前,我们需要先准备一个Linux完整版的安装镜像,注意是完整版,不是minimal版。
下载的途径可以选择阿里云、腾讯云、华为云等,这里以使用阿里云下载Rockylinux 9.4为例:
wget https://mirrors.aliyun.com/rockylinux/9.4/isos/x86_64/Rocky-9-latest-x86_64-dvd.iso
- 挂载镜像文件
我们将ISO镜像文件挂载到/mnt下面
mount Rocky-9-latest-x86_64-dvd.iso /mnt
复制软件包
将软件包复制到本地
# 创建网络源软件源存储目录
mkdir -p /var/www/html/rockylinux
# 把镜像里面的软件包全部复制到软件源存储目录
cp -R /mnt/BaseOS/Packages/* /var/www/html/rockylinux/
创建本地源
这里需要借助createrepo工具
# 安装reaterepo相关组件
yum -y install createrepo*
# 创建YUM源
cd /var/www/html/
createrepo rockylinux/
使用HTTP发布本地源
安装Apache HTTP软件
# 安装Apache HTTP
yum -y install httpd httpd-devel
# 启动HTTP服务
systemctl start httpd
验证是否能正常访问:
浏览器访问server_ip/rockylinux,如果出现以下页面,说明部署成功,网络源能正常访问

客户端安装测试
下面使用一台服务器配置该网络源,验证是否能正常使用
- 备份repo文件
# 备份原始repo文件
mkdir repo_bak
mv *.repo repo_bak
- 创建repo文件
vim http.repo
# 内容如下:
[base]
name = "Rockylinux HTTP YUM"
baseurl = http://47.92.100.166/rockylinux/
enabled = 1
gpgcheck = 0
- 重新生成缓存信息
yum makecache
检查是否生效

安装一个zip试试能不能成功

扩展YUM源
默认的ISO镜像构建的HTTP YUM会发现个别软件包并没有,例如,mount挂载服务器移动硬盘,需要ntfs-3g软件包的支持,而本地ISO光盘镜像是没有的。
可以看到,ntfs名字开头的软件包并不存在

这种情况我们可以到官网下载ntfs-3g软件包,复制到/var/www/html/rockylinux中,然后执行更新命令重新生成元数据
# 下载ntfs-3g软件包
cd /var/www/html/rocklinux/
wget https://dl.fedoraproject.org/pub/epel/9/Everything/x86_64/Packages/n/ntfs-3g-2022.10.3-1.el9.x86_64.rpm
wget https://dl.fedoraproject.org/pub/epel/9/Everything/x86_64/Packages/n/ntfs-3g-devel-2022.10.3-1.el9.x86_64.rpm
# 更新元数据
cd ..
createrepo --update rockylinux/
使用客户端更新YUM源缓存
yum makecache
yum search ntfs
执行结果:

外网同步YUM源
在企业实际应用场景中,仅仅依靠光盘中的软件包可能还是无法满足需求,例如,软件包的版本可能会更新。因此常常需要使用一台能过够联网的服务器,使用同步工具获取外网YUM源的软件包,内网的服务器只需配置本地网络源即可。如果你的内网环境对软件包版本没有要求,即使需要版本更新,只需要人工上传最新的软件包,那么此步骤可省略。
因此,以上通过ISO镜像文件方式还需要做一遍升级改造
- 删除前面复制到本地的内容
rm -rf /var/www/html/rockylinux/*
- 准备公有云的repo文件(可选操作)
之所以是可选操作,是因为如果你的选定的服务器是能够上网和正常安装软件包的话,那么其肯定自带了repo文件了。这是默认安装就自带的。
但有个地方主要注意,默认repo文件YUM源地址是官方的,服务器在海外,访问会比较慢,建议改为国内的YUM源。怎么改呢,可以先到网上找答案。如果还是不明白,可以评论区留言,或者私信我。
- 安装必要工具
yum -y install yum-utils createrepo
- 同步外网YUM源
# 不加--repoid,默认同步所有,根据需求决定是否需要同步所有软件包
# -p参数表示同步软件包的路径
reposync --repoid baseos -p /var/www/html/rockylinux/
reposync --repoid extras -p /var/www/html/rockylinux/
# 更新包元数据
craterepo /var/www/html/rockylinux/
操作完成,我们可以使用前面所用的客户端测试,测试前请执行yum makecache更新元数据
以下是通过web方式访问的截图:


企业内部共享YUM源配置详解
浙公网安备 33010602011771号