*mount --bind 옵션

이 문서는 Fedora 한국 사용자 모임 운영을 하고 계신 태랑님, 편하게 말하면 저의 대학교 선배께서 한번 공부해보라며 주신 문서를 보고 간단히 사용하는 법을 익히고 문서화하여 남긴 것입니다.

글 쓰는 동안 편의상 존대말은 쓰지 않았습니다.

틀린 부분이 있거나 추가할 부분이 있으시면 언제든 댓글 달아주세요~

이 문서에 나오는 스크린샷은 Fedora 12 환경에서 찍은 것입니다.

-------------------------------------------------------------------------

형식 : mount --bind 디렉토리주소1 디렉토리주소2

-------------------------------------------------------------------------

mount --bind 옵션은 심볼릭링크를 파일로 인식하는 FTP에서 링크 대신 마운트를 시킴으로써 링크와 비슷한 역할을 하게 설정할 수 있는 옵션이다.

이 옵션은 FTP에서 로컬 사용자의 디렉토리를 익명사용자가 접근을 할 수 있도록 설정할 때 유용하게 사용 할 수 있다.

FTP에서만 사용하는 방법은 아니다.

mount 설정하는 법은 FTP에 기준을 놓고 기술하였다.

---------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------

 


우선은 새로운 사용자를 생성한다.

이미 사용자가 있다면 굳이 새로 생성하지 않아도 된다.


사용자가 생성됨과 동시에 /home/ 디렉토리 안에 새로운 사용자(이하 test)의 홈 디렉토리가 생성 된다.


그럼 test의 디렉토리로 가서 ls 명령어를 쳐보자.

당연히 .bashrc 같은 파일들을 빼고는 아무런 파일이 없다.


mount 후에 제대로 됬는지 확인 하기 위해 미리 test의 홈 디렉토리에 임의의 파일을 생성해둔다.


--------------------------------------------------------------------

추가된 부분1(그냥 링크 걸어줬을 시에 생기는 일)

--------------------------------------------------------------------
임의의 파일을 생성한 후 test라는 디렉토리를 심볼릭 링크를 시켜보곘다.


위 그림의 마지막 줄과 같이 /home/에 있는 /test 라는 디렉토리를

/var/ftp tests라는 이름으로 링크를 걸어 줬다.

링크가 제대로 걸렸는지 확인을 해보자.


그림과 같이 커맨드창으로는 제대로 링크가 걸어졌고

제대로 링크걸어준 디렉토리로 이동이 된다.

하지만........ FTP로 접속을 해보면 좀 당황 스러울 것이다.

우선 파이어폭스의 fireFTP로 접속을 해보았다.


보시는 바와 같이 링크 걸어 준 tests를 더블클릭하자

디렉토리 체인지 실패라는 메세지 창이 뜬다.

자세히 본 사람을 알겠지만 tests의 아이콘도 디렉토리의 아이콘이 아니다.

이번에는 윈도우에서 접속해보았다.


그림과 같이 아예 폴더 아이콘이 아닌 알 수 없는 형식의 파일 아이콘으로 뜬다.

혹시나 그래도 되지 않을까 하는 분들을 위해 한 번 더블클릭 해보았다.


더블클릭을 해보니 역시나 제대로 연결되지 못한다.

바로 이렇게 특정 디렉토리를 다른 디렉토리에 링크를 시켜야하는데

FTP에서는 링크를 파일로 인식을 해서 당황 스러울 때가 있을 것이다.

이 때 아래와 같은 방법으로 마운트 시켜 주면 해결이 된다.

--------------------------------------------------------------------

추가된 부분 -

--------------------------------------------------------------------


그냥 링크를 걸어주면 안된다는 것을 깨달았으니 이제 마운트 시키는 법을

알아보자.



추가된 부분 전에 기술되어 있는 작업을 했으면 이제 링크의 역할을 맡을 디렉토리(이하 디렉토리A)가 있을 곳으로 이동하자.

원하는 디렉토리로 이동했다면 디렉토리A를 원하는 이름으로 생성해준다.

(중요한 부분이다. ln 명령어와는 달리 mount 해줄 디렉토리가 미리 생성되어 있어야 한다.)

이미 원하는 디렉토리A가 생성되어 있다면 굳이 새로 생성할 필요는 없다.


디렉토리A를 생성했으니 이제 mount --bind 옵션을 이용해보자.

그림과 같이 mount --bind 옵션을 쓰고 홈 디렉토리의 경로를 써주고 뒤이어

