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

linux itxz 5年前 (2020-11-18) 417次浏览 已收录 0个评论

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

./tshrf
 
bash: ./tshref: No <a href="http://www.itxz.com/?tag=such" title="查看更多关于such的文章" target="_blank">such</a> file or <a href="http://www.itxz.com/?tag=directory" title="查看更多关于directory的文章" target="_blank">directory</a>

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

-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位可执行文件。

<a href="http://www.itxz.com/?tag=file" title="查看更多关于file的文章" target="_blank">file</a> ./tshref
 
./tshref: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), 
dynamically linked (uses shared libs), for GNU/Linux 2.2.5, <a href="http://www.itxz.com/?tag=no" title="查看更多关于no的文章" target="_blank">no</a>t 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 <a href="http://www.itxz.com/?tag=no" title="查看更多关于no的文章" target="_blank">no</a>t available, but is referred to by a<a href="http://www.itxz.com/?tag=no" title="查看更多关于no的文章" target="_blank">no</a>ther package.
This may mean that the package is missing, has been obsoleted, or
is only available from a<a href="http://www.itxz.com/?tag=no" title="查看更多关于no的文章" target="_blank">no</a>ther source
However the following packages replace it:
 lib32z1 lib32ncurses5 lib32bz2-1.0

过程中有可能找不到需要的库,但是会有几个替代包,选择安装其中一个。

sudo apt-get install lib32bz2-1.0
lib32bz2-1.0

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


IT学者 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Linux执行可执行文件提示No such file or directory的解决方法
喜欢 (0)

您必须 登录 才能发表评论!