Rhel
libssh2 通過 RHEL 8 上的模組化過濾過濾掉
libssh2
無法從 RHEL 8.1 和更高版本的 EPEL 儲存庫安裝 1.9(在 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
不下載和本地安裝的情況下安裝?
最簡單的方法是繞過模組過濾。
在該部分下編輯
/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
libssh2
1.8 RPM 曾經是 RHEL 8.0 的一部分。但是libssh2-devel
,並且libssh2-docs
從未包含在 RHEL 中,而是在 EPEL 中提供。這使該軟體包的可用性變得複雜。因此,從 RHEL 8.1libssh2
開始,也被移至 EPEL。但是它沒有從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
,當此媒體用作儲存庫時,您不會遇到此問題。Red Hat 意識到了這個問題: https ://bugzilla.redhat.com/show_bug.cgi?id=1805260
CentOS 8.1+ 可能也受到影響,但我沒有檢查。