rbind 및 rslave를 사용하여 마운트 지점을 마운트 해제하는 방법은 무엇입니까?

rbind 및 rslave를 사용하여 마운트 지점을 마운트 해제하는 방법은 무엇입니까?

다음을 통해 chroot 시스템을 사용해 보십시오.

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

마지막 마운트 해제 후에도 dev, dev/pts, dev/shm, dev/mqueue 및 dev/hugepages는 여전히 stage3 아래에 마운트됩니다.

두 가지 질문이 있습니다.

  1. 왜 stage3에 설치되나요?
  2. 어떻게 제거할 수 있나요? 모든 마운트 지점이 사용 중입니다.

운영 체제: Ubuntu Xenial. 커널: 4.13.4, 하지만 4.10과 같은 커널에서도 동일한 문제가 있습니다.

답변1

  1. 왜 설치되어 있나요 stage3?

    바인드 마운트 stage3중이고 전파 플래그가 다음으로 설정되어 있기 gentoo때문에 (다음 명령을 사용하여 이를 확인하십시오 .)stage3sharedfindmnt -o PROPAGATION stage3

  2. 어떻게 제거할 수 있나요? 모든 마운트 지점이 사용 중입니다.

    방금 chroot설치된 트리에서 하나를 생성했습니다. 명령이 실행되는 동안 트리를 마운트 해제 하려면 chroot마운트 네임스페이스를 private으로 만드세요 chroot.

     unshare --mount --fork chroot gentoo
    

관련 정보