GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Erhalten des Fehlers:bash:./program:kann Binärdatei nicht ausführen:Fehler im Exec-Format

Sie haben eine 64-Bit-x86-CPU (gekennzeichnet durch lm Flag in /proc/cpuinfo ), aber Sie führen einen 32-Bit-Kernel aus. Das Programm, das Sie auszuführen versuchen, erfordert eine 64-Bit-Laufzeitumgebung, sodass es nicht so funktioniert, wie es ist.

Wenn Sie einen 32-Bit-Build des Programms finden (oder selbst erstellen können), verwenden Sie diesen.

Alternativ können Sie einen 64-Bit-Kernel installieren, neu starten und dann die für Ihr Programm erforderlichen 64-Bit-Bibliotheken installieren.

Um einen 64-Bit-Kernel zu installieren, führen Sie

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

Dadurch wird der neueste 64-Bit-Xenial-Kernel zusammen mit verschiedenen unterstützenden 64-Bit-Paketen installiert. Nach dem Neustart sollten Sie uname -a finden zeigt x86_64 statt i686 . Wenn Sie versuchen, Ihr Programm erneut auszuführen, funktioniert es möglicherweise einfach oder Sie erhalten eine Fehlermeldung wegen fehlender Bibliotheken. Installieren Sie im letzteren Fall die entsprechenden Pakete (verwenden Sie apt-file um sie zu finden), um das Programm zum Laufen zu bringen.


Linux
  1. Erhalten Sie die Meldung „nicht gefunden“, wenn Sie eine 32-Bit-Binärdatei auf einem 64-Bit-System ausführen?

  2. Wie behandelt Linux mehrere aufeinanderfolgende Pfadtrennzeichen (/home////username///file)?

  3. Der Unterschied zwischen Sourcing (‚.‘ oder ‚source‘) und dem Ausführen einer Datei in Bash?

  4. Die Bash‘?

  5. Warum müssen Sie #!/bin/bash an den Anfang einer Skriptdatei setzen?

Die Dateien /proc/mounts, /etc/mtab und /proc/partitions verstehen

Binärdatei kann nicht ausgeführt werden, wenn versucht wird, ein Shell-Skript unter Linux auszuführen

cp:Verzeichnis kann nicht erstellt werden:Keine solche Datei oder Verzeichnis

bash:./helloworld_s:keine solche Datei oder Verzeichnis. Die Datei ist eindeutig da

Wie kann ich den Fehler beheben, dass die Binärdatei nicht ausgeführt werden kann?

Chroot schlägt fehl - Befehl `/bin/bash' kann nicht ausgeführt werden:Keine solche Datei oder Verzeichnis