Acho que você provavelmente está procurando por contêineres.
Ou talvez não. Os namespaces do Linux podem ser bastante transparentes, afinal. Eu não acredito que há um caminho para unshare
um namespace para um processo que já foi chamado, mas você definitivamente pode unshare
um namespace no tempo de chamada com pouco ou nenhum efeito. / p>
cd /tmp
echo you >hey
sudo unshare -m busybox
echo hey >you; cat hey
you
... e de outro terminal ...
cd /tmp
cat you
hey
... a árvore de montagem é compartilhada por padrão no namespace pai e, embora os sinalizadores de propagação de montagem de busybox
estejam definidos como private por padrão , não faz diferença até que uma alteração na árvore de montagem seja de alguma forma afetada no namespace. Isso não precisa ser feito através de busybox.
... no terminal busybox
...
echo "#$$"
#8854
... e agora do outro ...
sudo nsenter -t8854 -m mount -t tmpfs none /tmp
cd .; cat hey
you
... mas do terminal busybox
e, portanto, do namespace, acabamos de efetuar um mount
cd .; cat hey
cat: hey: no such file or directory
... porque um novo tmpfs privado foi montado sobre o /tmp
compartilhado no comando nsenter
...
cd ..
umount tmp
cat tmp/hey
you