Como usar o bindfs para criar uma pasta compartilhada entre um ambiente chroot e seu host

2

Como o título diz. Eu quero usar bindfs (ou qualquer alternativa viável) para resolver o seguinte problema:

Eu tenho uma pasta local que contém um projeto maven no qual estou trabalhando. No entanto, só posso construir em um ambiente chroot (a virtualização é muito lenta). Mas como este é um ambiente de desenvolvimento, seria um grande problema não poder editar arquivos na pasta mount bind (isso é como eu atualmente o disponibilizo para o chroot env) usando um IDE (com privilégios de usuário).

Acho que os bindfs podem ajudar aqui, mas não vejo como.

Qualquer conselho seria muito apreciado!

EDITAR:

Para esclarecer: eu tentei (como root)

mount -o bind /path/to/my/project /path/to/chroot/mountpoint

e

bindfs -u myuser -g users -p +rw /path/to/project /path/to/chroot/mountpoint
    
por Benjamin Westrich 08.07.2015 / 19:26

2 respostas

1

Tornar as árvores de diretórios extras disponíveis em um chroot é um caso de uso típico para montagens de ligação. No seu caso, provavelmente faz sentido ter os mesmos diretórios base no sistema principal e no ambiente de desenvolvimento. Se você tiver acesso root e estiver no Linux, poderá usar uma montagem de ligação do Linux:

mount --bind /home /path/to/development/environment/home
chroot /path/to/development/environment

Uma montagem de ligação é mais rápida do que bindfs, já que bindfs é uma camada extra, enquanto uma montagem de ligação é equivalente ao original - para montar o que um link físico faz com arquivos.

Você pode querer usar schroot . Isso é um pouco de automação para criar um sistema funcional em um chroot; Uma das coisas que ele automatiza é o bind mount. Ele foi originalmente desenvolvido para praticamente o que você está fazendo agora: configurar um ambiente de desenvolvimento limpo em um sistema Debian.

Consulte O que é uma montagem de ligação? para obter mais informações sobre montagens de ligação , especialmente as seções "Montagem em uma prisão" e "Execução de uma distribuição diferente".

    
por 09.07.2015 / 02:02
0

Eu não sei o que bindfs significa, eu só sei o mount -o bind (opção)

sudo mount -o bind /some/path/in/the/rootfs local/path
    
por 08.07.2015 / 20:21