web-dev-qa-db-fra.com

Comment puis-je exécuter un exécutable à partir d'un CD alors que le bit exécutable n'est pas défini?

Un manuel que j'utilise est venu avec un CD contenant quelques applications supplémentaires. À ma bonne surprise, il semble inclure un programme d'installation pour Linux.

Le fichier lisez-moi sur le CD fournit les instructions d'installation suivantes:

PC: Linux

  1. Double-cliquez sur le dossier 'LINUX'
  2. Double-cliquez sur le fichier 'INSTALL.BIN'
  3. Suivez les instructions à l'écran.

Mais cela ne produit que le message d'erreur suivant:

Impossible d'afficher "/ media/BDH DE/linux/install.bin". Le fichier est d'un type inconnu

Tenter d'exécuter le programme d'installation via la ligne de commande entraîne une erreur d'autorisations:

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

Bien que, à ma grande déception, le message ne m’informe pas de quoi les autorisations qui me manquent, un rapide coup d’œil sur la sortie de ls révèle que le programme d’installation n’a pas été marqué comme exécutable.

Comment puis-je l'exécuter?


Le type de fichier est:

ak@aux:~$ file /media/BDH\ DE/linux/install.bin
src/bdh-de/install.bin: POSIX Shell script text executable
12
ændrük

Voir quel type de fichier a reçu une extension bin.

file $filename

Si ce ne sont pas des données binaires, c'est du texte. Alors, quel programme doit être utilisé avec ce fichier?

head $filename

La première ligne peut indiquer #!/bin/bash. Dans ce cas courir

bash $filename

pour l'exécuter. Ou utilisez le programme pour lequel le fichier bin a été écrit, python, par exemple.

7
user8290

Si le problème est que le CD-ROM a été monté 'noexec', vous pouvez le remonter en exécutable.

Sudo mount -o remount,exec /media/BDH\ DE/
6
Mr. Muskrat

Si ce n'est pas un script/texte mais un binaire:

Pour les programmes 64 bits:

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

Pour les programmes 32 bits:

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

La source:

"Pour exécuter les fichiers binaires, utilisez /lib64/ld-linux-x86-64.so.2 ./program.bin pour les programmes 64 bits et /lib/ld-linux.so.2 ./program.bin pour les 32 bits. " - Commentaire de Lekensteyn sur la question https://askubuntu.com/a/17311/5285 13 avril 2012

4
bjunix

Vous pouvez utiliser l'un des deux:

bash -c <command>

ou

sh -c <command>
1
Truman

montez le CD-ROM manuellement avec umask = 000, c.-à-d.

Sudo mount  -o umask=000 /dev/sdXY /mount_point
1
jet