Centos8/RHEL8 - 如何使用 dnf 安装缺少依赖项的软件包?

Centos8/RHEL8 - 如何使用 dnf 安装缺少依赖项的软件包?

Centos8,尝试安装mimedefang

dnf install mimedefang

- nothing provides perl(Digest::SHA1) needed by mimedefang-2.84-5.el8.x86_64
- nothing provides perl(IO::Stringy) >= 1.212 needed by mimedefang-2.84-5.el8.x86_64

据我所知,这两个依赖项在任何存储库中都不存在。它们是在 Meta::CPAN 维护的 Perl 软件包。我使用 cpan 而不是 dnf 安装它们。

cpan install Digest::SHA1
cpan install IO::Stringy

然而dnf/rpm不知道这一点,仍然拒绝安装mimedefang。我尝试使用--skip-broken--nobest--best仍然无法安装。

看在上帝的份上,你如何告诉dnf安装呢?让 dnf 确认这两个依赖项已安装,还是忽略这两个依赖项?我不想告诉 dnf/rpm 忽略所有依赖项,因为还有许多其他依赖项需要安装并且在 dnf 中可用。

答案1

删除通过 CPAN 安装的文件并启用 CentOS PowerTools 存储库:

   sudo dnf config-manager --set-enabled PowerTools

然后 mimedefang 将毫无问题地安装。

如果您通过 CPAN 安装,您可能会很难从 PowerTools 安装这些软件包,这就是为什么您应该绝不通过 CPAN 安装,除非您在备用目录(如 /opt)中进行安装。如果您需要帮助恢复损坏的 Perl 安装,请告诉我们。

相关内容