我的 DNF 存储库(Fedora37)不再起作用。我想我需要重新安装/修复它。我可以重新安装一个新的 Fedora dnf 存储库吗?

我的 DNF 存储库(Fedora37)不再起作用。我想我需要重新安装/修复它。我可以重新安装一个新的 Fedora dnf 存储库吗?

昨天,我将 Fedora35 升级到了 Fedora37。升级之前,系统通知我,python2.7(我故意保留在 Linux 机器上)将被删除。我对此犹豫不决(我们仍有运行旧版本的产品,因此我们必须保留对 Python2.7 的支持)。

我决定无论如何都要升级,然后重新安装 Python2.7。我成功完成了所有操作(我认为)。我重新创建了符号链接以使用 Python3.8 + Python2.7(我也有 Python3.11)。我可以成功启动任一 Python shell。从我昨天的记忆中(从那时起我就睡着了),我第一次发现有问题的线索是当我去做一个简单的“dnf 列表”时,Fedora 说它找不到这个文件:“libpython3.10.so.1.0”。这完全出乎意料,因为我甚至没有安装 Python3.10(那么它为什么要寻找它呢)。

我现在记不清之后我采取了哪些步骤,因为从那时起我在网上查找并尝试了几种方法。这让我想到了现在的情况。当我尝试使用 dnf 命令(或 yum)执行任何操作时,我都会收到如下错误消息:dnf clean expire-cache

回溯(最近一次调用):文件“/usr/bin/dnf”,第 61 行,来自 dnf.cli 导入主文件“/usr/lib/python3.8/site-packages/dnf/在里面.py”,第 30 行,在导入 dnf.base 中。。。。文件“/usr/lib/python3.8/site-packages/dnf/yum/rpmtrans.py”,第 26 行,在导入 rpm 中 ModuleNotFoundError:没有名为‘rpm’的模块

我在“/usr/lib/”+“/usr/lib64/”目录中查找了 rpm.py。我在这里看到了“rpm.py”文件:/usr/lib/python3.8/site-packages/sos/policies/package_managers/rpm.py /usr/lib/python3.8/site-packages/sos/report/plugins/rpm.py /usr/lib/python3.11/site-packages/sos/policies/package_managers/rpm.py /usr/lib/python3.11/site-packages/sos/report/plugins/rpm.py

由于 Python 回溯表明“/usr/lib/python3.8/site-packages/dnf/yum/rpmtrans.py”中的导入失败,我已将上面的“rpm.py”文件复制到其他几个 Python3.8 目录中,希望在 dnf repo 需要时可以找到它(并导入)。我已手动将“rpm.py”文件复制到此处:/usr/lib/python3.8/site-packages/dnf/rpm/rpm.py /usr/lib/python3.8/site-packages/dnf/yum/rpm.py

但是,我似乎无法解决这个问题。我在网上搜索过如何重新​​安装一个新的 dnf/yum 存储库,但大多数搜索结果都讨论重新安装软件包(而不是整个存储库)。我想我需要一个全新的 dnf/yum 存储库,因为我想从头开始使用一个全新的 dnf/yum 存储库,然后逐一安装我需要的各种软件包。

如果没有必要的话,我宁愿不必重新安装整个操作系统。

感谢您阅读到这里,并提前感谢您的任何帮助。

相关内容