MirrorCache
下载重定向工具与 Metalink 生成器
为 openSUSE 下载
软件包包名:MirrorCache
发行商: openSUSE
开发者: Andrii Nikitin, Elisei Roca
许可证: GPL-2
网站: https://www.mirrorcache.org/
关于
MirrorCache 是一个利用镜像服务器运行内容分发网络(CDN)的开放源代码框架。它补足了旧时 MirrorBrain 缺乏的功能。
主要特性
- 开放源代码
- 基于 Mojolicious 框架与 Minion 模块实现的异步作业队列与智能调度
- 提供动态渲染的 WebUI,支持镜像列表与作业管理功能,无需定时生成用于下载前端的静态文件。
- 无文件架构,仅记录文件链接,跳转器本身无需访问镜像中的物理文件或创建占位空文件,减轻数据库负担。
- 跟踪镜像的 HTTP / HTTPS 以及 IPv4 / IPv6 可用性,并相应地路由用户请求
- 地理集群支持,通过区域实例就近扫描特定地区可用镜像
- Metalink 生成
更多特性,请参阅官方文档(英语),与 MirrorBrain 的区别请参阅此处。
拓扑
使用 MirrorCache 不需要做任何额外操作。因为 MirrorCache 已经成为 openSUSE 进行下载重定向的标准方式。这也意味着可以像往时一样,在 Zypper 软件库配置文件的 baseurl 字段中继续使用 download.opensuse.org
。
为了尽可能为世界各地的用户减少延迟(尤其是在系统升级的时候),我们部署了数个 MirrorCache 区域实例,主要服务于 全球 openSUSE 社区用户,并增强软件下载体验。当前的顶层部署结构如下:
- mirrorcache-eu.opensuse.org - 欧洲镜像群;
- mirrorcache-us.opensuse.org - 北美镜像群;
- mirrorcache-br.opensuse.org - 南美镜像群;
- mirrorcache-au.opensuse.org - 大洋洲镜像群;
- mirrorcache-jp.opensuse.org - 日本镜像群;
- mirrorcache.opensuse.org - 其他地区镜像群。此外它还会将上述区域的用户重定向到相应地区的实例。
各区域还可以拥有次级 MirrorCache 实例,以更好地覆盖特定区域,减少用户与服务器间的距离,因而可以更好地减低延迟
此功能的实现归功于 libzypp 中实施的 GeoIP 功能。默认情况下,用户应已在配置文件 /etc/zypp/zypp.conf
中启用此功能:
download.use_geoip_mirror = true
大多数时候,向 download.opensuse.org 发起的请求将会被重写,尽可能定向到相应的区域性 MirrorCache 实例。
你可以在这个页面检查 Zypper 当前应将请求重定向到哪一个区域实例。
故障排除
多数情况下,最好先查看 /var/log/zypper.log
中的内容,同时检查 curl -IL
对特定产生问题的 URL 的具体输出,例如:
user $
curl -IL https://download.opensuse.org/distribution/leap/15.3/iso/openSUSE-Leap-15.3-DVD-x86_64-Current.iso
如何获得帮助
- libera.chat 的 #opensuse-admin 聊天室通常有人在线,可以尝试聊聊你的问题;
- 对于反复出现或持续存在的下载问题,你可以向 openSUSE 英雄团队发送工单反馈邮件,他们是 openSUSE 网络基础设施的系统管理员。
- 对于软件相关的问题,你还可以向 GitHub 仓库提交缺陷报告(Issue)。