Como executar um executável a partir de uma unidade montada?

4

Eu criei um Eclipse Workspace em uma partição montada do meu disco rígido. Eu sou capaz de construir com sucesso o programa hello world, mas quando tento executar o runnable recebo a seguinte mensagem de erro:

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

Por favor, diga o que devo fazer? Eu verifiquei as permissões para o executável que é

  

-rw-r - r -

o que significa que eu não tenho permissão para executar. mas quando eu crio um espaço de trabalho na partição raiz, obtenho a permissão de execução por padrão. o que devo fazer para obter o mesmo comportamento aqui?

    
por bubble 02.01.2013 / 17:27

3 respostas

5

Isso deveria ser um comentário, mas parece que eu não tenho o privilégio de escrever nenhum, então desculpe antecipadamente.

Você tentou executar o comando mount no terminal? Este programa produz saída para cada ponto de montagem no seu sistema. No final de cada linha na saída, os sinalizadores de montagem são listados entre parênteses. Verifique se o seu ponto de montagem tem o sinal noexec definido.

Nesse caso, você pode alterá-lo com o seguinte comando (por exemplo, supondo que sua unidade esteja montada em /mnt/cdrom ):

sudo mount -o remount,exec /mnt/cdrom

Se a sua unidade montada for uma partição do Windows (ou seja, uma partição formatada com o sistema de arquivos NTFS), você poderá montá-la como descrito neste postar .

    
por bender 02.01.2013 / 21:47
1

Minha solução é remontar para outro caminho:

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

Listar todas as unidades montadas:

$ cat /proc/mounts
    
por AlexLeo 21.04.2015 / 12:09
0

Você pode usar o vinculador Linux para executar qualquer arquivo, independentemente das permissões executáveis, e sem alterar as opções de montagem da seguinte forma:

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

ou, em sistemas de 64 bits:

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

    
por Alexander Shcheblikin 26.06.2014 / 18:15