Es gibt mehrere Fälle, in denen Sie die Meldung "Keine solche Datei oder ein solches Verzeichnis" erhalten können:
Die Datei existiert nicht. Dies ist hier nicht der Fall.
Es gibt eine Datei mit diesem Namen, aber es ist ein symbolischer Link. Das
chmod +x ./filename
hätte einen Fehler ausgegeben, wenn dies der Fall wäre.Die Datei ist eine dynamisch verknüpfte ELF-Datei, und der zur Ausführung erforderliche Programminterpreter ist nicht vorhanden.
Verwenden
readelf -l filename | grep interpreter
Sie diese Option, um herauszufinden, welcher Programminterpreter erforderlich ist, und überprüfen Sie, ob er vorhanden ist und über die richtigen Berechtigungen verfügt.Die Datei existiert, und Sie können sie sogar lesen, aber wenn Sie versuchen, sie auszuführen, wird Ihnen mitgeteilt, dass sie nicht existiert.
Der file -L filename
Befehl sagt Ihnen genau, was diese Binärdatei ist.
Ich kann keine ausführbare 32-Bit-Linux-Datei finden, um dies zu versuchen, aber vielleicht können Sie den file
Befehl einfach ausführen und überprüfen, ob die Datei 32-Bit oder 64-Bit ist. Auf einem 64-Bit-System ist möglicherweise eine 32-Bit-Binärdatei installiert, auf der keine 32-Bit-Unterstützung installiert ist (dies ist der Spezialfall "Programminterpreter fehlt").