Arquivo não encontrado apesar de ser exibido em ls

3

Estou tentando executar um script que existe como visível por ls , mas quando tento executá-lo, ele diz "Nenhum arquivo ou diretório". O que dá?

root@rx-texas:/home/7days/linux32#
root@rx-texas:/home/7days/linux32# ls
libstdc++.so.6  steamcmd
root@rx-texas:/home/7days/linux32# ./steamcmd
-bash: ./steamcmd: No such file or directory
root@rx-texas:/home/7days/linux32# less steamcmd
"steamcmd" may be a binary file.  See it anyway?

Estou executando o Debian de 64 bits, mas o arquivo é linux32 poderia estar relacionado?

Também aqui está a saída de ls -la :

drwxrwxrwx 2 7days 7days    4096 Apr 22  2013 .
drwxrwxrwx 3 7days 7days    4096 Jan  9 22:44 ..
-rwxrwxrwx 1 7days 7days 3807525 Apr 22  2013 libstdc++.so.6
-rwxrwxrwx 1 7days 7days 5642610 Feb  5  2013 steamcmd

saída de ldd steamcmd :

not a dynamic executable
    
por penu 10.01.2017 / 00:06

2 respostas

6

I'm running 64-bit debian but the file is linux32 could it be related?

Não é apenas relacionado, mas é a causa direta do erro.

Quando você tenta executar o executável de 32 bits em um sistema de 64 bits sem suporte para o tempo de execução de 32 bits instalado, esse erro é exibido incorretamente. Não é o ./steamcmd que está faltando, mas seu carregador.

Para obter uma explicação detalhada, consulte a resposta na mensagem Obtendo "Não encontrado" ao executar um binário de 32 bits em um formato de 64- sistema de bits no Unix.SE.

A solução sugerida para o Debian é instalar suporte multi-arquitetura com:

dpkg --add-architecture i386 && apt-get update
    
por 10.01.2017 / 02:00
0

Verifique a primeira linha do script. Se você estiver usando um "#!" para fazer referência a um executável (por exemplo, um shell), certifique-se de que o arquivo referenciado esteja: presente e acessível pelo ID do usuário que está tentando executar o steamcmd.

Por exemplo se você tem:

"#! / bin / bash"

Na primeira linha, / bin / bash precisa estar presente. Parece que você é root, então o acesso não deve ser um problema. Certifique-se de não ter espaços extras no caminho para o arquivo ou caracteres não imprimíveis no final da linha.

    
por 10.01.2017 / 00:27

Tags