MOUNT_UNIONFS(8)

명칭
mount_unionfs - 유니온 파일 시스템을 mount 한다

서식
mount_unionfs [-br] [-o options] directory uniondir

해설
mount_unionfs 유틸리티는 directory (을)를 uniondir 의 위에 접속해, 거기로부터 양쪽 모두의 디렉토리 트리의 내용이 보이도록(듯이) 합니다. 디폴트에서는, directory 하지만 상의 층에, uniondir 하지만 하의 층이 됩니다.

옵션에는 이하의 것이 있습니다:

-b  디폴트의 상하 관계를 반전합니다. 즉, directory 하지만 아래의 층에, uniondir 하지만 위의 층이 됩니다. 다만, 마운트 포인트는 uniondir 대로 됩니다.

-o  -o 플래그의 뒤에는, 옵션 캐릭터 라인을 콤마로 단락지어 지정합니다. 지정 가능한 옵션과 그 의미에 대해서는 mount(8) (을)를 참조해 주세요.

-r  mount_nullfs(8) 그리고 mount 했을 경우와 같게, 아래의 층을 완전하게 숨기게 됩니다.

파일 시스템의 보안를 유지하기 위해(때문에), 파일 시스템을 mount 하는 유저는, 슈퍼 유저인가, 마운트 포인트의 디렉토리에 기입해 허가를 가지는 사람이 아니면 안됩니다.

파일의 검색은, 위의 층, 아래의 층의 순서에 행해집니다. 위의 층에는 엔트리가 없는 디렉토리가, 아래의 층에서 발견되었을 경우에는, 위의 층에 그림자 디렉토리가 만들어집니다. 이 디렉토리는 유니온 mount를 실행한 유저의 소유가 되어, 모드는 “rwxrwxrwx” (0777)(을)를 그 시점에서 유효한 umask 로 수정한 것이 됩니다.

어느 파일이 위의 층에 존재하고 있는 경우, 아래의 층에 있다 같은 이름의 파일을 액세스 하는 방법은 없습니다. 아무래도 필요하면, 루프백 mount와 유니온 mount를 배합하는 것으로, 다른 패스명을 사용해 아래의 층의 파일을 액세스 할 수 있도록(듯이) 해 둘 수가 있습니다.

오브젝트에의 액세스는, 그것이 디렉토리인 경우를 제외해, 통상의 파일 시스템의 액세스권 체크의 나중에 실행됩니다. 디렉토리의 경우에는, 액세스를 행하는 유저는 위의 층과 아래의 층의 양쪽 모두의 디렉토리의 액세스권을 가지고 있지 않으면 안됩니다 (양쪽 모두의 디렉토리가 존재하고 있을 필요가 있습니다).

몇개의 특별한 경우를 제외해, uniondir 안의 오브젝트의 작성이나 변경의 요구는 위의 층에게 건네집니다. 아래의 층에 존재하는 파일을 기입해용으로 오픈하려고 하면(자), 그 파일의 완전한 카피가 위의 층에 작성되어 그리고 위의 층의 카피가 오픈됩니다. 같이 아래의 층의 파일을 절약해 사이즈를 0 으로 하려고 하면(자), 하늘의 파일이 위의 층에 작성되게 됩니다. 이외의, 정말로 아래의 층의 변경이 필요한 조작은 실패해, EROFS 하지만 돌려주어집니다.

유니온 파일 시스템은, 개개의 파일 시스템을 취급한다고 하는 것보다도 이름 공간을 취급하는 것입니다. 유니온 mount는 uniondir 이하의 디렉토리 트리에 재귀적으로 영향을 줍니다. 이 때문에 uniondir 이하에 mount 된 파일 시스템은, 모두 유니온 효과를 가지게 됩니다. 이것이 mount(8) 의 union 옵션과는 다른 점입니다. union 옵션에서는, 유니온 효과는 마운트 포인트인 만큼 일해, 파일명의 탐색에만 사용됩니다.

사용예
명령

    mount -t cd9660 -o ro /dev/cd0a /usr/src
    mount -t unionfs /var/obj /usr/src

(은)는, CD-ROM 드라이브 /dev/cd0a (을)를 /usr/src 에 mount 해, 그 위에 /var/obj (을)를 거듭합니다. 대부분의 경우, 이것은 소스 트리가 실제로는 CD-ROM 상에 있는 것에도 불구하고, 기입이 가능하게 된다고 하는 효과를 목적으로 하고 있습니다.

명령

    mount -t unionfs -o -b /sys $HOME/sys

(은)는, 유저의 홈 디렉토리아래의 sys 디렉토리에, 시스템의 소스 트리를 아래의 층으로서 거듭해 맞춥니다. 이것에 의해, 개개의 유저가 그 소스 트리에 대해서 개인적인 변경을 더해, 새로운 커널을 구축할 수가 있게 됩니다. 다른 유저는 그 변경에 칸치 하지 않습니다. 아래의 층의 파일은, 그대로 /sys (으)로부터 액세스 할 수 있는 것에 주의해 주세요.

관련 항목
intro(2), mount(2), unmount(2), fstab(5), mount(8), mount_nullfs(8)

버그
본파일 시스템 타입은, 아직 완전하게는 서포트되고 있지 않습니다 (주: 기능하지 않는다고 하는 것입니다) 해, 실제의 곳사용하면(자) 시스템상의 데이터를 파괴할지도 모릅니다. 자기책임에 대해 사용해 주세요. 맹견 주의. 젖고 있어 미끄러집니다.

위험성을 줄이기 위해서(때문에)는, 이 코드도 또 소유자를 필요로 하고 있습니다 - 성실한 해커는 메일을 hackers@freebsd.org 에 보내 인계의 의사를 선언해 주세요.

위의 층을 지탱하고 있는 파일 시스템으로, 화이트 아웃이 서포트되어 있지 않기 때문에, 아래의 층의 오브젝트에 대해서 삭제나 이름 변경의 조작을 행하는 방법은 없습니다. 이러한 조작이나, 아래의 층을 변경하는 조작, 예를 들어 chmod(1) (와)과 같은 조작에 대해서는, EROFS 하지만 돌려주어집니다.

유니온 트리 위에서 find(1) (을)를 실행하면(자), 위의 층에 그림자 디렉토리의 트리가 작성되어 버린다고 하는 부작용이 있습니다.

역사
mount_unionfs 유틸리티는 4.4BSD 그리고 처음으로 등장했습니다. 최초로 동작한 것은 FreeBSD -(요기입) 입니다 (역주: 원문은 FreeBSD-(fill this in)).