libssh2 在 RHEL 8 上通过模块化过滤被过滤掉

libssh2 在 RHEL 8 上通过模块化过滤被过滤掉

1.9libssh2无法从 RHEL 8.1 及更高版本上的 EPEL 存储库安装(在 RHEL 8.3 上测试):

# dnf --enablerepo=epel install libssh2-1.9.0
...
All matches were filtered out by modular filtering for argument: libssh2-1.9.0
Error: Unable to find a match: libssh2-1.9.0

其他 EPEL RPM 可以毫无障碍地安装。

如何libssh2在不下载并本地安装的情况下安装它?

答案1

最简单的方法就是绕过模块过滤。

编辑/etc/yum.repos.d/epel.repomodule_hotfixes=1在该[epel]部分下添加行。

完毕。安装将会成功。

然而,上述解决方案可能过于宽泛。另一种方法是module_hotfixes仅在命令中通过以下方式设置--setopt

dnf --enablerepo=epel --setopt=epel.module_hotfixes=true install libssh2-1.9.0

答案2

1.8 RPMlibssh2曾经是 RHEL 8.0 的一部分。但是libssh2-devellibssh2-docs从未包含在 RHEL 中,而是在 EPEL 中提供。这使此软件包的可用性变得复杂。因此,从 RHEL 8.1 开始,它也被移至 EPEL。但是,它并未从存储库的元数据文件libssh2中删除。这就是问题所在。modules.yamlrhel-8-for-x86_64-appstream-rpms

如果要安装EPEL版本,需要暂时禁用AppStream存储库:

# dnf --enablerepo=epel --disablerepo=rhel-8-for-x86_64-appstream-rpms install libssh2-1.9.0

然后安装就通过了。

RHEL 8.3 安装 DVD ISO 上提供的模块元数据不知道,libssh2当该介质用作存储库时,您将不会遇到此问题。

红帽已意识到该问题: https://bugzilla.redhat.com/show_bug.cgi?id=1805260

CentOS 8.1+ 可能也会受到影响,但我还没有检查过。

相关内容