【BUG】Linux目录下明明有可执行文件却提示找不到,“No such file or directory”,解决:为64位Ubuntu安装32位程序的运行架构

您所在的位置:网站首页 word自动保存了文件却找不到文件怎么办呀 【BUG】Linux目录下明明有可执行文件却提示找不到,“No such file or directory”,解决:为64位Ubuntu安装32位程序的运行架构

【BUG】Linux目录下明明有可执行文件却提示找不到,“No such file or directory”,解决:为64位Ubuntu安装32位程序的运行架构

2024-07-13 20:13| 来源: 网络整理| 查看: 265

文章目录 省流版问题解决 详细解释版一、问题描述二、问题排查三、问题解决四、总结

省流版 问题

Linux目录下明明有可执行文件却提示找不到,“No such file or directory” 在这里插入图片描述 我做了如下努力:

ls显示;(能够成功显示)修改文件名;(能够正常复制、修改、移动,并且被复制的仍然不能运行)调整文件属性,弄成777;cat显示文件。(能够成功显示)root执行文件;(找不到文件)直接输入repeat;(显示无该命令)切换到其他的目录下,再用相对路径执行repeat;(找不到文件)绝对路径执行repeat;(找不到文件)exec执行:exec ./repeat;(找不到文件)换个别的终端执行:/bin/sh ./repeat;(报错)换了一个机子,能正常运行(说明并不是文件本身的问题)。

都是玄学办法,没有起到作用。

解决

检查文件的头部:readelf -h repeat; 在这里插入图片描述

原来,这是32位的程序,在64位的Ubuntu中运行需要提前安装32位的库。

首先添加i32架构,然后更新镜像源,再安装就可以了,指令如下:

sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 -y sudo apt install lib32z1 -y

然后就可以了!就可以运行了!!!

详细解释版

Linux环境下可执行文件无法运行:“No such file or directory”问题的排查与解决

一、问题描述

在Linux系统中,有时会遇到明明目录下存在可执行文件,但尝试执行时却提示“No such file or directory”的错误。本文将详细阐述如何排查和解决这一问题。

二、问题排查

当遇到上述问题时,我进行了以下排查步骤:

使用ls命令查看文件:确保文件确实存在于指定目录下,并且能够正常显示。

修改文件名:尝试修改文件名,并检查是否能够正常复制、修改、移动。然而,复制后的文件仍然无法运行。

调整文件属性:将文件属性设置为777,赋予所有用户读、写、执行权限。

使用cat命令查看文件内容:确保文件内容完整无误。

使用root用户执行文件:尝试以root用户身份执行文件,但仍然提示找不到文件。

直接输入文件名执行:直接输入文件名执行,显示无该命令。

切换目录执行:切换到其他目录,使用相对路径执行文件,仍然提示找不到文件。

使用绝对路径执行:使用文件的绝对路径执行,仍然提示找不到文件。

使用exec命令执行:尝试使用exec命令执行文件,结果仍然是无法找到文件。

换终端执行:换到其他终端执行文件,仍然报错。

换机器测试:将文件复制到另一台机器上测试,发现能够正常运行,说明问题并非出在文件本身。

三、问题解决

经过上述排查步骤,初步排除了文件损坏、权限不足、路径错误等原因。此时,我考虑到可能是文件架构与系统架构不匹配的问题。于是,我检查了文件的头部信息:

readelf -h repeat

通过检查发现,该文件是一个32位的程序,而我当前的系统是64位的Ubuntu。因此,在64位系统上运行32位程序需要安装相应的32位库。

解决步骤如下:

添加i386架构支持: sudo dpkg --add-architecture i386 更新软件包列表: sudo apt-get update 安装必要的32位库: sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 -y sudo apt install lib32z1 -y

安装完成后,再次尝试执行文件,问题得到解决,文件可以正常运行。

四、总结

在Linux系统中,当遇到可执行文件无法运行并提示“No such file or directory”的错误时,除了检查文件是否存在、权限是否正确、路径是否正确等常见问题外,还需要注意文件的架构是否与系统架构匹配。如果文件是32位的,而系统是64位的,则需要安装相应的32位库才能正常运行。

本账号所有文章均为原创,欢迎转载,请注明文章出处:https://blog.csdn.net/qq_46106285/article/details/124946919。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3