Não consigo instalar o TrueCrypt no Debian Wheezy

1

No Debian Testing (Wheezy) 64bit, estou tentando instalar o TrueCrypt:

root@debian:/media/cdrom0# ls -l
total 47120
dr-xr-xr-x 3 root root     2048 Apr  3  2012 32Bit
dr-xr-xr-x 2 root root     2048 Apr  3  2012 64Bit
-r-xr-xr-x 1 root root      647 Aug 16  2011 AUTORUN.INF
-r-xr-xr-x 1 root root     6966 Apr  3  2012 autorun.sh
-r-xr-xr-x 1 root root     5523 Apr  3  2012 runasroot.sh
-r-xr-xr-x 1 root root  7669198 Apr  3  2012 VBoxLinuxAdditions.run
-r-xr-xr-x 1 root root 19237888 Apr  3  2012 VBoxSolarisAdditions.pkg
-r-xr-xr-x 1 root root 13618128 Apr  3  2012 VBoxWindowsAdditions-amd64.exe
-r-xr-xr-x 1 root root   282928 Apr  3  2012 VBoxWindowsAdditions.exe
-r-xr-xr-x 1 root root  7424032 Apr  3  2012 VBoxWindowsAdditions-x86.exe
root@debian:/media/cdrom0# ./VBoxLinuxAdditions.run
bash: ./VBoxLinuxAdditions.run: Permission denied
root@debian:/media/cdrom0# 

Por que estou recebendo Permission denied quando logado como root?

oshirowanen
fonte

Respostas:

2

Você precisa tornar o arquivo executável com, por exemplo,

chmod +x VBoxLinuxAdditions.run

e depois executá-lo. Se você verificar com ls -l novamente depois, você verá que o x flag será definido para "executável".

Resumo rápido de Wikipedia :

Existem três permissões específicas em sistemas semelhantes ao Unix que se aplicam a cada classe:

  • o ler permissão, que concede a capacidade de ler um arquivo. Quando definido para um diretório, essa permissão concede a capacidade de ler nomes de arquivos no diretório (mas não para descobrir qualquer informação adicional sobre eles, como conteúdo, tipo de arquivo, tamanho, propriedade, permissões, etc.)

  • o escrever permissão, que concede a capacidade de modificar um arquivo. Quando definida para um diretório, essa permissão concede a capacidade de modificar entradas no diretório. Isso inclui criar arquivos, excluir arquivos e renomear arquivos.

  • o executar permissão, que concede a capacidade de executar um arquivo. Essa permissão deve ser definida para binários executáveis ​​(por exemplo, um programa C ++ compilado) ou scripts shell (por exemplo, um programa Perl) para permitir que o sistema operacional os execute. Quando definida para um diretório, essa permissão concede a capacidade de acessar o conteúdo do arquivo e o metainfo se o nome for conhecido, mas não listar os arquivos dentro do diretório (a menos que a leitura esteja definida).


Editar: como observado no comentário abaixo (ou no post original, se notarmos o caminho /media/cdrom0/ ) o arquivo estava em uma mídia somente leitura. A estrutura completa pode ser copiada para uma mídia gravável e as permissões alteradas, ou pode-se executá-las diretamente do disco com um intérprete explícito, como

sh VBoxLinuxAdditions.run

ou

bash VBoxLinuxAdditions.run

Se nenhum destes intérpretes trabalhar, pode-se verificar o intérprete pretendido com, e.

head -1 VBoxLinuxAdditions.run

mas é mais provável que seja um script de shell regular.

Daniel Andersson
fonte
Mas o arquivo está em um CD. Eu deveria copiá-lo para o disco rígido?
oshirowanen
@oshirowanen: Você pode fazer isso (mas isso provavelmente irá bagunçar os caminhos de arquivo para o instalador, a menos que você copie o CD inteiro), ou execute-o explicitamente com o interpretador correto, por exemplo, sh VBoxLinuxAdditions.run ou bash VBoxLinuxAdditions.run.
Daniel Andersson
sh VBoxLinuxAdditions.run funcionou perfeitamente. Obrigado!
oshirowanen