netcat (nc) 实用程序有两个版本:netcat-openbsd 和 GNU netcat。例如,在某些发行版(如 Debian 或 Arch)中,用户可以选择要安装哪个版本的软件包。我在互联网上搜索,但没有找到如何将 netcat-openbsd 安装到 RHEL 或 CentOS 系统中。
如果除了从源代码编译软件包之外,在这样的系统上还有可能做到这一点,我将非常感激这些信息。谢谢。
答案1
TL;DR:为 RHEL 手动编译 netcat-openbsd 包似乎是目前唯一的方法。
截至撰写本文时,RHEL 7 和 8(以及其衍生产品和下游产品)仅提供 Nmap ncat 作为 nmap-ncat 包的一部分。错误 #1653119,我已经成功请求 RHEL 8(RHEL 7 未成功),该请求/usr/bin/nc
获取可以使用update-alternatives
(和使用)进行管理的符号链接公关#5希望这也应该可以加入到 RHEL 9 中。当 Red Hat 决定从 netcat-openbsd 切换到 nmap-ncat 时,我最初的动机是解决不兼容性问题,但当 nmap-ncat 修复了这些问题后,我对恢复 netcat-openbsd 的兴趣就降低了。并且根据错误 #1321136至少还有一些其他人士对 OpenBSD netcat 感兴趣,但最终看来 Red Hat 客户的需求并不够。
从 EPEL 软件包维护者的角度来看,我不知道来自知名公共存储库的 netcat-openbsd RPM 软件包(是的,我可能不知道那里的所有存储库),但对于nmap-ncat 近期许可证不确定性,我又回到了这个话题。考虑到我需要 TLS 支持nc
(这依赖于 OpenBSD 上的 libtls),我同时打包了自由传输协议(为 OpenSSL 提供 libtls)目前正在等待包裹审核。下一步将是 OpenBSD netcat 本身,但我不会为此抱太大希望,这取决于当时软件包审查期间可能出现的问题。如果我没有忘记,我也会在这里添加对软件包审查的引用。因此,如果您确实需要它,自己构建它可能是唯一的方法。
编辑 #1:LibreTLS 通过了软件包审查,正在进入存储库,与此同时,OpenBSD netcat等待包裹审核。
编辑#2:OpenBSD netcat 同时已进入 EPEL 7 和 8 稳定存储库,因此yum install netcat
应该可以完成这项工作(一旦启用 EPEL 存储库)。