IT评测·应用市场-qidao123.com技术社区
标题:
局域网内构建统一可访问的YUM源服务器(底子运维必备技能)
[打印本页]
作者:
勿忘初心做自己
时间:
2025-1-7 08:21
标题:
局域网内构建统一可访问的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)挂载光盘
[root@localhost ~]# mount /dev/cdrom /mnt
mount: /mnt: WARNING: source write-protected, mounted read-only.
复制代码
(2)备份原有repo文件
[root@localhost ~]# mkdir /etc/yum.repos.d/backup
[root@localhost ~]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup
复制代码
(3)创建新repo文件
[root@localhost ~]# cat >> /etc/yum.repos.d/local.repo << EOF
[Base]
name=Base
baseurl=file:///mnt/BaseOS
enabled=1
gpgcheck=0
[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
enabled=1
gpgcheck=0
EOF
复制代码
(4)测试yum源
[root@localhost ~]# yum install -y telnet
复制代码
顺遂安装软件包证明基于光盘做的yum源已经做好了。可以继续做下面的步调了
2.3 安装HTTP服务器
在YUM服务器上创建一个简朴的HTTP服务,可以使用Apache或Nginx,我这里使用Apache。
[root@localhost ~]# yum install httpd -y
复制代码
2.4 创建repodata目录
# 放置整个rockyLinux镜像的软件包
[root@localhost ~]# mkdir /var/www/html/rockylinux
复制代码
2.5 将必要发布软件包复制到repodata目录
将光盘挂载后的文件拷贝到repodata目录下
[root@localhost ~]# cp -r /mnt/* /var/www/html/rockylinux
复制代码
整个镜像文件拷贝必要时间较长一点
2.6 安装createrepo包
[root@localhost ~]# yum install -y createrepo
复制代码
2.7 运行createrepo来创建堆栈元数据
[root@localhost ~]# 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文件
[root@localhost ~]# mkdir /var/www/html/repos/rockylinx
[root@localhost ~]# cat >> /var/www/html/repos/rockylinx/rockylinux.repo << EOF
[Base]
name=Base
baseurl=http://10.10.10.200/rockylinux/BaseOS
enabled=1
gpgcheck=0
[AppStream]
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
[root@localhost ~]# mkdir /etc/yum.repos.d/backup
[root@localhost ~]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup
复制代码
3.2 获取yum有两种方法
方法一:直接wget已经在服务器端做好的repo文件
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# wget http://10.10.10.200/repos/rockylinx/rockylinux.repo
复制代码
方法二:在客户端创建新的repo文件
[root@localhost ~]# cat >> /etc/yum.repos.d/rockylinux.repo << EOF
[Base]
name=Base
baseurl=http://10.10.10.200/rockylinux/BaseOS
enabled=1
gpgcheck=0
[AppStream]
name=AppStream
baseurl=http://10.10.10.200/rockylinux/AppStream
enabled=1
gpgcheck=0
EOF
复制代码
3.3 测试yum源
# 先清一下原有yum源数据
[root@localhost ~]# yum clean all
# 安装telnet测试一下
[root@localhost ~]# yum install -y telnet
复制代码
成功安装就代表内部yum源已经做成功了,局域网内其他服务器也可以通过配置repo文件来构建可用的yum源。
3.4 httpd还可以作为共享服务器
可以在httpd的发布目录下创建一个software目录,将一些常用的软件包放置到内里,局域网内的客户端可以直接通过wget来直接获取软件包
(1)服务器端创建发布目录
# 创建software目录
[root@localhost ~]# mkdir /var/www/html/software
# 此处上传Tomcat包到software为例
[root@localhost ~]# cp /root/apache-tomcat-8.5.97.tar.gz /var/www/html/software
复制代码
(2)客户端获取软件包
[root@localhost ~]# 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企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/)
Powered by Discuz! X3.4