我正在使用 Fedora 25。我正在尝试使用该sudo dnf install gcc
命令在 fedora25 上安装 gcc。它总是显示:
错误:无法为 repo 'updates' 同步缓存
当我尝试安装其他软件包时,我也遇到了同样的错误。我究竟做错了什么?
我也遇到了这个。添加详细标志显示$releasever
未在 url 中设置。自己检查一下dnf update -v
在输出中查找这些行:
Cannot download 'https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=x86_64': Cannot prepare internal mirrorlist: file "repomd.xml" was not found in metalink.
Error: Failed to synchronize cache for repo 'fedora'
我用dnf clean all && dnf update --releasever=25
. 这将覆盖$releasever
您提供的那个。之后,我能够再次更新和安装 rpms。
在/etc/dnf/dnf.conf
确保:
zchunk=false
这可以通过一些镜子修复它,尤其是 Yandex 之一。
在安装之前尝试清理和更新解决了我的问题:
dnf 清除所有
dnf更新
dnf 安装 gcc
当我在前往另一个国家/地区时尝试进行更新时,我遇到了类似的问题(出现相同的错误消息)。我回来后,它自动解决了,我能够更新并再次正常执行所有操作。
您可以尝试在其他问题的评论中使用答案,建议使用
yum-deprecated update
否则,此错误可能意味着您需要更改指向镜像的本地链接,方法是
dnf --refresh upgrade
在这里回答或手动回答您现在正在使用此网址中的说明的内容: https ://www.cyberciti.biz/tips/rhel5-fedora-core-add-new-yum-repository.html
我正在使用 Fedora 30。将 Fedora 29 升级到 30 后,我遇到了与“无法同步缓存以进行 repo 更新”相同的问题。我尝试了以下方法,它解决了我的问题。
sudo dnf distro-sync
sudo dnf autoremove
由于我所在地区(俄罗斯)的一些互联网审查/限制,这个问题发生在我身上。尝试使用-v
标志(长散列被缩短):
error: Downloading successful, but checksum doesn't match.
Calculated: 1968~51f5(sha512) 1968~51f5(sha512)
Expected: 0d18~d874(sha512) 512d~f41e(sha512)
(http://mirror.linux-ia64.org/fedora/linux/updates/30/Modular/x86_64/repodata/repomd.xml).
然后我启用了 VPN 并重试dnf update
了命令,现在一切正常。
UPD:人们说这可能是由于fastestmirror=True
设置在/etc/dnf/dnf.conf
. 我不认为这是我的情况,因为我的配置文件中没有这样的设置,并且默认fastestmirror
设置为False
.
我试过这个并解决了我的问题。
$sudo dnf repolist
我从 29 升级到 30 时也发生了同样的事情。我按照https://fedoramagazine.org/upgrading-fedora-29-to-fedora-30/进行了修复,然后
dnf distro-sync --allowerasing --releasever=30
就我而言,代理服务器对 CONNECT 方法 + https 响应 content-length:0。feodra26 的 libcurl 关闭了 content-length:0 的连接。
Http 而不是 https 工作。但是该软件包是旧版并已移至存档。存档仅适用于 https 站点。
UH 数学网站提供了镜像 fadora26。我通过使用带有http的站点解决了它。