这篇文章主要为大家展示了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 only available from another source However the following packages replace it: lib32z1 lib32ncurses5 lib32bz2-1.0
过程中有可能找不到需要的库,但是会有几个替代包,选择安装其中一个。
sudo apt-get install lib32bz2-1.0 lib32bz2-1.0
然后就可以正常运行之前的可执行文件了。
以上就是关于Linux执行可执行文件提示No such file or directory怎么办的内容,如果你们有学习到知识或者技能,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。