sudo: ./server: comando não encontrado

2

Eu escrevi um software chamado "servidor" e estou tentando executá-lo em uma caixa linux diferente. O comando que estou digitando é:

sudo ./server

Estou no diretório com 'sever', e ele me diz que não consegue encontrar o comando. Todas as outras perguntas que vi semelhantes a este estado que o sudo não foi instalado, mas o sudo está instalado nesta máquina. Se eu tentar correr

./server

diz "Permissão negada", por isso sabe que existe um arquivo nesse diretório chamado "servidor".

Eu sou um cara do Windows normalmente, então se eu estiver sentindo falta de algo básico, não ria muito. O que estou perdendo?

    
por Jeff 19.12.2012 / 17:44

1 resposta

4

Você está sendo negado permissão para executar seu arquivo. Você não pode executar um arquivo sem primeiro torná-lo executável.

ls -l server

Exibirá as permissões do arquivo . Você pode definir o bit de execução com

chmod +x server

Seu código pode ser executado como

./server

Seu erro FATAL:kernel too old surge porque você compilou uma versão do glibc que é muito mais recente que o versão do kernel que você está tentando executar. Recompile com o glibc correspondente ao sistema em que você pretende executar o código ou execute-o em um sistema diferente, com o kernel correto.

A propósito, 'server' é um nome muito terrível para um executável.

    
por 19.12.2012 / 19:12