大概就是一个oneshot的systemd service用来运行reflector,然后一个timer定时运行这个service,reflector从archlinuxcn-mirrorlist-git吃进镜像列表,然后吐到另一个文件里(这样mirrorlist就永远都是最新的,不会有pacnew的问题),然后pacman.conf里Include这个新mirrorlist(当然这一步就要用户手动了)。
然后可以给archlinuxcn-mirrorlist-git加个hook,每次更新自动跑一次reflector。
感觉做起来相当简单的说,但是aur和archlinuxcn好像似乎大概都没有这种包,令人感到很惊讶……
所以archlinuxcn可以考虑加一下这种吗?
最近编辑记录 yw662 (2020-07-11 14:40:48)
ecmascript是世界上最好的语言
离线
你可以开一个这样的项目。
我个人感觉是不太有用。不同镜像不光有访问速度的差异,还有更新时间的区别,以及建议给压力大的镜像减负。
倒不如把我的 pacsync 方案整理一下。
离线
美帝用户表示我们这边还是有点需求……
话说仙子的pacsync具体是什么样的方案
ecmascript是世界上最好的语言
离线
美帝用户表示我们这边还是有点需求……
话说仙子的pacsync具体是什么样的方案
直接去用 Berkeley 或者 xtom 啊。
pacsync 就是用更新最快的镜像同步数据库,优先使用下载最快、压力最小的镜像下包文件。
一个特别简单的小脚本配合专门的镜像配置文件:
#!/bin/bash -e
unshare -m bash <<'EOF'
mount --make-rprivate /
for f in /etc/pacman.d/*.sync; do
filename="${f%.*}"
mount --bind "$f" "$filename"
done
pacman -Sy
EOF
离线