openEuler 离线装 nmap 太折腾?一个包通吃 24.03/24.09/25.x 全系列,实测 1 分钟搞定(附下载)
内网机器、离线环境装 nmap,你是不是也经历过这些:
dnf install nmap卡在刷新源半小时不动;精简系统连tar命令都没有;好不容易把包拷过去,rpm又报一堆 Failed dependencies……
这篇文章分享一个 openEuler 24.03 及以后全系列通用 的 nmap 离线整包:只有 3 个 RPM + 一键安装脚本,实测 1 分钟装完,直接看文末实测截图。
一、适用环境(先确认你的机器)
- 操作系统:openEuler 24.03 及以后(含 24.03 GA / SP1 / SP2 / SP3、24.09、25.03 等所有 openssl 3.0 时代版本)
- 架构:x86_64
- 场景:内网 / 离线 / 无外网环境
确认命令:
cat /etc/openEuler-release
uname -m
如果是 openEuler 20.03 / 22.03(openssl 1.1.1 时代老系统),需要另用对应的老版本整包(文末有说明)。
二、为什么这个包能"通吃"这么多版本?
关键在 nmap 依赖什么库。nmap 运行需要这些:
| 依赖库 | 谁提供 | 需要打包吗 |
|---|---|---|
| glibc 2.38 | 系统预装 | ❌ |
| openssl 3.0(libcrypto.so.3) | 系统预装 | ❌ |
| pcre2(正则) | 系统预装 | ❌ |
| zlib | 系统预装 | ❌ |
| GCC 运行时(libstdc++/libgcc) | 系统预装 | ❌ |
| libpcap(抓包库) | 系统不预装 | ✅ |
| libssh2(SSH 支持) | 系统不预装 | ✅ |
所以整包只需要 3 个 RPM:nmap + libpcap + libssh2。安装时全部是"新增安装",不升级、不覆盖系统已有库,因此不会触发版本冲突——这就是能通吃 24.03 全系、24.09、25.x 的根本原因。
包内结构:
nmap-offline-universal/
├── install.sh 一键安装(自动校验 + 安装 + 验证)
├── README-安装说明.txt
└── rpms/
├── SHA256SUMS 官方校验清单
├── nmap-7.94-5.oe2403.x86_64.rpm
├── libpcap-1.10.4-1.oe2403.x86_64.rpm
└── libssh2-1.11.0-2.oe2403.x86_64.rpm
三、下载
夸克网盘(推荐,直接转存下载):
https://pan.quark.cn/s/d390772ed8fb
文件名:nmap离线包及一键安装脚本-欧拉openEuler-24.03及以后通用-x86_64.tar.gz(约 6.6MB)
四、安装步骤(三步搞定)
第 1 步:把整包拷到目标机器
U 盘、scp、内网 FTP 都行。
第 2 步:解压
tar -xzf nmap离线包及一键安装脚本-欧拉openEuler-24.03及以后通用-x86_64.tar.gz
精简系统没有
tar命令?用 python3 一样解压(有 dnf/rpm 就一定有 python3):python3 -c "import tarfile; tarfile.open('nmap离线包及一键安装脚本-欧拉openEuler-24.03及以后通用-x86_64.tar.gz').extractall()"
第 3 步:一键安装(root 执行)
cd nmap-offline-universal
./install.sh
脚本自动完成:环境检查 → 包完整性校验(SHA-256)→ rpm 安装 → 验证 nmap。
第 4 步:验证
nmap --version
nmap -sV 127.0.0.1
五、实测截图(openEuler 24.03 GA 真机验证)
以下是在 openEuler 24.03 (LTS) 机器上的完整安装过程:解压 → 校验 3 个包全部 OK → 安装 → 验证 Nmap 7.94 → 安装成功!

六、避坑记录(都是真实踩过的)
坑 1:dnf install 离线卡死,Waiting for process with pid xxx to finish
离线机器上 dnf 会一直卡在刷新软件源(makecache)。结论:离线装包用 rpm,不要用 dnf。 卡死后清理后台进程:
pkill -f makecache
systemctl disable --now dnf-makecache.timer # 可选,禁止自动刷新源
坑 2:tar: 未找到命令
精简系统没装 tar,用上面的 python3 一行命令解压即可。
坑 3:装过的包再跑脚本报"失败"?其实是误报
rpm 有个特性:命令行里出现已安装的包时,rpm -Uvh 会返回退出码 6(RPMRC_ALREADYINSTALLED)并中断事务。如果脚本直接拿 rpm 退出码判断成败,就会在"包早就装好"的情况下误报失败。
本包的 install.sh 已修复这个问题:以 nmap 命令是否可用为最终标准,包已装就跳过、缺哪个补哪个,任何状态下重跑都不会误报。
坑 4:NOKEY 警告
安装时看到 warning: ... NOKEY 是未导入 openEuler 官方 GPG 公钥的提示,不影响安装。想消除可执行:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-openEuler
坑 5:20.03 / 22.03 老系统怎么办?
openEuler 底层库分两个时代:20.03/22.03 用 openssl 1.1.1,24.03 以后用 openssl 3.0,两者 ABI 不兼容,无法用同一个包。老系统需要对应的老版本整包(nmap 7.80 + 配套依赖),同样是一键安装。
七、总结
离线装 nmap 的正确姿势:
- 确认系统版本(
cat /etc/openEuler-release)和架构(uname -m) - 24.03 及以后 → 用本文整包;20.03/22.03 → 用老版本整包
- 解压 →
./install.sh→nmap --version - 记住:离线用 rpm,不碰 dnf
整包只有 6.6MB,3 个 RPM 一个不少,实测 1 分钟装完。觉得有用点个收藏,下次内网装机直接翻这篇。
本包内 RPM 均来自 openEuler 官方仓库,安装前脚本会自动做 SHA-256 完整性校验。
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐



所有评论(0)