存在的文件上“没有这样的文件或目录”?

存在的文件上“没有这样的文件或目录”?

在过去的一天中,当我尝试运行它们时,我发现至少有 4 个二进制文件显示“bin-name:没有这样的文件或目录”。即使我输入部分名称并使用 Tab 完成它,我也会收到相同的错误。我使用的是 x86_64 架构。

输出file

fez-09152013-bin: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
dynamically linked (uses shared libs), for GNU/Linux 2.6.24,
BuildID[sha1]=0x78612e4aac547367548dcc7cc3067c3cfcf2f177, stripped

输出strace

execve("./fez-09152013-bin", ["./fez-09152013-bin"], [/* 23 vars */]) = -1 ENOENT (No such file or directory)
dup(2)                                  = 3
fcntl(3, F_GETFL)                       = 0x8002 (flags O_RDWR|O_LARGEFILE)
fstat(3, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f3fda17a000
lseek(3, 0, SEEK_CUR)                   = -1 ESPIPE (Illegal seek)
write(3, "strace: exec: No such file or di"..., 40strace: exec: No such file or directory
) = 40
close(3)                                = 0
munmap(0x7f3fda17a000, 4096)            = 0
exit_group(1)                           = ?

输出ldd

Not a dynamic executable

输出strings太长而无法缩进,所以这里有一个链接:http://pastebin.com/t7MmugLY

apt-get 错误:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 ia32-libs : Depends: ia32-libs-i386 but it is not installable
E: Unable to correct problems, you have held broken packages.

答案1

您很可能只有 64 位系统(而不是多库系统),并且您的动态加载程序无法将 32 位二进制文​​件识别为可执行文件。您需要安装 32 位版本的 glibc(其中包括动态链接器/加载器 - 顺便说一下,您可以在 输出的第一行中看到哪个版本strings binary)以及二进制文件链接的任何其他库或相关二进制文件的 64 位版本。另请参阅在 64 位系统上运行 32 位二进制文​​件时收到“未找到”消息了解更多信息。

相关内容