Wie kann ich eine ausführbare Datei von einer CD ausführen, wenn das ausführbare Bit nicht gesetzt ist?


13

Ein Lehrbuch, das ich verwende, wurde mit einer CD geliefert, die einige ergänzende Anwendungen enthält. Zu meiner angenehmen Überraschung scheint es einen Installer für Linux zu geben.

Die Readme-Datei auf der CD enthält die folgenden Installationsanweisungen:

PC: Linux

  1. Doppelklicken Sie auf den Ordner 'LINUX'
  2. Doppelklicken Sie auf die Datei 'INSTALL.BIN'
  3. Folgen Sie den Anweisungen auf dem Bildschirm.

Dabei wird jedoch nur die folgende Fehlermeldung ausgegeben:

Konnte "/ media / BDH DE / linux / install.bin" nicht anzeigen. Die Datei hat einen unbekannten Typ

Der Versuch, das Installationsprogramm über die Befehlszeile auszuführen, führt zu einem Berechtigungsfehler:

ak@aux:~$ ls /media/BDH\ DE/
linux  os x  readme.txt  windows xp  windows xp - no java
ak@aux:~$ ls -l /media/BDH\ DE/linux/
total 41177
-rw-r--r-- 1 ak ak 42164549 2005-07-26 03:39 install.bin
ak@aux:~$ /media/BDH\ DE/linux/install.bin
bash: /media/BDH DE/linux/install.bin: Permission denied

Während meiner Enttäuschung, schlägt die Nachricht mich darüber zu informieren , was Berechtigungen mir fehlt, zeigt ein kurzer Blick auf die Ausgabe von ls , dass der Installer ausführbare Datei wurde nicht markiert.

Wie führe ich es aus?


Der Dateityp ist:

ak@aux:~$ file /media/BDH\ DE/linux/install.bin
src/bdh-de/install.bin: POSIX shell script text executable

8
Um welche Art von Datei handelt es sich? 'file / media / BDH \ DE / linux / install.bin'?

1
Ah-ha. Seltsamerweise ist es eigentlich nur eine Textdatei mit einer .binDateinamenerweiterung. Wie ärgerlich irreführend.
ændrük

1
Ja - dachte ich mir. Also gelöst? Zum Beispiel, wenn es sich um ein Shell-Skript handelt - können Sie jetzt 'bash / media / BDH \ DE / linux / install.bin' oder ähnliches ausführen?

Antworten:


7

Sehen Sie, welche Art von Datei eine bin-Erweiterung erhalten hat.

file $filename

Wenn es sich nicht um Binärdaten handelt, handelt es sich um Text. Also, welches Programm soll mit dieser Datei verwendet werden?

head $filename

Die erste Zeile könnte lauten #!/bin/bash. In diesem Fall laufen

bash $filename

um es auszuführen. Oder verwenden Sie das Programm, für das die bin-Datei geschrieben wurde, z. B. Python.


Ich denke immer noch, wie kann ich auf die Datei doppelklicken und sie ausführen. Die Ausführung wird weiterhin verweigert, wenn die Datei die Erweiterung ".bin" aufweist.
DTdev

7

Wenn das Problem ist, dass die CD-ROM 'noexec' gemountet wurde, können Sie die ausführbare Datei erneut mounten.

sudo mount -o remount,exec /media/BDH\ DE/

Ja, richtig, sehr gut, hat gut funktioniert.
Silver Moon

4

Wenn es kein Skript / Text ist, sondern eine Binärdatei:

Für 64-Bit-Programme:

/lib64/ld-linux-x86-64.so.2 ./program.bin

Für 32-Bit-Programme:

/lib/ld-linux.so.2 ./program.bin

Quelle:

"Um Binärdateien auszuführen, verwenden Sie /lib64/ld-linux-x86-64.so.2 ./program.bin für 64-Bit-Programme und /lib/ld-linux.so.2 ./program.bin für 32-Bit Einsen." - Kommentar von Lekensteyn zu Frage /ubuntu//a/17311/52853 13. April 2012


1

Hängen Sie die CD-ROM manuell mit umask = 000 ein, dh

sudo mount  -o umask=000 /dev/sdXY /mount_point

1

Sie können eines von beiden verwenden:

bash -c <command>

oder

sh -c <command>
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.