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

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 readme sul CD fornisce le seguenti istruzioni di installazione:

PC: Linux

  1. Fare doppio clic sulla cartella ‘LINUX’
  2. Fai doppio clic sul file “INSTALL.BIN”
  3. Seguire le istruzioni sullo schermo.

Ma facendo questo appena produce il seguente messaggio di errore:

Imansible visualizzare “/ media / BDH DE / linux / install.bin”. Il file è di un tipo sconosciuto

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

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

Mentre, con mia grande delusione, il messaggio non riesce a informarmi di quali permessi mi mancano, una rapida occhiata all’output di ls rivela che l’installer non è stato contrassegnato come eseguibile.

Come lo eseguo?


Il tipo del file è:

 [email protected]:~$ file /media/BDH\ DE/linux/install.bin src/bdh-de/install.bin: POSIX shell script text executable 

Guarda che tipo di file è stata data un’estensione bin.

 file $filename 

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

 head $filename 

La prima riga potrebbe leggere #!/bin/bash . In quel caso corri

 bash $filename 

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

Se il problema è che CDROM è stato montato “noexec”, è ansible rimontarlo eseguibile.

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

Se non è uno script / testo ma un 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, utilizzare /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 sulla domanda https://askubuntu.com/a/17311/52853 13 aprile 2012

montare CDROM manualmente con umask = 000, es

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

Puoi utilizzare uno di entrambi:

 bash -c  

o

 sh -c