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的解决方法的文章就介绍到这了,更多相关Linux No such file or directory内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 深入理解linux执行文件提示No such file or directory的背后原因

    1 背景 最近一直在研究在ZC706-ARM开发板的linux系统中弄一套编译系统(不支持apt),刚好发现公司有一套英伟达的ARM开发板且带有ubunut系统(支持apt),此时产生一个想法,英伟达板子上编译的程序能否在ZC706的板子上运行? 2 过程 在英伟达的开发板中 gcc a.c生成a.out,然后拷贝到ZC706中执行出现"No such file or directory" 以前遇到的是以下原因: 文件本身不存在或者文件损坏 无执行权限 (chmod 777 xxx)

  • linux输入yum后提示: -bash: /usr/bin/yum: No such file or directory的解决方法

    linux输入yum后提示: -bash: /usr/bin/yum: No such file or directory的解决方案 今天在安装程序时,发现有一个插件未安装,我就随手敲了一个命令,看都没看 yum remove yum 然后就杯具了... [root@localhost ~]# yum -bash: /usr/bin/yum: No such file or directory 这个粗心的手误倒不至于让整个系统瘫痪,yum 却无法使用了.于是,我试着折腾了一番 rpm -ivh

  • 64位linux 编译c提示gnu/stubs-32.h:No such file or directory的解决方法

    64位linux提示gnu/stubs-32.h:No such file or directory的解决方法 这个问题是由于缺少32位兼容包,解决办法: ubuntu: sudo apt-get install libc6-dev-i386 CentOS:yum -y install glibc-devel.i686 Re阿里云yum源没有glibc.i686 阿里云的64位Linux发行版屏蔽了32位,也就是常见的i686软件包的数据源,你可以修改yum的配置文件/etc/yum.conf,

  • Linux执行.sh文件时提示No such file or directory该怎么办(三种解决办法)

    先给大家看下问题描述,下图是我在运行时出现错误截图: 解决方法 分析原因,可能因为我平台迁移碰到权限问题我们来进行权限转换 1)在Windows下转换: 利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行.转换方式如下(UltraEdit):File-->Conversions-->DOS->UNIX即可. 2)方法 用vim打开该sh文件,输入: [plain] :set ff 回车,显示fileformat=dos,重新设置下文件格式:

  • 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位系统

  • Laravel执行migrate命令提示:No such file or directory的解决方法

    本文实例讲述了Laravel执行migrate命令提示:No such file or directory的解决方法.分享给大家供大家参考,具体如下: 今天使用Laravel命令行工具操作数据库迁移操作时报错,提示mysql 2002错误,如图: 查看数据库配置没错呀,网站前台也可以打开,说明能连上,那是什么原因呢? 在Laravel5中,有两种办法解决: 1.增加一个数据库配置项 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_H

  • python错误提示:Errno 2] No such file or directory的解决方法

    目录 1.问题描述: 2.解决方法: 3.小结: 总结 1.问题描述: 在学习北京大学曹健老师的tensorflow2.0笔记的时候,遇到了 [Errno 2] No such file or directory: './mnist_image_label/mnist_train_jpg_60000.txt' 这个没有查找到子文件或者子文件夹的问题. 2.解决方法: 首先,确定所写的路径中包含相应的文件夹或者文件. 其次,如果文件名字或者路径没写错,查看自己是否使用相对路径(绝对路径一般不会报错

  • POI导出Excel报错No such file or directory的解决方法

    场景重现 Apache POI Linux Tomcat 如上所示,当时在linux+tomcat的环境下,使用apache的poi导出excel的时候就会报"No such file or directory"的错误. 错误信息 java.lang.RuntimeException: java.io.IOException: No such file or directory at org.apache.poi.xssf.streaming.SXSSFWorkbook.createA

  • linux下因为系统编码问题造成乱码的快速解决方法

    最近一段时间遇到一些润乾的应用在linux系统下面乱码的问题,最后检查后都发现是客户的linux系统默认编码设置的不正确造成的,这种原因造成乱码的现象一般都是程序里面写死了的中文字符能正常展现,但是从数据库中取出来的或者从程序中读出来的中文字符就会出现乱码. 下面就介绍一下由于linux系统编码设置不正确造成润乾报表应用乱码问题的解决办法. 第一步:检查linux的系统编码. 检查linux的系统编码,确定系统是否支持中文.在linux系统的终端中输入命令:locale,就会看到打印出的系统编码

  • Linux下Tomcat启动正常,但浏览器无法访问的解决方法

    1.服务器可ping通 2.服务器抓本地的http请求包,可以抓到 3.本地抓服务器返回的http响应包,抓不到 经过查找,是由于开启了Linux防火墙 查看防火墙配置(需要root权限) [root@localhost ~]# service iptables status Redirecting to /bin/systemctl status  iptables.service iptables.service - IPv4 firewall with iptables Loaded: l

  • linux系统重装导致免密码key登录失败的解决方法

    在一台linux机器上ssh远程另外一台linux服务器时候出现: [root@server .ssh]# ssh 192.0.50.80 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

随机推荐