Linux执行可执行文件提示No such file or directory的解决方法

最近在使用Linux操作系统执行一个可执行文件,结果出现了No such file or directory的提示,表示很疑惑。

./tshrf

bash: ./tshref: No such file or directory

查看文件信息,可以看到文件是存在的,并且是可以执行的。

-rwxr-xr-x 1 yuan yuan 20581 4月 29 2004 tshref

查阅资料后,原因是系统位数与该可执行文件需要的lib库位数不匹配。

用uname命令打印系统信息,发现系统是64位系统

uname -a

Linux yuan-vm 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

用file命令查看文件信息,发现是一个32位可执行文件。

file ./tshref

./tshref: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), 
dynamically linked (uses shared libs), for GNU/Linux 2.2.5, not stripped

要想在64位系统上与运行32位程序,则需要安装32位lib库。

对于Ubuntu用户可以使用下面的命令安装。

sudo apt-get install ia32-libs

Reading package lists... Done
Building dependency tree    
Reading state information... Done
Package ia32-libs is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is>
sudo apt-get install lib32bz2-1.0
lib32bz2-1.0

然后就可以正常运行之前的可执行文件了。

遇到这种问题其实还有可能是其他原因,例如文本的编码格式问题等,本文仅提出了一种解决方法,读者遇到相同问题要具体问题具体分析。

到此这篇关于Linux执行可执行文件提示No such file or directory的解决方法的文章就介绍到这了,更多相关Linux No such file or directory内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

Linux执行可执行文件提示No such file or directory的解决方法

扫一扫手机访问