Instale o material em um schroot

0

Eu tenho uma pergunta sobre chroots: digamos que eu tenha um programa compilado e construído em uma estrutura de árvore de arquivos raiz, ex:

.
├── bin
│   └── software
├── etc
...

Ou seja, para instalar isso, eu teria que mesclar isso com a raiz (/). Agora, eu rsynced isso no chroot, mas quando eu tento executá-lo, recebo o código de erro 127 (sem tal arquivo). Há algo mais que eu tenho que fazer?

    
por Zihemu 27.09.2015 / 13:00

1 resposta

0

Se eu estiver interpretando corretamente o que você escreveu, acho que você não entende muito bem o que o chroot faz. Se eu tenho um diretório / mytemproot e montei nele um sistema de arquivos que possui diretórios: bin, etc, sbin, foo, então eu poderia:

% cd /mytemproot
% pwd
/mytemproot
% chroot /mytemproot
% pwd
/
% ls /
bin etc sbin foo

O que o chroot faz é colocar você em um shell onde / mytemproot é tratado como se fosse /. O real / é invisível para você como todos os outros sistemas de arquivos sob o real /. Não mescla os sistemas de arquivos.

Voltando aos velhos tempos, quando os humildes administradores de sistema usavam para construir cada nova distribuição UNIX do zero, nós criamos uma nova partição de disco, colocamos um sistema de arquivos naquela partição e fazemos a compilação e instalação lá. Então montamos esse sistema de arquivos em algum lugar, chroot e checamos tudo antes de o soltarmos para os usuários. Eu devo imaginar que os desenvolvedores hoje usam da mesma maneira.

    
por 29.09.2015 / 07:56

Tags