O arquivo Linux / usr / bin desaparece após a reinicialização

0

Eu movi um binário executável para / usr / bin. Isso funcionou, permitindo-me executar o programa como esperado.

No entanto, após a próxima reinicialização, notei que o comando não respondeu e, quando verifiquei / usr / bin, o arquivo não estava mais nele. Algo a excluiu.

Eu testei várias vezes e tentei links simbólicos também. O mesmo efeito ocorreu.

Eu me lembro de um comportamento similar em uma caixa do Fedora Core 5, quando eu tinha um arquivo em um desses caminhos, e toda vez que eu o substituía por uma versão mais nova, a versão mais antiga reaparecia depois de um tempo. Algo fez o backup do arquivo e não me permitiu alterá-lo. Isso me permitiu deletar mais tarde.

Comportamento semelhante em dois sistemas. O computador atual é uma caixa Thecus RAID com Linux.

Duas perguntas:

  1. O que está acontecendo?

  2. Como coloco ou substituo esses arquivos para que fiquem onde eu os coloquei?

por Kenster 15.10.2009 / 17:43

3 respostas

1

A maioria dos dispositivos embarcados baseados em linux usa o RAMDisk para montar "/" para um melhor desempenho em comparação com um PC / servidor linux padrão. O linux "initrd" é montado em / durante a inicialização. O initrd contém os diretórios / usr / bin, / bin, / sbin e outros. Portanto, se você adicionar / substituir qualquer arquivo em "/", ele será removido na próxima inicialização, pois será montado na RAM e o antigo initrd será montado na próxima inicialização.

Existem 2 soluções.

(1) Verifique a saída da montagem e veja se algum armazenamento secundário está montado ou não. Você pode armazenar seu executável em um diretório comum aqui e adicioná-lo na variável PATH. No entanto, você precisa garantir que o script de inicialização (login ou .bashrc) atualize a variável PATH em cada inicialização.

(2) Atualize o initrd. Se você está ciente de qual initrd está sendo usado, você pode abrir (gunzip?), Montá-lo, copiar o executável, desmontá-lo, fechar (gzip) e salvá-lo.

Editar: você pode precisar de permissões de administrador no dispositivo para substituir o initrd. A primeira solução é o que eu prefiro, já que é fácil de manter e não requer permissões de administrador.

    
por 25.10.2009 / 12:37
0

Você configurou essas caixas? Especialmente com a caixa Thecus, é possível que o sistema restaure as áreas específicas do sistema operacional da ROM toda vez que for inicializado, como medida de segurança. Se assim for, você pode pesquisar se você pode piscar a ROM com um novo / user / bin.

    
por 15.10.2009 / 18:06
0

Eu concordaria com o diagnóstico de CarlF - provavelmente o sistema está rodando em um RAMFS, carregando da ROM a cada inicialização. Para alterá-lo permanentemente, você precisaria refazer a ROM.

Pode haver outras opções, mas você terá que nos dar detalhes - qual modelo a Thecus está usando?

Eu encontrei uma página em executando o Debian em um n4100 da Thecus . Indica que o n4100 possui um slot MiniPCI que pode ser usado para adicionar um cartão CF para fornecer algum armazenamento gravável ou uma partição de inicialização alternativa. Seu modelo pode ter um recurso semelhante.

Como alternativa, você pode montar um compartilhamento de rede (CIFS / SMB / NFS) e carregá-lo com o software.

    
por 15.10.2009 / 18:25