GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso risolvere l'errore che non può eseguire il file binario?

Di solito quel messaggio di errore significa che Linux non riconosce il file come script di shell o come file eseguibile.

In genere la causa è l'esecuzione di un eseguibile sull'architettura sbagliata:se provi a eseguire eseguibili x86 su una CPU ARM, viene visualizzato questo messaggio.

Ha fatto /usr/bin/id essere sovrascritto, forse?


Prova a eseguirlo usando ./executablefilename invece di usare sh executablefilename. Dopotutto non è uno script di shell.


Il problema sta eseguendo un binario per un'architettura di processore diversa. Puoi usare objdump (da binutils) per controllare l'architettura dei binari. Puoi usare uname per controllare l'architettura di una macchina.

per esempio. Ho riscontrato questo errore "impossibile eseguire il file binario" durante l'installazione di FF.Communicator, un plug-in Firefox per Chrome (quindi posso eseguire pagine che utilizzano applet Java).

  • objdump mostra che il file binario è elf64-x86-64 a 64 bit
  • uname mostra che la mia macchina è i686 a 32 bit

    $ ./FF.Communicatorbash:./FF.Communicator:impossibile eseguire il file binario$ uname -mpioi686 i686 i386 GNU/Linux$ objdump -a ./FF.Communicator./FF.Communicator:formato file elf64-x86-64./ FF.Comunicatore

  • objdump su un binario funzionante sulla mia macchina mostra che è elf32-i386 a 32 bit

    $ objdump -a /bin/ls/bin/ls:formato file elf32-i386

Usando questi strumenti puoi controllare le architetture di macchine e binari - non solo architetture Intel ma qualsiasi processore.

Per gli utenti di Mac OSX, puoi trovare le informazioni sull'architettura di un file specifico utilizzando il comando "file":

$ file filename_here

Linux
  1. /usr/bin/ls:/usr/bin/ls:Impossibile eseguire il file binario?

  2. Come posso eseguire il codice PHP dalla riga di comando?

  3. Come posso anteporre una stringa all'inizio di ogni riga in un file?

  4. Come posso trovare il file più vecchio in un albero di directory

  5. Come posso ottenere un binario da un file .py

Come risolvere l'errore temporaneo nella risoluzione dei nomi Error

Come risolvere il problema:l'utente non è nell'errore del file sudoers

Come eseguire un file .sh all'inizio della sessione?

Come posso correggere i permessi dei miei file?

come posso differenziare due sezioni dello stesso file?

Come posso ottenere la lunghezza di un file video dalla console?