Executando um executável em um volume do Windows no Ubuntu

0

Eu tenho um sistema Windows / Ubuntu de inicialização dupla. Eu tenho um arquivo executável gerado a partir de um arquivo c + + em uma pasta em um volume do Windows (que é acessível no Ubuntu) e gostaria de executá-lo no Ubuntu. A resposta direta seria mover o arquivo executável para um volume do Ubuntu e executá-lo, mas isso é parte de um projeto enorme e eu não tenho o espaço necessário no Ubuntu para mover o projeto inteiro.

Então é possível rodar o executável do meu terminal no Ubuntu?

Quando eu tento executá-lo a partir do terminal usando o comando ./learn, recebo o erro. / learn: Permission Denied.

Eu até tentei com o sudo, mas não funciona.

    
por vvnikhil 19.11.2014 / 00:46

3 respostas

0

O erro de permissão negada é devido à propriedade e às permissões para os arquivos que podem ser resolvidos por chown e o comando chmod fornece a propriedade correta e a permissão correta. mas eu não acho que funcionaria porque o binário para windows pelo compilador no windows e para o compilador no Linux são diferentes, então eu sugiro compilar no Linux novamente.

    
por 17.01.2015 / 19:55
0

Assumindo que você compila no Ubuntu e deseja usar a partição do windows como alvo do arquivo executável (que não é um exe do win32!). Nesse caso, a solução mais fácil é montar sua partição do Windows com umask=000,dmask=000,fmask=000 . Isto irá definir 777 permissão para tudo. Mas se você gostaria de estar ciente da segurança, então você não deve permitir isso. Dependendo das configurações de usuário / grupo, você pode definir, por exemplo: 022

As permissões para os sistemas de arquivos ntfs e vfat devem ser definidas com as opções dmask , fmask e umask . dmask controla permissões para diretórios, fmask controla permissões para arquivos e umask controla ambos. Como essas opções definem máscaras, elas devem ser o complemento das permissões desejadas. Por exemplo, rwx para o proprietário e rw para outros é 022 em vez de 755.

Você pode fornecer essas opções diretamente ao comando mount :

sudo mount /dev/your_win_partition /media/drive_c -o remount,umask=000,dmask=000,fmask=000

Se você quiser torná-lo persistente, adicione essas opções a /etc/fstab . Mais informações aqui .

    
por 20.02.2015 / 18:23