Rawhide 造成了麻烦,所以我决定删除它,我备份了原来的仓库列表名称。原来的仓库列表看起来像这样
fedora-cisco-openh264.repo rpmfusion-free.repo
fedora-rawhide.repo rpmfusion-free-updates.repo
fedora.repo rpmfusion-free-updates-testing.repo
fedora-spotify.repo rpmfusion-nonfree-rawhide.repo
fedora-updates.repo rpmfusion-nonfree.repo
fedora-updates-testing.repo rpmfusion-nonfree-updates.repo
google-chrome.repo rpmfusion-nonfree-updates-testing.repo
rpmfusion-free-rawhide.repo
我删除了其中的一些,认为通过删除 rawhide 并测试存储库,我的系统将只搜索稳定的软件包。通过删除,我的意思是我做了rm /etc/yum.repos.d/repo
,然后dnf clean all
没有其他命令。我的新仓库列表是:
fedora-cisco-openh264.repo rpmfusion-free-updates.repo
fedora.repo rpmfusion-free-updates-testing.repo
fedora-spotify.repo rpmfusion-nonfree-rawhide.repo
fedora-updates.repo rpmfusion-nonfree.repo
google-chrome.repo rpmfusion-nonfree-updates.repo
rpmfusion-free.repo rpmfusion-nonfree-updates-testing.repo
现在,我做不到sudo dnf update
,也做不到sudo dnf reinstall fedora-release
。我收到这个错误Error: Failed to synchronize cache for repo 'fedora'kB/s | 491 kB 41:01 ETA
我的问题是:
- 我需要恢复哪个存储库以及如何恢复它?
- 是否有一些测试存储库我可以安全删除?
答案1
这不是删除存储库的正确方法,通常存储库来自包,因此删除存储库就是找到它所属的包的问题。
$ rpm -qf /etc/yum.repos.d/repository.repo
如果存储库文件属于某个包,则上面的命令将告诉该包是什么。
其次,不需要删除任何东西,可以禁用存储库。您可以使用以下命令来了解当前启用了哪些存储库。
$ sudo dnf repolist
您可以使用以下命令来禁用存储库。
$ sudo dnf config-manager --set-disabled <repository>
对于您的问题,该错误消息与缺少存储库无关,并且与网络(dns、缓存等)有关。
您应该启用的最低存储库是fedora
和fedora-updates
。
答案2
我要感谢斯拉吉尼坎用于指示这是与镜像相关的错误。我最终通过添加到fastestmirror=1
来修复它/etc/dnf/dnf.conf
。我将接受他的回答,因为他的努力帮助我解决了问题。