6 votes

Comment lancer un exécutable à partir d'un lecteur monté ?

J'ai créé un espace de travail Eclipse sur une partition montée de mon disque dur. Je suis en mesure de construire avec succès le programme hello world mais lorsque j'essaie d'exécuter le runnable, j'obtiens le message d'erreur suivant :

Error starting process. Exec_tty error:Cannot run program
"/media/vineet/DEVDATA1/vinexpMount/Debug/vinExpeMount": Unknown
 reason Exec_tty error:Cannot run program
"/media/vineet/DEVDATA1/vinexpMount/Debug/vinExpeMount": Unknown
reason Exec_tty error:Cannot run program
"/media/vineet/DEVDATA1/vinexpMount/Debug/vinExpeMount": Unknown
 reason

Que dois-je faire ? J'ai vérifié les permissions de l'exécutable qui sont les suivantes

-rw-r--r--

ce qui signifie que je n'ai pas la permission d'exécuter. Mais lorsque je crée un espace de travail dans la partition racine, j'obtiens la permission d'exécuter par défaut. Que dois-je faire pour obtenir le même comportement ici ?

8voto

bender Points 1766

Ceci devrait être un commentaire, mais il semble que je n'ai pas le privilège d'en écrire, alors désolé d'avance.

Avez-vous essayé d'exécuter le mount dans le terminal ? Ce programme produit une sortie pour chaque point de montage de votre système. À la fin de chaque ligne de la sortie, les drapeaux de montage sont listés entre parenthèses. Vérifiez si votre point de montage a noexec activé.

Si c'est le cas, vous pouvez le modifier à l'aide de la commande suivante (en supposant, par exemple, que votre lecteur est monté dans le répertoire /mnt/cdrom ):

sudo mount -o remount,exec /mnt/cdrom

Si votre disque monté est une partition Windows (c'est-à-dire une partition formatée avec le système de fichiers NTFS), alors vous pouvez monter l'exécutable comme décrit dans ce qui suit poste .

1voto

Steven C. Howell Points 1998

Vous pouvez utiliser l'éditeur de liens Linux pour exécuter n'importe quel fichier sans tenir compte des permissions de l'exécutable et sans modifier les options de montage comme ceci :

/lib/ld-linux.so.2 /path/to/binary-file

ou, sur les systèmes 64 bits :

/lib64/ld-linux-x86-64.so.2 /path/to/binary-file

1voto

AlexLeo Points 53

Ma solution est de le remonter sur un autre chemin :

$ sudo umount /dev/sdf
$ sudo mount -o exec,defaults,-default_permissions /dev/sdf ~/usbdrive

Liste de tous les lecteurs montés :

$ cat /proc/mounts

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X