GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo puedo resolver el error no se puede ejecutar el archivo binario?

Por lo general, ese mensaje de error significa que Linux no reconoce el archivo como un script de shell o como un archivo ejecutable.

Por lo general, la causa es ejecutar un ejecutable en la arquitectura incorrecta:si intenta ejecutar ejecutables x86 en una CPU ARM, aparece este mensaje.

Hizo /usr/bin/id sobreescribir, posiblemente?


Intente ejecutarlo usando ./executablefilename en lugar de usar sh ejecutablefilename. Después de todo, no es un script de shell.


El problema es ejecutar un binario para una arquitectura de procesador diferente. Puede usar objdump (de binutils) para verificar la arquitectura de los binarios. Puede usar uname para verificar la arquitectura de una máquina.

p.ej. Encontré este error "no se puede ejecutar el archivo binario" al instalar FF.Communicator, un complemento de Firefox para Chrome (para que pueda ejecutar páginas que usan applets de Java).

  • objdump muestra que el binario es de 64 bits elf64-x86-64
  • nombre muestra que mi máquina es i686 de 32 bits

    $ ./FF.Communicatorbash:./FF.Communicator:no se puede ejecutar el archivo binario $ uname -mpioi686 i686 i386 GNU/Linux$ objdump -a ./FF.Communicator./FF.Communicator:formato de archivo elf64-x86-64./ FF.Comunicador

  • objdump en un binario de trabajo en mi máquina muestra que es elf32-i386 de 32 bits

    $ objdump -a /bin/ls/bin/ls:formato de archivo elf32-i386

Con estas herramientas, puede verificar arquitecturas de máquinas y binarios, no solo arquitecturas Intel, sino cualquier procesador.

Para los usuarios de Mac OSX, puede encontrar la información de la arquitectura de un archivo específico usando el comando "archivo":

$ file filename_here

Linux
  1. /usr/bin/ls:/usr/bin/ls:¿No se puede ejecutar el archivo binario?

  2. ¿Cómo puedo comprobar que existe un archivo y ejecutar un comando si no es así?

  3. ¿Cómo puedo eliminar una nueva línea si es el último carácter de un archivo?

  4. ¿Cómo puedo vincular un archivo en Linux?

  5. Usando Linux, ¿cómo puedo pasar el contenido de un archivo como parámetro a un ejecutable?

Cómo resolver la falla temporal en el error de resolución de nombres

Cómo solucionarlo:el usuario no está en el error del archivo sudoers

¿Cómo ejecutar un archivo .sh cuando comienza la sesión?

¿Cómo puedo arreglar los permisos de mis archivos?

¿Cómo puedo diferenciar dos secciones del mismo archivo?

¿Cómo puedo obtener la duración de un archivo de video desde la consola?