¿Cómo puedo ejecutar un ejecutable desde un CD cuando no tiene el bit ejecutable establecido?

13

Un libro de texto que estoy usando viene con un CD que contiene algunas aplicaciones adicionales. Para mi agradable sorpresa, parece incluir un instalador para Linux.

El archivo readme en el CD proporciona las siguientes instrucciones de instalación:

PC: Linux

  1. Haga doble clic en la carpeta 'LINUX'
  2. Haga doble clic en el archivo 'INSTALL.BIN'
  3. Siga las instrucciones en pantalla.

Pero hacer esto solo produce el siguiente mensaje de error:

No se pudo mostrar "/ media / BDH DE / linux / install.bin". El archivo es de un tipo desconocido.

Intentar ejecutar el instalador a través de la línea de comando da como resultado un error de permisos:

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

Si bien, para mi decepción, el mensaje no me informa de qué permisos me faltan, un vistazo rápido a la salida de ls revela que el instalador no ha sido marcado como ejecutable.

¿Cómo lo ejecuto?


El tipo de archivo es:

ak@aux:~$ file /media/BDH\ DE/linux/install.bin
src/bdh-de/install.bin: POSIX shell script text executable
ændrük
fuente
8
¿Qué tipo de archivo es? 'file / media / BDH \ DE / linux / install.bin'?
1
Ah-ha. Curiosamente, en realidad es solo un archivo de texto con una .binextensión de nombre de archivo. Qué agravantemente engañoso.
ændrük
1
Sí, pensé. ¿Tan resuelto? Como si fuera un script de shell, ¿puede 'bash / media / BDH \ DE / linux / install.bin' o algo similar ahora?

Respuestas:

7

Vea qué tipo de archivo ha recibido una extensión bin.

file $filename

Si no son datos binarios, es texto. Entonces, ¿qué programa se utilizará con este archivo?

head $filename

La primera línea podría leer #!/bin/bash. En ese caso corre

bash $filename

para ejecutarlo O utilice el programa para el que se escribió el archivo bin, por ejemplo, python.


fuente
Todavía pienso cómo puedo hacer doble clic en el archivo y ejecutarlo. Todavía se niega a ejecutarse si el archivo tiene la extensión '.bin'.
DTdev
7

Si el problema es que el CDROM se montó 'noexec', puede volver a montarlo como ejecutable.

sudo mount -o remount,exec /media/BDH\ DE/
Señor almizclero
fuente
Sí, claro, muy bien, funcionó bien.
Silver Moon
4

Si no es un script / texto sino un binario:

Para programas de 64 bits:

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

Para programas de 32 bits:

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

Fuente:

"Para ejecutar binarios, use /lib64/ld-linux-x86-64.so.2 ./program.bin para programas de 64 bits y /lib/ld-linux.so.2 ./program.bin para 32 bits unos ". - Comentario de Lekensteyn sobre la pregunta /ubuntu//a/17311/52853 13 de abril de 2012

bjunix
fuente
1

monte el CDROM manualmente con umask = 000, es decir

sudo mount  -o umask=000 /dev/sdXY /mount_point
chorro
fuente
1

Puedes usar uno de los dos:

bash -c <command>

o

sh -c <command>
Truman
fuente