Come posso eseguire un eseguibile da un CD quando non è impostato il bit eseguibile?


13

Un libro di testo che sto usando è venuto con un CD contenente alcune applicazioni supplementari. Con mia piacevole sorpresa, sembra includere un programma di installazione per Linux.

Il file Leggimi sul CD fornisce le seguenti istruzioni di installazione:

PC: Linux

  1. Fare doppio clic sulla cartella "LINUX"
  2. Fare doppio clic sul file "INSTALL.BIN"
  3. Segui le istruzioni sullo schermo.

Ma facendo questo produce solo il seguente messaggio di errore:

Impossibile visualizzare "/ media / BDH DE / linux / install.bin". Il file è di tipo sconosciuto

Il tentativo di eseguire il programma di installazione tramite la riga di comando genera un errore di autorizzazioni:

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

Mentre, con mia grande delusione, il messaggio non mi informa di quali autorizzazioni mi mancano, una rapida occhiata all'output di ls rivela che l'installer non è stato contrassegnato come eseguibile.

Come lo eseguo?


Il tipo di file è:

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

8
Che tipo di file è? 'file / media / BDH \ DE / linux / install.bin'?

1
Ah-ha. Stranamente, in realtà è solo un file di testo con .binun'estensione di nome file. Quanto è fuorviante in modo fuorviante.
ændrük,

1
Sì, immaginato. Così risolto? Come se fosse uno script di shell - puoi 'bash / media / BDH \ DE / linux / install.bin' o qualcosa di simile ora?

Risposte:


7

Scopri a quale tipo di file è stata assegnata un'estensione bin.

file $filename

Se non sono dati binari, è testo. Quindi quale programma deve essere utilizzato con questo file?

head $filename

La prima riga potrebbe leggere #!/bin/bash. In tal caso, esegui

bash $filename

per eseguirlo. Oppure usa qualsiasi programma per cui è stato scritto il file bin, python, per esempio.


Continuo a pensare come posso fare doppio clic sul file ed eseguirlo. Rifiuta ancora di essere eseguito se il file ha l'estensione '.bin'.
DTdev,

7

Se il problema è che CDROM è stato montato 'noexec', è possibile rimontarlo eseguibile.

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

sì, bene, molto bene, ha funzionato bene.
Silver Moon,

4

Se non è uno script / testo ma un file binario:

Per i programmi a 64 bit:

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

Per i programmi a 32 bit:

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

Fonte:

"Per eseguire i binari, usa /lib64/ld-linux-x86-64.so.2 ./program.bin per i programmi a 64 bit e /lib/ld-linux.so.2 ./program.bin per 32-bit quelli ". - Commento di Lekensteyn alla domanda /ubuntu//a/17311/52853 13 aprile 2012


1

montare CDROM manualmente con umask = 000, ad es

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

1

Puoi usare uno di entrambi:

bash -c <command>

o

sh -c <command>
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.