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.repo
并module_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-devel
,libssh2-docs
从未包含在 RHEL 中,而是在 EPEL 中提供。这使此软件包的可用性变得复杂。因此,从 RHEL 8.1 开始,它也被移至 EPEL。但是,它并未从存储库的元数据文件libssh2
中删除。这就是问题所在。modules.yaml
rhel-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+ 可能也会受到影响,但我还没有检查过。