两点容易踩坑:一是目录名各家不统一,阿里云用 rockylinux,其余用 rocky;二是 Rocky 的注释是「#baseurl=」而 AlmaLinux 是「# baseurl=」(井号后带一个空格),sed 表达式不能互换。清华 TUNA、北外 BFSU 两家均未镜像 Rocky / AlmaLinux,网易未镜像 AlmaLinux,故对应选项不显示。
for file in /etc/yum.repos.d/[Rr]ocky*.repo; do
[ -f "$file" ] || continue
[ -e "$file.bak" ] || sudo cp "$file" "$file.bak" || exit 1
done
sudo sed -i \
-e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^#baseurl=http://dl.rockylinux.org/\$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g' \
/etc/yum.repos.d/[Rr]ocky*.repo
sudo dnf clean all && sudo dnf makecache for file in /etc/yum.repos.d/almalinux*.repo; do
[ -f "$file" ] || continue
[ -e "$file.bak" ] || sudo cp "$file" "$file.bak" || exit 1
done
sudo sed -i \
-e 's|^mirrorlist=|#mirrorlist=|g' \
-e 's|^# baseurl=https://repo.almalinux.org|baseurl=https://mirrors.aliyun.com|g' \
/etc/yum.repos.d/almalinux*.repo
sudo dnf clean all && sudo dnf makecache baseurl=https://mirrors.aliyun.com/rockylinux/$releasever/BaseOS/$basearch/os/
baseurl=https://mirrors.aliyun.com/rockylinux/$releasever/AppStream/$basearch/os/ baseurl=https://mirrors.aliyun.com/almalinux/$releasever/BaseOS/$basearch/os/
baseurl=https://mirrors.aliyun.com/almalinux/$releasever/AppStream/$basearch/os/ dnf repolist -v | grep -E 'Repo-id|Repo-baseurl'