Instale coisas em um schroot

Instale coisas em um schroot

Tenho uma pergunta sobre chroots: digamos que tenho um programa compilado e incorporado em uma estrutura de árvore de arquivos raiz, ex:

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

Ou seja, para instalar isso, eu teria que mesclar com a raiz (/). Agora, sincronizei isso novamente no chroot, mas quando tento executá-lo, recebo o código de erro 127 (esse arquivo não existe). Há algo mais que eu preciso fazer?

Responder1

Se estou interpretando corretamente o que você escreveu, acho que você não entende muito bem o que o chroot faz. Se eu tiver um diretório /mytemproot e montar nele um sistema de arquivos que possua 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ê, assim como todos os outros sistemas de arquivos sob o / real. Ele não mescla os sistemas de arquivos.

Antigamente, quando os administradores de sistemas humildes costumavam construir cada nova distribuição UNIX do zero, nós criávamos uma nova partição de disco, colocávamos um sistema de arquivos nessa partição e fazíamos a construção e instalação lá. Então montaríamos esse sistema de arquivos em algum lugar, fariamos chroot nele e verificaríamos tudo antes de liberá-lo para os usuários. Imagino que os desenvolvedores hoje o utilizem da mesma maneira.

informação relacionada