搭建说明
采用官方提供apt-mirror方式进行搭建
由于单个发行版apt包磁盘占用600G左右,建议1T磁盘空间
部署环境
名称ip主机名配置操作系统apt内网源服务器192.168.0.201CT11C 2G 1TUbuntu 20.04 LTS内网客户端192.168.0.202CT21C 1G 50GUbuntu 20.04 LTS
阿里云apt同步源
国内apt下载下载较慢,设置阿里云apt同步源
备份 sources.list
cp /etc/apt/sources.list /etc/apt/sources.list-bak
Ubuntu 20.04 LTS 配置修改如下
cat> /etc/apt/sources.list <<EOF
deb https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
# deb https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
EOF
apt-mirror安装
安装
更新apt 索引与安装
apt update
aptinstall apt-mirror -y
配置文件
apt-mirror默认配置文件: /etc/apt/mirror.list
修改默认路径: (可选,目录可不创建)
set base_path /data/apt-mirror
set run_postmirror 0
使用阿里云apt同步源 **
(若多次同步失败建议切换清华大学apt源:mirrors.tuna.tsinghua.edu.cn 进行同步)
**
可以设置多个,当前同步focal版本
vim /etc/apt/mirror.list
############# config #################### set base_path /var/spool/apt-mirrorset base_path /data/apt-mirror
## set mirror_path $base_path/mirror# set skel_path $base_path/skel# set var_path $base_path/var# set cleanscript $var_path/clean.sh# set defaultarch <running host architecture># set postmirror_script $var_path/postmirror.sh# set run_postmirror 0set run_postmirror 0set nthreads 20set _tilde 0############## end config ##############
deb https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
# deb https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse# deb-src https://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
clean https://mirrors.aliyun.com/ubuntu
若要添加22.04 TLS版本,在 /etc/apt/mirror.list配置文件新增
deb https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
# deb https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse# deb-src https://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
运行同步
apt-mirror
等待执行完毕(首次执行耗时较长,可放入后台执行)
目录结构
同步目录结构如下
mirror目录中包含了同步源的名称
root@CT1:/data/apt-mirror# ll mirror/
total 0
drwxr-x--- 3 root root 32 Jun 916:08 ./
drwxr-xr-x 5 root root 87 Jun 923:20 ../
drwxr-x--- 3 root root 20 Jun 916:08 mirrors.aliyun.com/
需要代理的目录为当前同步源下/ubuntu目录
root@CT1:/data/apt-mirror# ll mirror/mirrors.aliyun.com/ubuntu/
total 0
drwxr-x--- 4 root root 31 Jun 918:36 ./
drwxr-x--- 3 root root 20 Jun 916:08 ../
drwxr-x--- 6 root root 85 Jun 918:36 dists/
drwxr-x--- 6 root root 70 Jun 918:09 pool/
代理访问
配置
使用nginx docker-compose方式进行代理
安装docker与docker-compose,也可使用apt方式安装nginx
vim docker-compose.yaml
version: '3'
services:
apt-mirror:
image: nginx:1.25.2-alpine
container_name: apt-mirror
restart: always
ports:
- '80:80'
volumes:
- /data/apt-mirror/mirror/mirrors.aliyun.com/ubuntu:/usr/share/nginx/html/ubuntu/
# - /data/apt-mirror/mirror/mirrors.tuna.tsinghua.edu.cn/ubuntu:/usr/share/nginx/html/ubuntu/
启动
docker-compose up -d
客户机验证
配置
配置内网主机使用搭建的apt源进行更新
备份 sources.list
cp /etc/apt/sources.list /etc/apt/sources.list-bak
修改配置
cat> /etc/apt/sources.list <<EOF
deb http://192.168.0.201/ubuntu/ focal main restricted universe multiverse
deb-src http://192.168.0.201/ubuntu/ focal main restricted universe multiverse
deb http://192.168.0.201/ubuntu/ focal-security main restricted universe multiverse
deb-src http://192.168.0.201/ubuntu/ focal-security main restricted universe multiverse
deb http://192.168.0.201/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://192.168.0.201/ubuntu/ focal-updates main restricted universe multiverse
deb http://192.168.0.201/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://192.168.0.201/ubuntu/ focal-backports main restricted universe multiverse
EOF
更新apt索引
apt update
Reading package lists... Done
E: Failed to fetch http://192.168.0.201/ubuntu/dists/focal/main/cnf/Commands-amd64 404 Not Found [IP: 192.168.0.201]
E: Failed to fetch http://192.168.0.201/ubuntu/dists/focal-security/main/cnf/Commands-amd64 404 Not Found [IP: 192.168.0.201]
E: Failed to fetch http://192.168.0.201/ubuntu/dists/focal-updates/main/cnf/Commands-amd64 404 Not Found [IP: 192.168.0.201]
E: Failed to fetch http://192.168.0.201/ubuntu/dists/focal-backports/main/cnf/Commands-amd64 404 Not Found [IP: 192.168.0.201]
E: Some index files failed to download. They have been ignored, or old ones used instead.
root@CT1:/data/apt-sources#
报错处理
apt源缺少cnf下的一些索引文件,导致更新失败
经查找ubuntu官网apt-mirror软件包信息,apt-mirror_0.5.4-2已修复该问题
官网下载连接:https://packages.ubuntu.com/zh-tw/mantic/all/apt-mirror/download
回到apt内网源服务器
查看当前安装包版本
root@CT1:~# dpkg -l|grep apt-mirror
ii apt-mirror 0.5.4-1 all APT sources mirroring tool
安装apt-mirror_0.5.4-2版本
使用阿里云仓库下载:
wget https://mirrors.aliyun.com/ubuntu/pool/universe/a/apt-mirror/apt-mirror_0.5.4-2_all.deb
安装
dpkg -i apt-mirror_0.5.4-2_all.deb
执行apt-mirror进行同步
apt-mirror
apt内网源服务器更新完毕后,在apt客户端再次进行更新,提示成功
apt update
版权归原作者 liuxin638507 所有, 如有侵权,请联系我们删除。