当局域网中有多台 Arch Linux 计算机需要更新时,搭建缓存会节约大量的时间和流量,虽然搭建完整镜像也可以解决,但是全量同步过于耗费存储和流量
安装 Nginx
1sudo pacman -Sy nginx
创建相关文件夹
此处将缓存放置到:/data/nginx
1mkdir -p /data/nginx
配置 Nginx
规则特点:
- Line 4: 缓存将保存到
/data/nginx/cache
- Line 5: 缓存将以
/x/xx/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
的路径形式保存 - Line 7: 缓存池大小
16G
- Line 8: 资源有效期 8 天
- Line 13: 缓存
archlinux
和archlinxucn
源的所有.pkg.tar.zst
格式的文件 - Line 16 & 20: 上游镜像为
北京外国语大学
1# /etc/nginx/nginx.conf
2http {
3 ...
4 proxy_cache_path
5 /data/nginx/cache
6 levels=1:2
7 keys_zone=arch_cache:8m
8 max_size=16g
9 inactive=7d
10 use_temp_path=off;
11
12 server {
13 ...
14 location ~ ^/archlinux(|cn)/.*pkg.tar.zst {
15 proxy_cache arch_cache;
16 proxy_cache_valid any 3d;
17 proxy_pass https://mirrors.bfsu.edu.cn;
18 }
19
20 location / {
21 proxy_pass https://mirrors.bfsu.edu.cn;
22 }
23 }
24}
启动 Nginx 与配置客户机
- 测试配置文件有效性:
sudo nginx -t
- 启动 Nginx:
sudo systemctl enable --now nginx
- 在客户机的
/etc/pacman.d/mirrorlist
中加入缓存主机(放在第一条,第二条可以写入其他镜像作为后备)Server = http://<IP>/archlinux/$repo/os/$arch