“Nenhum tal arquivo ou diretório” nos arquivos que existem? [duplicado]

2

No dia anterior, encontrei pelo menos quatro binários que dizem "bin-name: Nenhum arquivo ou diretório" ao tentar executá-los. Mesmo se eu digitar parte do nome e tab completa, recebo o mesmo erro. Eu estou em uma arquitetura x86_64.

Saída de 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

Saída de 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)                           = ?

Saída de ldd :

Not a dynamic executable

A saída de strings é muito longa para recuar, então aqui está um link: link

erro do 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.
    
por tkbx 20.09.2013 / 23:09

1 resposta

4

É muito provável que você tenha um sistema somente de 64 bits (em oposição a um sistema multilib) e seu carregador dinâmico não reconheça o binário de 32 bits como um executável. Você precisará instalar a versão de 32 bits do glibc (que inclui o vinculador / carregador dinâmico - e qual deve ser o que você pode ver na primeira linha de saída de strings binary , a propósito) e quaisquer outras bibliotecas binário está vinculado ou uma versão de 64 bits do binário em questão. Veja também Obtendo mensagem" Não encontrado "ao executar um binário de 32 bits em um sistema de 64 bits para obter mais informações.

    
por 21.09.2013 / 00:09