配置本地软件源仓库的核心是用内网可控服务器替代公网镜像,YUM通过HTTP配置baseurl并更新缓存,APT需规范dist结构并处理Release文件,注意权限、路径结尾斜杠及版本匹配。

配置本地软件源仓库,核心是让服务器不依赖公网镜像,而是从内网可控的服务器(如另一台已同步好软件包的机器)拉取安装包。YUM(CentOS/RHEL)和APT(Ubuntu/Debian)操作逻辑不同,但目标一致:替换默认远程源为本地 HTTP/FTP/文件路径地址,并确保元数据可用。
YUM 系统配置本地仓库(CentOS 7/8、Rocky/AlmaLinux)
以 HTTP 方式提供本地仓库最常用。假设你已在内网某台机器(如 192.168.10.5)上用 reposync 或 createrepo 同步并生成了完整仓库(路径如 /var/www/html/centos8-base),可通过 Apache 或 Nginx 对外提供服务。
- 在客户端服务器上创建 repo 文件:
/etc/yum.repos.d/local.repo - 写入以下内容(以 CentOS 8 BaseOS 为例):
[local-base] name=Local CentOS 8 BaseOS baseurl=http://192.168.10.5/centos8-base/BaseOS/ enabled=1 gpgcheck=0 repo_gpgcheck=0
若原系统启用了 GPG 校验且你已导入对应公钥,可将 gpgcheck=1 并指定 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial;否则关闭校验更便于内网快速部署。
执行 yum clean all && yum makecache 更新缓存,验证是否生效:yum repolist 应显示 local-base 及其包数量。
APT 系统配置本地仓库(Ubuntu/Debian)
APT 不直接支持 HTTP 源自动索引,需确保远程目录结构符合 dists/ 规范。推荐使用 apt-mirror 或 debmirror 在本地服务器同步官方源,再通过 Web 服务共享。
- 编辑客户端的源列表:
sudo nano /etc/apt/sources.list - 注释掉所有默认行,添加类似如下行(以 Ubuntu 22.04 jammy 为例):
deb http://192.168.10.5/ubuntu/ jammy main restricted universe multiverse deb http://192.168.10.5/ubuntu/ jammy-updates main restricted universe multiverse deb http://192.168.10.5/ubuntu/ jammy-security main restricted universe multiverse
保存后运行 sudo apt update。如提示 “no Release file” 或 “unverified”,说明远端缺少 dists/jammy/Release 及其签名文件(Release.gpg),需确认同步工具是否启用 verify_release 选项,或临时在 /etc/apt/apt.conf.d/99allow-insecure 中加入:Acquire::AllowInsecureRepositories "true";(仅限可信内网)。
通用要点与避坑提醒
- 本地仓库服务器必须开启 HTTP 服务(如 nginx 监听 80 端口),且目录有可读权限;SELinux 或防火墙(firewalld/ufw)需放行对应端口
- YUM 的
baseurl结尾不加斜杠会报错;APT 的deb行结尾也不建议加斜杠 - 同步仓库时务必匹配客户端系统版本(如 Rocky 9 需对应 stream 9 的 repo,不能混用 8 和 9)
- 首次配置后建议用小包测试:
yum install -y wget或apt install -y curl,观察下载地址是否指向本地 IP
替代方案:离线文件协议(file://)方式
适用于单机或 NFS 挂载场景。例如仓库路径为 /mnt/local-repo/centos8-appstream:
- YUM:baseurl 设为
file:///mnt/local-repo/centos8-appstream/ - APT:sources.list 写成
deb [trusted=yes] file:/mnt/local-repo/ubuntu jammy main(注意双斜杠与空格) - 需确保挂载点稳定、用户有读权限;NFS 情况下建议用
soft,intr,rsize=8192,wsize=8192参数优化











