使用SFTP上传一个Go打包的程序到服务器上执行,抛出错误segmentation fault

./wallhaven -h                                          
[1]    23282 segmentation fault  ./wallhaven -h

检查了下平台是Linux,架构是amd64都没有问题,本地执行也没有问题

对比一下本地和服务器上文件的MD5

# 本地程序文件
➤ md5sum wallhaven
b015722715e62a7a0fa3e319383fd5b9  wallhaven

// 服务器上文件
➤ md5sum wallhaven                                                                                                                                                                                                                            
f123c461bfff49211dd8d3708683f24b  wallhaven

文件指纹居然不一致,再次使用SFTP上传后检查发现依旧不一致,查询一下文档发现SFTP的传输模式区分

  • 二进制传输模式
  • Ascii

以Ascii模式传输就容易出现这种问题,改用SCP传输后文件指纹就一致了