19.2.3. 마운트 공유
경우에 따라 특정 시스템 관리 작업을 수행하려면 디렉터리 트리의 두 개 이상의 위치에서 동일한 파일 시스템에 액세스해야 합니다(예: chroot 환경을 준비할 때). 이 경우 Linux를 사용하면 필요한 만큼의 디렉터리에 동일한 파일 시스템을 마운트할 수 있습니다. 또한 mount 명령은 특정 마운트를 중복하는 수단을 제공하는
--bind
옵션을 구현합니다. 사용법은 다음과 같습니다.
$
mount --bind old_directory new_directory
이 명령을 사용하면 사용자가 두 위치에서 파일 시스템에 액세스할 수 있지만 원래 디렉터리 내에 마운트된 파일 시스템에는 적용되지 않습니다. 이러한 마운트도 포함하려면 다음 명령을 사용하십시오.
$
mount --rbind old_directory new_directory
또한 Red Hat Enterprise Linux 7은 최대한의 유연성을 제공하기 위해 공유 하위 트리 라는 기능을 구현합니다. 이 기능을 사용하면 다음과 같은 4개의 마운트 유형을 사용할 수 있습니다.
- 공유 마운트
- 공유 마운트를 사용하면 지정된 마운트 지점의 정확한 복제본을 만들 수 있습니다. 마운트 지점이 공유 마운트로 표시되면 원래 마운트 지점 내의 모든 마운트가 여기에 반영되며 그 반대의 경우도 마찬가지입니다. 마운트 지점 유형을 공유 마운트로 변경하려면 쉘 프롬프트에 다음을 입력합니다.
$
mount --make-shared mount_point또는 선택한 마운트 지점 및 그 아래에 있는 모든 마운트 지점의 마운트 유형을 변경하려면 다음을 수행합니다.$
mount --make-rshared mount_point예제 사용 예는 예 19.4. “공유 마운트 지점 생성” 를 참조하십시오. - 슬레이브 마운트
- 슬레이브 마운트를 사용하면 지정된 마운트 지점을 제한된 중복을 생성할 수 있습니다. 마운트 지점이 슬레이브 마운트로 표시되면 원래 마운트 지점 내의 모든 마운트가 반영되지만 슬레이브 마운트 내의 마운트는 원본에 반영되지 않습니다. 마운트 지점 유형을 슬레이브 마운트로 변경하려면 쉘 프롬프트에 다음을 입력합니다.
mount
--make-slave
mount_point또는 다음을 입력하여 선택한 마운트 지점 및 모든 마운트 지점의 마운트 유형을 변경할 수 있습니다.mount
--make-rslave
mount_point예제 사용 예는 예 19.5. “Slave Mount Point 생성” 를 참조하십시오.예 19.5. Slave Mount Point 생성
이 예에서는/media/
디렉터리의 내용을/mnt/
에도 표시할 수 있지만/media/
에 반영할/mnt/
디렉터리에 마운트가 없는 방법을 보여줍니다.root
로, 먼저/media/
디렉토리를 공유로 표시합니다.~]# mount --bind /media /media ~]# mount --make-shared /media
그런 다음/mnt/
에 중복을 생성하되 "slave"로 표시합니다.~]# mount --bind /media /mnt ~]# mount --make-slave /mnt
이제/media/
내의 마운트도/mnt/
에 표시되는지 확인합니다. 예를 들어 CD-ROM 드라이브에 비어 있지 않은 미디어가 포함되어 있고/media/cdrom/
디렉터리가 있는 경우 다음 명령을 실행합니다.~]# mount /dev/cdrom /media/cdrom ~]# ls /media/cdrom EFI GPL isolinux LiveOS ~]# ls /mnt/cdrom EFI GPL isolinux LiveOS
또한/mnt/
디렉터리에 마운트된 파일 시스템이/media/
에 반영되지 않았는지도 확인합니다. 예를 들어/dev/sdc1
장치를 사용하는 비어 있지 않은 USB 플래시 드라이브가 연결되어 있고/mnt/flashdisk/
디렉터리가 있는 경우 다음을 입력합니다.~]# mount /dev/sdc1 /mnt/flashdisk ~]# ls /media/flashdisk ~]# ls /mnt/flashdisk en-US publican.cfg
- 프라이빗 마운트
- 개인 마운트는 기본 마운트 유형이며 공유 또는 슬레이브 마운트와 달리 전파 이벤트를 수신하거나 전달할 수 없습니다. 마운트 지점을 개인 마운트로 명시적으로 표시하려면 쉘 프롬프트에 다음을 입력합니다.
mount
--make-private
mount_point또는 선택한 마운트 지점 및 모든 마운트 지점의 마운트 유형을 변경할 수 있습니다.mount
--make-rprivate
mount_point예제 사용 예는 예 19.6. “개인 마운트 지점 생성” 를 참조하십시오.예 19.6. 개인 마운트 지점 생성
예 19.4. “공유 마운트 지점 생성” 의 시나리오를 고려하여 다음 명령을root
로 사용하여 공유 마운트 지점이 이전에 생성되었다고 가정합니다.~]# mount --bind /media /media ~]# mount --make-shared /media ~]# mount --bind /media /mnt
/mnt/
디렉토리를 비공개로 표시하려면 다음을 입력합니다.~]# mount --make-private /mnt
이제/media/
내에 있는 마운트가/mnt/
에 표시되지 않는지 확인할 수 있습니다. 예를 들어 CD-ROM 드라이브에 비어 있지 않은 미디어가 포함되어 있고/media/cdrom/
디렉터리가 있는 경우 다음 명령을 실행합니다.~]# mount /dev/cdrom /media/cdrom ~]# ls /media/cdrom EFI GPL isolinux LiveOS ~]# ls /mnt/cdrom ~]#
/mnt/
디렉터리에 마운트된 파일 시스템이/media/
에 반영되지 않았는지도 확인할 수 있습니다. 예를 들어/dev/sdc1
장치를 사용하는 비어 있지 않은 USB 플래시 드라이브가 연결되어 있고/mnt/flashdisk/
디렉터리가 있는 경우 다음을 입력합니다.~]# mount /dev/sdc1 /mnt/flashdisk ~]# ls /media/flashdisk ~]# ls /mnt/flashdisk en-US publican.cfg
- 바인딩할 수 없는 마운트
- 지정된 마운트 지점이 중복되지 않도록하기 위해 바인딩할 수 없는 마운트가 사용됩니다. 마운트 지점 유형을 바인딩할 수 없는 마운트로 변경하려면 쉘 프롬프트에 다음을 입력합니다.
mount
--make-unbindable
mount_point또는 선택한 마운트 지점 및 모든 마운트 지점의 마운트 유형을 변경할 수 있습니다.mount
--make-runbindable
mount_point예제 사용 예는 예 19.7. “바인딩할 수 없는 마운트 지점 생성” 를 참조하십시오.예 19.7. 바인딩할 수 없는 마운트 지점 생성
/media/
디렉토리가 공유되지 않도록 하려면root
로 다음을 수행합니다.#
mount --bind /media /media#
mount --make-unbindable /media이렇게 하면 이후에 이 마운트를 복제하려고 하면 오류가 발생하고 실패합니다.#
mount --bind /media /mnt mount: wrong fs type, bad option, bad superblock on /media, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so