Como desmontar um ponto de montagem com rbind e rslave?

1

Tentando usar um sistema chrooted via

mount -B stage3 gentoo
mount -t sysfs none gentoo/sys
mount -t proc none gentoo/proc
mount -R /dev gentoo/dev
mount --make-rslave gentoo/dev
unshare --fork chroot gentoo
umount -R gentoo

Após o último umount, dev, dev / pts, dev / shm, dev / mqueue, dev / hugepages ainda estavam montados no estágio 3.

Eu tenho duas perguntas,

  1. Por que eles foram montados no stage3?
  2. Como eu poderia desmontar esses? Cada ponto de montagem está ocupado.

SO: Ubuntu Xenial. Kernel: 4.13.4, mas tenho o mesmo problema com o kernel como o 4.10 e outros.

    
por Magicloud 07.10.2017 / 12:14

1 resposta

1
  1. Por que eles foram montados em stage3 ?

    Porque o sinalizador de propagação stage3 ligado à gentoo e stage3 está definido como shared (verifique isso com: findmnt -o PROPAGATION stage3 )

  2. Como eu poderia desmontar esses? Cada ponto de montagem está ocupado.

    Você acabou de gerar chroot na árvore montada. Se você deseja desmontar a árvore enquanto o comando chroot estiver em execução, torne o namespace de montagem privado para o chroot :

    unshare --mount --fork chroot gentoo
    
por 07.10.2017 / 18:02