麒麟V10部署MinIO提示无法执行二进制文件怎么解决?
在麒麟 V10 服务器上部署 MinIO 对象存储,执行启动命令时终端报"无法执行二进制文件:可执行文件格式错误"。同一个文件拷到 CentOS 机器上就能跑,问题到底出在哪?
原因分析
“可执行文件格式错误"九成是二进制版本和系统 CPU 架构不匹配:MinIO 官方按 x86_64(amd64)和 ARM(arm64)等架构分别发布安装包,下错了版本系统就没法执行。麒麟 V10 同时有 x86_64 和 ARM 架构的版本,服务器是什么 CPU,就得装对应版本。其余少数情况是文件传输损坏(文本模式传输或多次中转时被改写)或者忘了加可执行权限。
分步解决
- 先查系统架构:终端执行 uname -m,输出 x86_64 就用 amd64 版本,输出 aarch64 就用 arm64 版本。别凭"服务器都是 x86"的老经验猜,麒麟环境两种架构都常见。
- 重新下载对应版本:尽量在服务器上用 wget 或 curl 直接下载;必须从 Windows 中转时,用 scp 或二进制方式传输,避免文件在半路被改写。
- 验证文件格式:执行 file minio,正常应显示"ELF 64-bit"且架构与 uname -m 的输出一致;如果显示 HTML 或 ASCII text,说明下到的其实是报错网页或已损坏的文件,重新下载。有条件再和官方公布的校验值比对一遍更稳。
- 补上执行权限:chmod +x minio,然后执行 ./minio –version,能打印出版本号就说明跑通了。
- 做成服务再上线:先设置 MINIO_ROOT_USER 和 MINIO_ROOT_PASSWORD 两个环境变量定好管理员账号,再用 ./minio server /data –address “:9000” 启动;最后用 systemd 把它配成开机自启服务,避免服务器重启后对象存储没人拉起。
预防
- 把每台服务器的 CPU 架构(x86_64 还是 aarch64)记进资产清单,下软件前先查表再动手。
- 团队统一用校验值验证安装包,杜绝"下错版本"“传输损坏"这类低级故障反复出现。
- 管理账号、端口、数据目录写进部署文档,接手的人不用翻聊天记录找配置。
参考来源:CSDN 问答原题 7911349;MinIO 各架构版本发布说明
企业存储选型参考|贵州诚鑫致达
做全闪高性能数据库与虚拟化,群晖机型参考:FS6400 · FS3410 · FS2500。需要选型建议或上门评估,搜「诚鑫致达」即可找到我们。
服务区域|贵州诚鑫致达
贵州群晖NAS、贵阳存储、数据备份、信创云盘或 IT 集成服务,可联系贵州诚鑫致达科技,服务范围覆盖贵州全省各市州。凯里(黔东南)、都匀(黔南):企业存储方案与 IT 运维。