其他帮助
前奏
rambo@test1:~$ grep -v ^# /etc/apt/sources.list.d/ubuntu.sources
Types: deb
URIs: http://cn.archive.ubuntu.com/ubuntu/
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
Types: deb
URIs: http://security.ubuntu.com/ubuntu/
Suites: noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
rambo@test1:~$ sudo apt update && sudo apt install -y vim wget curl net-tools
安排专供存储的磁盘
rambo@test1:~$ sudo fdisk /dev/sdb
rambo@test1:~$ sudo mkfs.ext4 /dev/sdb1
rambo@test1:~$ sudo mkdir /var/spool/apt-mirror
rambo@test1:~$ sudo mount /dev/sdb1 /var/spool/apt-mirror
rambo@test1:~$ df -Th /var/spool/apt-mirror/
Filesystem Type Size Used Avail Use% Mounted on
/dev/sdb1 ext4 295G 28K 280G 1% /var/spool/apt-mirror
注:/dev/sdb1是300G大小
安装并配置apt-mirror
rambo@test1:~$ sudo apt install -y apt-mirror apache2 # 如需https则需换成nginx
rambo@test1:~$ sudo grep -v ^# /etc/apt/mirror.list | grep -v ^$ 示例配置(仅同步核心、更新、通用软件源)
############# config ##################
set base_path /var/spool/apt-mirror
set nthreads 20
set _tilde 0
############# end config ##############
# Ubuntu 24 主仓库
deb http://archive.ubuntu.com/ubuntu noble main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu noble-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu noble-security main restricted universe multiverse
clean http://archive.ubuntu.com/ubuntu
首次同步
rambo@test1:~$ sudo apt-mirror
注:等待....10小时后
rambo@test1:~$ du -sh /var/spool/apt-mirror/ && date
283G /var/spool/apt-mirror/
Wed Aug 6 06:13:54 AM CST 2025
rambo@test1:~$ sudo systemctl restart apache2
配置 Apache 提供访问
rambo@test1:~$ ls /var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu/
dists pool
# 如是apache2
rambo@test1:~$ sudo ln -s /var/spool/apt-mirror/mirror/archive.ubuntu.com/ubuntu /var/www/html/ubuntu
rambo@test1:~$ sudo systemctl restart apache2
现在内网访问,就能看到离线仓库:
http://<服务器IP>/ubuntu
![image]()
客户端配置使用
在客户端上:
rambo@test2:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:11:ce:79 brd ff:ff:ff:ff:ff:ff
altname enp2s1
inet 172.16.186.112/24 brd 172.16.186.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
# DEB822格式
rambo@test2:~$ sudo mv /etc/apt/sources.list.d/ubuntu.sources{,-bak}
rambo@test2:~$ sudo mv /etc/apt/sources.list.d/ubuntu.sources-bak .
rambo@test2:~$ sudo vim /etc/apt/sources.list.d/ubuntu.sources
Types: deb
URIs: http://172.16.186.111/ubuntu # 172.16.186.111是服务端IP
Suites: noble noble-updates noble-security
Components: main restricted universe multiverse
Architectures: amd64
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
rambo@test2:~$ sudo apt update
![image]()