Por que um executável rm copiado não funcionaria em outra máquina linux?

1

Eu copiei o executável rm de minhas máquinas "/ bin / rm" para outra máquina linux que é tão pequena que não inclui o comando rm. Quando tentei executar o comando rm, recebi este erro:

/bin/rm: /bin/rm: 1: Syntax error: "(" unexpected

Por que não funciona? Como eu poderia "adicionar" a funcionalidade rm a essa caixa? (Esta caixa também não tem uma instalação do gerenciador de pacotes.)

    
por Joaquín Gumucio 09.02.2017 / 18:42

1 resposta

10

rm é um arquivo binário e, portanto, depende da arquitetura. Isso só funcionaria se você copiasse da mesma arquitetura e com as mesmas bibliotecas necessárias instaladas.

Como alternativa, você pode compilar a partir do código-fonte ou instalar o pacote binário. Nos sistemas Debian, é um pacote .

Caso você já tenha um binário e queira conhecer sua arquitetura, use os comandos file ou objdump .

    
por 09.02.2017 / 18:54