勿忘初心做自己 发表于 2025-1-7 08:21:16

局域网内构建统一可访问的YUM源服务器(底子运维必备技能)

1 构建内部YUM源必要性

YUM光盘源默认只能本机使用,局域网其他服务器无法使用 YUM光盘源,所以必要通过HTTP构建整个局域网都可以访问的内部YUM源。内部YUM源可以带来以下利益:
1.1 提高软件包安装和更新速度

通过搭建内部YUM源,可以将常用的软件包缓存到本地,淘汰从外部源下载的时间。
1.2 节流带宽

内部YUM源可以淘汰对外部源的访问,从而节流网络带宽。
1.3 安全可靠

内部YUM源可以避免使用不受信任的外部源,降低安全风险。
1.4 提供离线更新支持

对于无法毗连互联网的服务器,内部YUM源可以提供离线更新支持。这在企业内网需求中尤为重要,因为不是全部服务器都能毗连互联网
1.5 办理软件依赖关系问题

通过搭建内部YUM源,可以主动处理惩罚软件包之间的依赖关系,确保在安装或更新软件包时,全部必需的依赖项都能被正确处理惩罚

2 搭建内部yum源步调

2.1 准备实验环境

本次实验环境的两台服务器均为无法联网。对应企业中内网服务器。
角色操作系统IP地点服务器端Rocky Linux release 9.110.10.10.200客户端Rocky Linux release 9.110.10.10.201 2.2 基于光盘构建本地yum源

首先必要在假造机上挂载iso镜像。
(1)挂载光盘
# mount /dev/cdrom /mnt
mount: /mnt: WARNING: source write-protected, mounted read-only.
(2)备份原有repo文件
# mkdir /etc/yum.repos.d/backup
# mv  /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup
(3)创建新repo文件
# cat >> /etc/yum.repos.d/local.repo << EOF

name=Base
baseurl=file:///mnt/BaseOS
enabled=1
gpgcheck=0

name=AppStream
baseurl=file:///mnt/AppStream
enabled=1
gpgcheck=0
EOF
(4)测试yum源
# yum install -y telnet
顺遂安装软件包证明基于光盘做的yum源已经做好了。可以继续做下面的步调了

2.3 安装HTTP服务器

在YUM服务器上创建一个简朴的HTTP服务,可以使用Apache或Nginx,我这里使用Apache。
# yum install httpd -y
2.4 创建repodata目录

# 放置整个rockyLinux镜像的软件包
# mkdir /var/www/html/rockylinux

2.5 将必要发布软件包复制到repodata目录

将光盘挂载后的文件拷贝到repodata目录下
# cp -r /mnt/* /var/www/html/rockylinux
整个镜像文件拷贝必要时间较长一点

2.6 安装createrepo包

# yum install -y createrepo

2.7 运行createrepo来创建堆栈元数据

# createrepo /var/www/html/rockylinux
Directory walk started
Directory walk done - 6615 packages
Temporary output repo path: /var/www/html/rockylinux/.repodata/
Preparing sqlite DBs
Pool started (with 5 workers)
Pool finished
做成repo文件
# mkdir /var/www/html/repos/rockylinx
# cat >> /var/www/html/repos/rockylinx/rockylinux.repo << EOF

name=Base
baseurl=http://10.10.10.200/rockylinux/BaseOS
enabled=1
gpgcheck=0

name=AppStream
baseurl=http://10.10.10.200/rockylinux/AppStream
enabled=1
gpgcheck=0
EOF

 
2.8 启动HTTP服务

# 启动HTTP并设置开机自启动
systemctl enable --now httpd
# 查看httpd状态
systemctl status httpd
 
3 客户端使用yum源

3.1 备份原有的repo

# mkdir /etc/yum.repos.d/backup
# mv  /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup
3.2 获取yum有两种方法

方法一:直接wget已经在服务器端做好的repo文件
# cd /etc/yum.repos.d/
# wget http://10.10.10.200/repos/rockylinx/rockylinux.repo
方法二:在客户端创建新的repo文件
# cat >> /etc/yum.repos.d/rockylinux.repo << EOF

name=Base
baseurl=http://10.10.10.200/rockylinux/BaseOS
enabled=1
gpgcheck=0

name=AppStream
baseurl=http://10.10.10.200/rockylinux/AppStream
enabled=1
gpgcheck=0
EOF
3.3 测试yum源

# 先清一下原有yum源数据
# yum clean all
# 安装telnet测试一下
# yum install -y telnet

成功安装就代表内部yum源已经做成功了,局域网内其他服务器也可以通过配置repo文件来构建可用的yum源。
3.4 httpd还可以作为共享服务器

可以在httpd的发布目录下创建一个software目录,将一些常用的软件包放置到内里,局域网内的客户端可以直接通过wget来直接获取软件包
(1)服务器端创建发布目录
# 创建software目录
# mkdir /var/www/html/software
# 此处上传Tomcat包到software为例
# cp /root/apache-tomcat-8.5.97.tar.gz /var/www/html/software
(2)客户端获取软件包
# wget http://10.10.10.200/software/apache-tomcat-8.5.97.tar.gz
【温馨提示】:服务器端是RockyLinux操作系统,不光是可以做rockylinux操作系统的YUM源,也可以在服务器端配置多种操作系统的yum源,方法雷同,如CentOS,openEuler,麒麟V10等。
 
下一篇文章将讲解怎样同步外网的yum源,敬请期待!

假如你觉得这个作品对你有帮助,请不吝点赞、收藏,关注并分享给身边更多的朋友。假如你有任何疑问或发起,欢迎在评论区留言交流。
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 局域网内构建统一可访问的YUM源服务器(底子运维必备技能)