마운트하는 동안 마운트 지점 "뒤"를 볼 수 있습니까? [복사]

마운트하는 동안 마운트 지점 "뒤"를 볼 수 있습니까? [복사]

두 개의 파티션이 있습니다. 하나는 /에 마운트되고 다른 하나는 /crypt에 마운트됩니다. 저는 bind마운트 /crypt/home( /home/및 기타 다양한 마운트)를 사용하고 있습니다.

문제는 이제 원래 /home디렉토리를 볼 필요가 있지만 물론 /crypt/home.

로그인해야 하기 때문에 제거할 수 없습니다. 즉, /home이 사용 중이라는 의미입니다.

/homeUSB 스틱 등에서 부팅하지 않고 원래 디렉터리의 파일에 액세스할 수 있는 방법(다른 바인드 마운트 등)이 있습니까 ?

답변1

방금 루트로 로그인한 경우에는 문제 없이 설치가 가능합니다 /home. 그러나 이것이 가능하지 않다면 간단하게 mount --bind / /elsewhere. 기본적으로 --bind유형 마운트는 재귀적이지 않습니다. 따라서 마운트된 파일 시스템은 다른 곳에 마운트될 때 이를 따르지 않습니다 /. --bind할 수 있는그러나 다른 곳에는 재귀적으로 설치됩니다 --rbind.

예를 들어:

findmnt /esp; findmnt /

TARGET SOURCE    FSTYPE OPTIONS
/esp   /dev/sda1 vfat   rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro

TARGET SOURCE                FSTYPE OPTIONS
/      /dev/sda2[/arch_root] btrfs  rw,relatime,compress-force=lzo,ssd,space_cache,autodefrag

보시다시피 /esp에 설치되었습니다 /.

mkdir /tmp/root
sudo mount --bind / /tmp/root
ls /esp /tmp/root/esp

/esp:
EFI/  shellia32.efi*  shellx64.efi*

/tmp/root/esp:

이제 파일을 다음 위치에 넣었습니다 /tmp/root/esp.

sudo touch /tmp/root/esp/blank_file
ls /esp /tmp/root/esp

/esp:
EFI/  shellia32.efi*  shellx64.efi*

/tmp/root/esp:
blank_file

/esp그래서 설치된 디렉토리에 파일을 만들었습니다. 바라보다?

sudo umount /boot /esp; ls /esp
blank_file

sudo mount -a; ls /esp
EFI/  shellia32.efi*  shellx64.efi*

나는해야만했다umount /boot 그리고 /esp실제로 /boot/esp. 둘 다 거기에 있습니다 /etc/fstab. 그래서 mount -a다시 가져온 것입니다.

관련 정보