이미 마운트된 장치를 다시 마운트할 수 있거나 마운트할 수 없는 이유는 무엇입니까? 뭐가 문제 야?

이미 마운트된 장치를 다시 마운트할 수 있거나 마운트할 수 없는 이유는 무엇입니까? 뭐가 문제 야?

이미 마운트된 장치를 다시 마운트할 수 있거나 마운트할 수 없는 이유는 무엇입니까? 뭐가 문제 야?
예를 들어:

/tmp/test$ sudo mount /dev/sda5 ./1;echo ${?}
0
/tmp/test$ sudo mount /dev/sda5 ./2;echo ${?}
0
/tmp/test$ sudo mount | grep test
/dev/sda5 on /tmp/test/1 type ext4 (rw,relatime,data=ordered)
/dev/sda5 on /tmp/test/2 type ext4 (rw,relatime,data=ordered)
/tmp/test$ sudo umount ./1 ./2;echo ${?}
0
/tmp/test$ sudo losetup
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE          DIO
/dev/loop0         0      0         0  0 /tmp/test/grub.iso   0
/tmp/test$ sudo mount /dev/loop0 ./1;echo ${?}
mount: /dev/loop0 is write-protected, mounting read-only
0
/tmp/test$ sudo mount /dev/loop0 ./2;echo ${?}
mount: /dev/loop0 is already mounted or /tmp/test/2 busy
       /dev/loop0 is already mounted on /tmp/test/1
32
/tmp/test$ sudo mount | grep test
/dev/loop0 on /tmp/test/1 type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048)
/tmp/test$ 

답변1

그 이유는 여러 곳에 설치된 표지판 -w과 표지판이 -r동일해야 하기 때문인 것 같습니다.

예를 들어( /dev/sda5이미 설치됨 -o rw):

$ sudo mount -r ./grub.iso ./1;echo $?
0
$ sudo mount -r ./grub.iso ./2;echo $?
0
$ sudo mount -r ./grub.iso ./3;echo $?
0
$ sudo umount ./1 ./2 ./3;echo $?
0
$ sudo mount -r /dev/sda5 /mnt;echo $?
mount: /dev/sda5 is already mounted or /mnt busy
       /dev/sda5 is already mounted on /home/xx/yy
32

또한보십시오맨마운트 스트레칭:

-w, --rw, --read-write
          Mount the filesystem read/write.  This is the default.  A synonym is -o rw.

/dev/sda5이것이 기본 옵션을 사용하여 여러 위치에 설치할 수 있지만 grub.iso기본 옵션을 사용하여 여러 위치에 설치할 수 없는 이유입니다.

답변2

증거에서: /dev/sda2원래 /(파일 시스템 루트)로 설치되었습니다. 그러나 fstab은 완전히 비활성화되어 있으며 기본 마운트는 my_init스크립트 파일에서 수행됩니다. 첫 번째 마운트는 /dev/sda2원래 루트 파일 시스템의 전체 콘텐츠를 추가하고 , 다음 줄은 원래 루트 파일 시스템의 나머지 부분을 숨겨야 하는 옵션을 사용하여 동일한 콘텐츠 /home/에만 마운트합니다. 이 작업을 한 번 수행하면 폴더에 있는 전체 원본 루트 파일 시스템 (예: ls /home/)을 볼 수 있습니다(제가 쓴 대로). 그런 다음 다음을 제공합니다./home/home/--bindumount /home//home/bin boot dev etc home ...

누군가 왜 이런 짓을 하는지 나에게 묻지 마세요.

관련 정보