PlasticFS pode ajudar, embora eu pense (da leitura, eu não tentei ) Ele permite que você crie efetivamente um sistema de arquivos sintético em algum ponto de montagem (como FUSE, mas usando LD_PRELOAD).
Portanto, você pode, por exemplo, criar uma raiz sintética em /tmp/myfs
, mas ainda assim seria necessário uma ferramenta semelhante a chroot para apresentar esse local construído como se fosse a raiz do sistema de arquivos. fakechroot é uma escolha óbvia para não exigir root, mas também usa LD_PRELOAD
, então não tenho certeza se as duas ferramentas confundem um ao outro.
Atualização: É um pouco confuso, mas eu já tentei agora - versões de plasticfs até e inclusive 1.11 usam LD_PRELOAD (e de fato incluem um filtro "chroot", então você não usa não precisa usar fakechroot). Então, isso pode ser o que você quer, mas:
-
não funcionou muito bem nos meus testes (arquivos criados não deveriam, arquivos perdidos que deveriam estar lá)
-
lançamentos mais recentes (o 1.11 foi lançado em 2007, até 1.14 agora) abandonaram o LD_PRELOAD totalmente para o FUSE e um par de comandos mount
e umount
stateful, que também eliminaram a capacidade de usá-lo como chroot.