GNU/Linux >> Linux Esercitazione >  >> Linux

Ottenere l'errore:bash:./program:impossibile eseguire il file binario:errore di formato Exec

Hai una CPU x86 a 64 bit (indicata da lm flag in /proc/cpuinfo ), ma stai utilizzando un kernel a 32 bit. Il programma che stai tentando di eseguire richiede un runtime a 64 bit, quindi non funzionerà così com'è.

Se riesci a trovare una build a 32 bit del programma (o creala tu stesso), usa quella.

In alternativa, puoi installare un kernel a 64 bit, riavviare e quindi installare le librerie a 64 bit richieste dal tuo programma.

Per installare un kernel a 64 bit, esegui

sudo dpkg --add-architecture amd64
sudo apt-get update
sudo apt-get install linux-image-generic:amd64

Questo installerà l'ultimo kernel Xenial a 64 bit, insieme a vari pacchetti di supporto a 64 bit. Una volta riavviato, dovresti trovare quel uname -a mostra x86_64 anziché i686 . Se tenti di eseguire nuovamente il tuo programma, potrebbe funzionare o riceverai un errore a causa delle librerie mancanti; in quest'ultimo caso, installa i pacchetti corrispondenti (usa apt-file per trovarli) per far funzionare il programma.


Linux
  1. Ricezione del messaggio "non trovato" durante l'esecuzione di un binario a 32 bit su un sistema a 64 bit?

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

  3. Perché è necessario inserire #!/bin/bash all'inizio di un file di script?

  4. perché ricevo un errore di formato Exec quando scrivo il mio servizio Linux?

  5. unix:///var/run/supervisor.sock nessun file di questo tipo

Comprendere i file /proc/mounts, /etc/mtab e /proc/partitions

impossibile eseguire il file binario quando si tenta di eseguire uno script di shell su Linux

cp:impossibile creare la directory:file o directory non presenti

bash:./helloworld_s:file o directory non presenti. Il file è chiaramente lì

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

chroot fallisce - impossibile eseguire il comando `/bin/bash':File o directory non presenti