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

Wann sind es ausführbare Dateien nicht?

Für diese Frage gibt es hier bereits Antworten :Vor 9 Jahren geschlossen.

Mögliches Duplikat:
Einige Binärdateien können in der Chroot-Umgebung nicht ausgeführt werden (zsh:Not found)

Heute bin ich auf etwas gestoßen, das mich ratlos gemacht hat. Ein Mitarbeiter arbeitet mit einer bestimmten vorkompilierten Binärdatei, die er heruntergeladen hat (hier verfügbar). Auf dem Ubuntu 10.04 LTS-Server, an dem er arbeitet, führt der Versuch, diese Datei auszuführen, zu Datei nicht gefunden, selbst wenn die Berechtigungen richtig eingestellt sind.

Und doch, wenn ich dasselbe von OpenSUSE 11.4 aus versuche, läuft es einwandfrei. Ausführen von file darauf gibt mir:

Ausführbare ELF-32-Bit-LSB-Datei, Intel 80386, Version 1 (SYSV), dynamisch verknüpft (verwendet gemeinsam genutzte Bibliotheken), für GNU/Linux 2.6.15, entfernt

Sowohl die Ubuntu- als auch die OpenSUSE-Boxen sind 64-Bit-Installationen und file gibt auf beiden Rechnern dieselben Informationen zurück.

Was für mich gut aussieht. Und auf der Opensuse-Box gibt mir LDD sogar eine kurze Liste von Bibliotheksdateien. Handprüfung, alle diese angegebenen Dateien existieren auch auf dem Ubuntu-Server. Die Strace-Ausgabe ist jedoch anders:

Openuse:

execve(./trid”, [./trid”], [/* 122 vars */]) =0

Ubuntu (das Angeben des vollständigen Pfads ändert das Ergebnis nicht):

execve(./trid”, [./trid”], [/* 19 vars */]) =-1 ENOENT (Keine solche Datei oder Verzeichnis)

Was kann dazu führen, dass eine solche Datei auf diese Weise nicht ausführbar ist?

Akzeptierte Antwort:

Geben Sie

ein
ldd ./trid

sowohl auf dem openSuse- als auch auf dem Ubuntu-System.

Ich vermute, Sie werden feststellen, dass letzterem eine Bibliotheksdatei fehlt.


Linux
  1. Erstellen und entfernen Sie Auslagerungsdateien in Ubuntu

  2. 7zip-Datei:So dekomprimieren Sie 7z-Dateien unter Ubuntu, Debian, Fedora

  3. Prolog-Programmierung in Ubuntu

  4. Warum verwendet rsync keine Delta-Übertragung für lokale Dateien?

  5. Wie lösche ich .fuse_hidden*-Dateien?

So stellen Sie gelöschte Dateien in Ubuntu über TestDisk wieder her

So benennen Sie Dateien in Ubuntu 20.04 um

Wie greife ich von Ubuntu auf Windows-Dateien zu?

Dateien in Ubuntu 22.04 finden

Wie man Dateien mit dem Vim-Editor in Ubuntu mit einem Passwort schützt

Ubuntu-Tipps:Anzeigen von Systemprotokolldateien in der GUI