디렉토리A의 경로를 써주자 (홈 디렉토리와 디렉토리A 경로 사이의 공백은 잊지 말자)


아무런 문제 없이 mount가 끝났다면 이제 확인을 해보자

디렉토리A로 위치를 이동해 ls 명령어를 쳐보자

미리 홈 디렉토리에 생성해두었던 임의의파일이 확인이 된다면 성공한 것이다.


--------------------------------------------------------------------

추가된 부분2 (마운트 했을 때의 결과)

--------------------------------------------------------------------
커맨드 상에는 아무런 문제 없이 제대로 되었으니 이제 FTP에 접속하여

확인을 해보겠다.

우선 파이어폭스의 fireFTP 로 확인 해보겠다.


제대로 디렉토리 변경이 된다.

물론 먼저 만들어 놓았던 test.txt도 있다.

이미 눈치 챈 사람도 있겠지만 위에 추가된 부분 1 에서는 링크 걸어줬을 시에

아이콘이 디렉토리 모양이 아니었는데 마운트 시켜준 다음에는

디렉토리 아이콘으로 나오는걸 알 수 있다.

이번에는 윈도우에서 확인해보겠다.


역시나 추가된 부분1 에서와는 달리 아이콘이 폴더형이 되어있다.

제대로 되는지 더블클릭을 해보겠다.


역시나 제대로 된다.


--------------------------------------------------------------------

추가된 부분2 -

-------------------------------------------------------------------





혹 디렉토리A mount를 해제하고 싶다면 위 그림과 같이 디렉토리A의 상위 디렉토리에서 umount 명령어를 이용해 mount를 해제해주면 된다.

단지 mount만 해제하는 것이므로 디렉토리가 제거되지는 않는다.

---------------------------------------------------------------------------------------

위 기술한 것만 잘 따라했다면 별 문제없이 성공을 했을 것이라 생각된다.

그렇게 어려운 내용은 없지 않나 싶다.

하지만 위와 같이만 해줄 시에 생기는 문제점이 있다.

바로 시스템을 재시작하면 mount가 자동으로 해제된다는 것이다.

하지만 해결방법은 있다.

해결방법은 다음과 같이 하면 된다.

---------------------------------------------------------------------------------------


잘은 모르겠지만 mtab이라는 부분은 현재 시스템상에 mount 되어 있는 정보들을 기록하고 있는 부분인 것 같다.

아무튼 위 그림에서 제일 마지막 줄

/home/test /var/ftp/test none rw,bind 0 0

이라는 부분을 /etc/fstab이라는 곳에 옮겨줘야 한다.


위에 그림을 보면 vi를 이용해 /etc/fstab을 열어 마지막 줄에 mtab의 마지막 줄을 입력해주었다. 이렇게 입력을 하고 저장을 하면 시스템을 재시작해도 /var/ftp test라는 디렉토리A는 계속 mount 상태가 유지 된다.

여러 명령어를 조합해 잘 사용할 수 있는 사용자라면 아래 그림과 같이 해줘도 된다.


보는 바와 같이 cat 명령어를 이용해 /etc/mtab 을 읽고 grep 명령어로 test가 들어간 부분을 찾아 /etc/fstab에 쓰도록 되어 있다.( - 말로 풀어 쓰려니 자연스럽게 되지 않내요;; - )

cat /etc/mtab | grep test >> /etc/fstab

위와 같이 입력해 문제 없이 진행이 됬다면 cat /etc/fstab을 입력해 제대로 입력이 됬는지 확인해보자.

 

제대로 입력이 되었다.

---------------------------------------------------------------------------------------

이렇게 fstab mtab의 정보를 넣어주게 되면 시스템을 재시작하게 되어도 자동 마운트가 된다. 어느 책을 보았는데 automount에 관한 부분이 있었던 걸로 기억한다.

필자와 같은 방법으로 해도 될 것이고 그 책에 나온 방법을 써도 될 것이다.

---------------------------------------------------------------------------------------

두 번째 문서화인데 역시나 많이 부족해 보이내요.

위에서 앞서 써놓았지만 틀린 부분이나 추가해야 할 점이 있다면 언제든지 댓글 달아주세요~

 

 


' 2016년 이전 > Command' 카테고리의 다른 글

[Ubuntu] 설치된 패키지 확인  (0) 2014.12.29
vi / vim 단축키 모음 이미지  (0) 2011.10.18

+ Recent posts