Criando uma área de trabalho local para desenvolvimento / teste

3

Eu quero poder mount , digamos / home / $ USER / workspace para / usr / local / workspace. No momento, estou usando o pyfilesystem do Python, que usa fuse para fazer isso. Meu problema é que, dentro dessa montagem, não consigo criar symlinks . Eu nem preciso de links simbólicos indo para fora da montagem, mas até mesmo um link simbólico que normalmente é criado para uma biblioteca compartilhada durante a compilação, não será criado dentro da montagem.

Então, estou procurando uma abordagem totalmente diferente ou uma ferramenta (preferencialmente escrita em Python ) que faça exatamente o que o pyfilesystem está fazendo e ofereça suporte à criação de links simbólicos.

Restrições adicionais:

  • O uso de um link simbólico simples em vez de uma montagem não funciona para mim, pois o diretório montado estará, na verdade, dentro de um chroot .
  • A montagem não deve exigir privilégios de root.
  • A alteração de fstab não é uma opção.
  • Assim, usar mount bind não é uma opção.
por ifschleife 28.02.2013 / 13:10

3 respostas

0

Depois de pesquisar mais, me deparei com proot que combina chroot com a capacidade de mount de qualquer diretório para o novo root . Ele suporta qualquer operação de arquivo dentro de seu chroot , sim mesmo symlinks , que funcionará feliz mesmo após proot desmontar o diretório. Ele não precisa de root privileges e tornou desnecessária minha configuração complicada de schroot + pyfilesystem .

    
por 05.10.2013 / 14:58
1

Desculpe, mas essas mudanças em todo o sistema exigem alguma forma de envolvimento de raiz, se apenas por causa da sanidade. Talvez o mais próximo do que você queira seja criar uma máquina virtual e jogar nela, ou algo parecido com o simulado do Fedora, o mecanismo usado para criar um chroot preenchido com as ferramentas necessárias para construir um pacote. Provavelmente outras distribuições têm algo semelhante. O desenvolvimento do namespace inteiro no Linux promete ajuda aqui, há uma série em LWN rodando agora ( parte 1 , parte 2 , part3 , parte 4 ; a parte 5 ainda é apenas assinante). Mas a configuração do namespace ainda será uma responsabilidade básica.

    
por 28.02.2013 / 13:42
0

Você pode configurar um ambiente de criação / teste completo como um usuário normal, combinando ferramentas como fakechroot , fakeroot e cowdancer .

    
por 28.02.2013 / 15:47