虽然 openSUSE 官方的说明中表示,使用 zypper 更新系统的时候,会根据地理位置自动选用较近(通常速度也较快)的镜像站点来下载更新包。实际使用过程中似乎并不是这样的。
最近这段时间更新 openSUSE 经常遇到错误,不管是 Leap 15.4 还是 Tumbleweed 都这样。类似于,
Retrieving repository 'Update repository with updates from SUSE Linux Enterprise 15' metadata .......................................................[error] Repository 'Update repository with updates from SUSE Linux Enterprise 15' is invalid. [repo-sle-update|http://download.opensuse.org/update/leap/15.4/sle/] Valid metadata not found at specified URL History: - [|] Error trying to read from 'http://download.opensuse.org/update/leap/15.4/sle/' - Download (curl) error for 'http://download.opensuse.org/update/leap/15.4/sle/content': Error code: Curl error 56 Error message: Recv failure: Connection reset by peer
偶尔用代理的情况下又可以更新成功。开始我还以为是网站被墙了。
转头一想,不对啊,为什么没有使用比较近的镜像源来更新,而非要连到官方的主服务器呢?我记得之前还听说过几次主服务器因为访问量过大而拥堵的情况。看来 zypp.conf
里面设定的使用优先使用地理邻近的镜像源的情况并没有起作用。于是搜了搜,找到了手动更换源地址来使用 MirrorCache 的说明,原来是需要自己将系统中的源配置文件中的地址给改了才行。
下面的指令可以查询当前源的地址,
grep baseurl /etc/zypp/repos.d/*.repo
如果要批量改成 https://mirrorcache.opensuse.org/,则可以使用下面的指令,
sudo sed -i "s,http://download.opensuse.org,https://mirrorcache.opensuse.org,g" /etc/zypp/repos.d/*.repo
注意看,这个 mirrorcache 的地址是使用了加密连接 HTTPS 的。现在更新起系统来终于飞快了。虽然以前也不算慢,可是想想自己给官方源的服务器造成了那么多不必要的压力,就感觉很愧疚。©
本文发表于水景一页。永久链接:<https://cnzhx.net/blog/update-opensuse-from-mirrorcache/>。转载请保留此信息及相应链接。
引用通告: 升级 openSUSE Leap 15.3 到 Leap 15.4 | 水景一页
哥,有没有办法和https://review.tumbleweed.boombatower.com/about.html
有没有法和这个一起用呢?
可以的。不过有些镜像站点没有同步 history 那个文件夹。