一、背景与需求
在Linux系统环境中,YUM(Yellowdog Updater Modified)作为一种高效的软件包管理工具,为系统管理员和开发者提供了便捷的包安装、更新、删除及依赖关系管理功能。然而,当系统需要从远程YUM仓库下载软件包时,可能会受到网络带宽、延迟以及外部仓库稳定性等因素的影响,导致软件包下载速度缓慢或失败。
二、本地YUM源的优势
提高下载速度:本地YUM源位于局域网内或本地磁盘,相比远程仓库,可以显著提升软件包的下载速度,特别是在网络状况不佳的环境下。
增强稳定性:本地YUM源不受外部网络波动的影响,确保了软件包下载的稳定性,减少了因网络问题导致的安装失败情况。
降低带宽占用:使用本地YUM源可以减少对外部网络的依赖,降低带宽占用,尤其适用于带宽资源有限或需要控制网络流量的环境。
定制化需求:通过搭建本地YUM源,系统管理员可以根据实际需求,筛选、定制并维护所需的软件包,确保系统的安全性和稳定性。
离线安装:在无法连接外部网络的情况下,本地YUM源为系统提供了离线安装软件包的能力,保障了系统的持续运行和更新。
废话不多说,下面以两种方式教大家搭建。
1 web方式搭建yum源
1.1 需要一台服务器搭建nginx
[root@localhost ~]#yum install -y nginx
1.2 上传yum源到web服务器根文件夹下,这里以web服务器挂载镜像源为例,介质名可能不同,这里为cdrom
[root@localhost ~]#mount /dev/cdrom /mnt/cdrom
[root@localhost ~]#mkdir -p /usr/share/nginx/html/yum
[root@localhost ~]#cp -r /mnt/cdrom/* /usr/share/nginx/html/yum/
1.3 启动服务,开放端口
[root@localhost ~]#systemctl start nginx
#然后确保端口处于放行状态
[root@localhost ~]#firewall-cmd --zone=public --add-port=80/tcp --permanent
[root@localhost ~]#firewall-cmd --reload
1.4 测试网页
网页输入http://服务器IP地址/yum,若正常访问,跳过操作1.5即可。
若提示403,则操作如下步骤:
添加如图示行:
[root@localhost ~]#vim /etc/nginx/nginx.conf
再测试就可以正常访问了。
1.5 外部主机设置到web服务器的yum源
[root@localhost ~]#vim /etc/yum.repos.d/remote.repo
[remote]
name=remote
baseurl=http://remote_ipaddress/yum #remote_ipaddress表示web服务器ip地址
gpgcheck=0
enabled=1
[root@localhost ~]#yum clean all #清理缓存
[root@localhost ~]#yum makecache #成功的话,列表就会显示remote源
2 ftp方式搭建yum源
2.1 需要一台服务器搭建vsftpd
[root@localhost ~]#yum install -y vsftpd
2.2 上传yum源到/var/ftp文件夹下,这里以ftp服务器挂载镜像源为例,介质名可能不同,这里为cdrom
[root@localhost ~]#mount /dev/cdrom /mnt/cdrom
[root@localhost ~]#mkdir -p /var/ftp/cdrom
[root@localhost ~]#cp -r /mnt/cdrom/* /var/ftp/cdrom
2.3 编辑ftp配置文件
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf #更改以下两行,若无则添加
anonymous_enable=YES #允许匿名登陆
local_root=/var/ftp #存放yum源的文件夹,以/var/ftp为例,可更改为其他,下同
2.4 启动服务,开放端口
[root@localhost ~]#systemctl start vsftpd && systemctl enable vsftpd
#然后确保端口处于放行状态
[root@localhost ~]#firewall-cmd --zone=public --add-service=ftp --permanent
[root@localhost ~]#firewall-cmd --reload
2.5 外部主机设置到ftp服务器的yum源
[root@localhost ~]#vim /etc/yum.repos.d/remote.repo
[remote]
name=remote
baseurl=ftp://remote_ipaddress/cdrom #remote_ipaddress表示ftp服务器ip地址
gpgcheck=0
enabled=1
[root@localhost ~]#yum clean all #清理缓存
[root@localhost ~]#yum makecache #成功的话,列表就会显示remote源
三、总结
综上所述,搭建本地YUM源对于提升软件包下载速度、增强系统稳定性、降低带宽占用、满足定制化需求以及实现离线安装等方面具有重要意义。特别是在企业内网、数据中心等场景下,本地YUM源已成为提高运维效率和保障系统稳定性的重要手段。因此,根据实际需求搭建并维护本地YUM源,对于Linux系统的管理和维护具有不可忽视的必要性。