解决:cannot execute binary file

linux系统下遇到cannot execute binary file的问题,通常由如下状况形成:linux

  1. 非root用户或者无执行权限
  2. 编译环境不一样(程序由其余操做环境复制过来)

对于第一种状况,采用增长执行权限便可chmod +x programcentos

对于第二种状况,建议将该程序二进制包拷贝过来,从新编译程序。由于我在实际操做过程当中发现我将美国的VPS的整个操做系统环境打包后下载到本地服务器上解压后运行其中的程序会有如题所示问题出现,百思不得其解,系统都为centos5.2,最终发现是二者编译环境不一样所致:服务器

  • 美国VPS是AMD64位处理器
  • 本地服务器是INTEL32位处理器

这二者的硬件编译环境有所差异,致使了这个问题。固然,下载的某些程序非二进制包,能够直接执行的,但却出现该问题,也是由于内核匹配不了CPU,intel是x86的,amd是amd64或是32位版本,对应清楚下载。但愿本文对看到的朋友有所帮助。ide

相关文章
相关标签/搜索