下面给你一套在 Ubuntu 上搭建本地镜像源(离线/局域网可用)的常见做法,适合内网、离线环境、批量装机等场景。
常见有三种方式:
如果只是“公司内网加速”,推荐 apt-mirror + nginx
sudo apt update
sudo apt install apt-mirror apache2 -y
(也可用 nginx,下面以 apache 为例)
编辑配置文件:
sudo vim /etc/apt/mirror.list
示例(Ubuntu 22.04):
set base_path /var/spool/apt-mirror
set mirror_path $base_path/mirror
set skel_path $base_path/skel
set var_path $base_path/var
set defaultarch amd64
set nthreads 20
deb http://archive.ubuntu.com/ubuntu jammy main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu jammy-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu jammy-security main restricted universe multiverse
clean http://archive.ubuntu.com/ubuntu
可只保留你需要的版本(如 20.04 → focal)
sudo apt-mirror
⏳ 首次同步可能 几十 GB~上百 GB
同步完成后目录:
/var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu
sudo ln -s /var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu /var/www/html/ubuntu
访问测试:
http://<服务器IP>/ubuntu/
在需要使用该镜像的机器上:
sudo vim /etc/apt/sources.list
改为:
deb http://<镜像服务器IP>/ubuntu jammy main restricted universe multiverse
deb http://<镜像服务器IP>/ubuntu jammy-updates main restricted universe multiverse
deb http://<镜像服务器IP>/ubuntu jammy-security main restricted universe multiverse
然后:
sudo apt update
sudo apt install nginx dpkg-dev -y
mkdir -p /srv/ubuntu/pool
cp /var/cache/apt/archives/*.deb /srv/ubuntu/pool/
cd /srv/ubuntu
dpkg-scanpackages pool /dev/null | gzip > Packages.gz
server {
listen 80;
root /srv/ubuntu;
autoindex on;
}
deb [trusted=yes] http://<IP>/ /
sudo crontab -e
0 2 * * * /usr/bin/apt-mirror
✅ 内网加速
✅ 离线安装
✅ 安全隔离环境
✅ 批量装机(PXE + 本地源)
如果你告诉我:
我可以给你更精确的配置模板。