每当我sudo dnf
在 Fedora 36 上安装软件包时,总会出现以下消息:
European Southern Observatory RPM repository fo 0.0 B/s | 0 B 00:06
Errors during downloading metadata for repository 'esorepo':
- Curl error (9): Access denied to remote resource for ftp://ftp.eso.org/pub/dfs/pipelines/repositories/stable/fedora/36/x86_64/repodata/repomd.xml [Server denied you to change to the given directory]
Error: Failed to download metadata for repo 'esorepo': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
Ignoring repositories: esorepo
之后,终端输出看起来正常,并显示与我要安装的包相关的输出,但前面的消息很烦人。有什么建议么?
答案1
根据其文档,该esorepo
存储库目前仅支持 64 位架构的 Fedora 33 至 35、CentOS 7 和 Scientific Linux 7 (SL 7)。
因此,您应该从包管理器配置中禁用或删除esorepo
存储库,因为在存储库添加对 Fedora 36 的支持之前,它对您来说毫无用处。
要禁用esorepo
存储库(以便稍后在添加 Fedora 36 支持时重新启用它):
sudo dnf config-manager --disable esorepo
要删除存储库的定义esorepo
,请查看您的/etc/yum.repos.d/
目录,找到.repo
定义esorepo
存储库的文件,然后将其删除。 (如果rpm -qf /etc/yum.repos.d/esorepo.repo
指示存储库文件是由特定 RPM 包安装的,您可能需要卸载该 RPM 包,以更干净地实现相同的效果。)
风险由您自行承担,您可以尝试编辑该/etc/yum.repos.d/esorepo.repo
文件以引用 Fedora 35 的软件包,因为ftp.eso.org
服务器还没有 Fedora 36 的目录。
esorepo.repo
您需要更改文件中的两行:
baseurl=ftp://ftp.eso.org/pub/dfs/pipelines/repositories/stable/fedora/$releasever/$basearch
和
gpgkey=ftp://ftp.eso.org/pub/dfs/pipelines/repositories/stable/fedora/$releasever/$basearch/eso-pubkey.asc
在这两行中,您都需要将 替换$releasever
为35
。这将导致包管理器查看 esorepo 的 Fedora 35 目录,而不是尝试访问 Fedora 36 不存在的目录。
然后,您必须小心,仅将任何软件包安装到容器esorepo
中fedora-toolbox-35
(就像您在评论中提到的那样),而不是安装到 Fedora 36 主机操作系统中。