离线内网搭建linux基础安装源需同步完整发行版镜像(如ubuntu的dists/pool、centos的baseos/appstream),生成repodata元数据,通过http服务(如nginx)对外提供url访问,并在安装器中配置对应网络源路径,同时适配系统安装后apt/yum源文件指向同一内网地址。

在离线内网环境中搭建 Linux 基础安装源,核心目标是让多台目标主机无需外网,即可完成系统安装、软件包安装与基础更新。这不是简单复制 ISO 文件,而是构建一个可被安装程序(如 Debian 的 apt、CentOS/RHEL 的 dnf/yum、Ubuntu 的 apt)或安装器(如 Anaconda、Debian Installer)识别并使用的本地软件源仓库。
一、明确源类型和用途
离线源分两类,需先区分清楚:
-
安装介质源(Installer Source):供系统安装过程调用,比如 Debian 安装器的
main、contrib、non-free区,或 CentOS 的BaseOS和AppStream。它直接参与debootstrap或anaconda的包解压与依赖解析,必须结构完整、元数据齐全。 -
运行时软件源(Runtime Repository):系统安装完成后,用于
apt install或dnf install的日常软件管理。它不参与安装阶段,但对后续运维至关重要。
多数离线场景需同时准备二者,且建议统一使用同一套镜像数据,避免版本错位。
二、获取并组织原始镜像数据
关键动作是“下载完整发行版镜像”,不是单个 ISO,而是整个仓库快照:
在无 root/sudo 权限的环境(云容器、VPS、隔离主机)中安装并配置 OpenClaw 浏览器工具的 headless Chrome。适用场景:...
- Ubuntu/Debian:从官方镜像站(如
archive.ubuntu.com或deb.debian.org)同步完整dists+pool目录。推荐用apt-mirror或rsync工具,例如:rsync -avz --delete rsync://archive.ubuntu.com/ubuntu/ /data/mirror/ubuntu/ - CentOS Stream / RHEL / Rocky / AlmaLinux:同步
BaseOS和AppStream的完整 repo(含repodata)。例如:reposync -g -l -d -m --repoid=baseos --download-metadata --download-path=/data/mirror/centos/ - 银河麒麟 / 欧拉(openEuler):使用其官方提供的
mirrors同步脚本或dnf reposync,注意选择对应版本分支(如 openEuler 22.03 LTS SP3)。
同步后务必验证 repodata/repomd.xml 是否存在且可读——这是所有工具识别仓库的入口文件。
三、提供 HTTP/FTP 访问服务
不能只放文件,必须让目标机通过 URL 访问。推荐 HTTP 方式(兼容性最好,无需客户端额外配置):
- 用
nginx或httpd部署静态服务,将镜像根目录设为 Web 根路径,例如:/data/mirror/ubuntu/→ 可通过http://192.168.10.100/ubuntu访问 - 若用 FTP,确保 vsftpd 开启匿名访问,并设置
anon_root=/data/mirror;但注意部分安装器(如新版 Ubuntu Server)默认不支持 FTP 源,优先选 HTTP。 - 防火墙需放行端口(HTTP 默认 80,HTTPS 默认 443),内网 DNS 或 hosts 中添加简短域名(如
mirror.local)更利于维护。
四、适配安装过程中的源配置
不同发行版安装器调用本地源的方式不同,需针对性处理:
-
Debian/Ubuntu 文字安装模式:安装到“Configure the package manager”步骤时,选择
Enter information manually,将Archive host设为内网服务器 IP 或域名,Directory填/ubuntu(对应上面 nginx 路径),Proxy留空。 -
RHEL/CentOS/Rocky 安装器(Anaconda):在“Installation Source”页面选择
On the network,URL 填http://192.168.10.100/centos/BaseOS(注意路径需精确到含repodata的目录)。 -
欧拉(openEuler)或银河麒麟:安装时通常支持“本地镜像”选项,但要求 U 盘或光盘挂载后含完整
repodata;若走网络,则同 RHEL 方式配置 HTTP URL。
安装完成后,在已部署系统中修改 /etc/apt/sources.list(Deb系)或 /etc/yum.repos.d/*.repo(RPM系),指向同一内网地址,即可持续使用。










