要让其他机器使用你配置的本地 yum 源,核心是将你的本地源通过网页服务共享到局域网中,这样其他机器就能像访问一个内部软件仓库网站一样获取安装包了。
下面是具体的步骤,分为在yum源服务器上的操作和在要使用该yum源的客户机上的操作。
🔧 在Yum源服务器上操作
这台服务器就是你已经配置好本地yum源的那台机器。
-
安装并启动Web服务
你需要一个Web服务器来共享yum源目录。通常使用httpd(Apache HTTP Server)。安装httpd
sudo yum install -y httpd启动httpd服务并设置开机自启
sudo systemctl start httpd
sudo systemctl enable httpd确保防火墙放行HTTP服务(通常是80端口)或临时关闭防火墙进行测试。
放行80端口
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload或者临时关闭防火墙(测试环境用)
sudo systemctl stop firewalld -
将Yum源目录共享出去
将你的本地yum源(例如已挂载ISO镜像的目录或包含RPM包的目录)链接或复制到httpd的默认网页目录(通常是 /var/www/html/)下。示例:假设你的本地源挂载在 /mnt/cdrom,在网页目录下创建一个软链接或直接复制
sudo ln -s /mnt/cdrom /var/www/html/centos-local
或者直接复制内容(如果目录不大)
sudo cp -r /mnt/cdrom /var/www/html/centos-local -
(可选但推荐)创建仓库元数据
如果你的yum源目录还没有repodata目录,需要使用createrepo命令生成,这样yum才能正确解析包依赖关系。
安装createrepo工具
sudo yum install -y createrepo
进入你的yum源目录生成元数据
cd /var/www/html/centos-local
sudo createrepo -
测试本地访问
在服务器本机用浏览器打开 http://你的服务器IP/centos-local/,应该能看到目录文件列表。也可以用curl或wget测试。
🖥️ 在客户机上操作
局域网内其他需要用到这个yum源的Linux机器。
-
备份原有Yum源配置
修改前先备份,是好习惯。
cd /etc/yum.repos.d/
sudo mkdir bak
sudo mv *.repo bak/ -
创建新的Repo配置文件
新建一个.repo文件,指向你的yum源服务器。
sudo vi /etc/yum.repos.d/local-lan.repo文件内容参考如下(根据实际情况修改baseurl中的IP地址和路径):
[local-lan] # 仓库ID,唯一即可
name=Local LAN Yum Repository # 仓库描述
baseurl=http://你的yum源服务器IP/centos-local/ # 关键:指向yum源服务器的地址
enabled=1 # 启用此源
gpgcheck=0 # 不进行GPG签名检查(简化流程,内网通常可关)
如果镜像文件或包有GPG密钥,可设置gpgcheck=1并指定gpgkey文件路径
baseurl 是核心,填你yum源服务器的局域网IP地址和Web服务中设置的路径。
-
清理并重建Yum缓存
sudo yum clean all # 清理旧缓存
sudo yum makecache # 建立新缓存 -
测试验证
sudo yum repolist # 查看可用的仓库列表
sudo yum list # 尝试列出所有可安装的软件包
sudo yum install -y [某个软件包名] # 实际安装一个软件测试
💡 实用提示
• 获取服务器IP地址:在yum源服务器上使用 ip addr 或 ifconfig 命令查看本机IP。
• 确保网络连通:确保客户机可以ping通yum源服务器的IP。
• 目录权限:检查/var/www/html/下相关目录的权限,确保httpd进程有权限读取。
• 添加更多软件源:你可以用同样方法设置多个仓库(如EPEL),在客户机上配置多个.repo文件即可。
完成以上步骤后,局域网内的其他机器就可以把你配置的本地yum源作为软件安装源了,既能节省带宽,又能统一内网环境下的软件版本。
希望这些步骤能帮助你顺利共享yum源!如果具体操作中遇到问题,可以告诉我你遇到的现象。

2400

被折叠的 条评论
为什么被折叠?



