如何让 openSUSE 的更新源强制 HTTPS?

我知道 HTTPS 对于 zypper/yast 并不重要,但是我还是希望在进行软件/快照更新时使用 HTTPS 协议。

我在 Yast 软件源配置中将所有的软件源都更改为 HTTPS 获取,但在下次 zypper -dup 时,就会再次变回 HTTPS。

有方法能够 “锁定” 使用 HTTPS 吗?

是指的会变回 HTTP 吗,有两种可能,一个是你用的镜像站会主动给你 fallback 到 http 以节省开销。一个是你的 HTTPS 连接超时只能回落到 HTTP,具体要看你的 zypp 的日志了

1赞

确切来说:获取源码和更新(下载软件包)时没有问题,但在更新结束后就会自动 fallback 到 http。

我使用 openSUSE Tumbleweed 的官方源。

我稍后看一下日志(在手机上回复的)。

如果你遇到的症状是刷新软件源后,已更改的链接变回 HTTP,则还有一种可能,且内在原因稍显复杂:

系统可能正在通过 RIS(仓库索引服务)统一管理软件源,这会导致软件源链接一直跟随云端,每次刷新时就会覆盖本地更改。

可以检查系统是否安装有名为 openSUSE-repos-发行版名称(Slowroll/MicroOS/Tumbleweed 等)的包,如果有,代表 RIS 已启用。

RIS(仓库索引服务) 于去年向 openSUSE 三个滚动版本推出,主要是为了方便部署者统一添加官方源和其他关键软件源(比如英伟达显卡源)而设,同时也是为了配合 CDN 的负载均衡。因为有些地区用户反馈 HTTPS 握手失败的问题偏多,这个服务当前默认采用 HTTP 连接到 cdn.o.o,且无法手动更改指向和链接列表(相关的 PR 至今仍存在问题,尚未合并),灵活性目前是打了折扣的。

如果确实是因为 RIS 导致仓库链接频繁变回 HTTP ,可以考虑使用 官方 GitHub 自述 介绍的方法回退到传统的本地软件源模式。等待功能改进后再装回来也不迟。

2赞

谢谢٩۹(๑•̀ω•́ ๑)۶
确实有在用 RIS(有这些包)。

本主题在最后一个回复创建后60分钟后自动锁定。不再允许添加新回复。