图文并茂讲解本地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方式访问的截图:

posted @ 2024-10-28 19:15  不爱说话的眼镜哥  阅读(121)  评论(0)    收藏  举报