· KLDP.org · KLDP.net · KLDP Wiki · KLDP BBS ·
Docbook Sgml/Automount

Automount mini-Howto

Automount mini-Howto

Rahul Sundaram

경제범

v1.6, 2002-12-27

이 파일은 autofs 오토마운터(automounter)를 설명하고, 그것을 어떻세 설정하며, 몇가지 문제점을 어떻게 피할것인가에 초점이 맞춰져있다.

고친 과정
고침 0.32003-01-02고친이 경제범
v1.6 번역
고침 0.22001-11-24고친이 나상호
DocBook 변환
고침 0.11998-12-31고친이 김명운
최초 번역

1. 소개

1.1. 개정역사

  • 버전 1.5 미만 - Don에 의해 저술됨

  • 버전 1.5 - 저작권과 다른 사소한 사항이 추가됨. Rahul Sundaram이 유지를 맡음.

  • 버전 1.5.1 - VFAT에 대한 질문을 추가함.

  • 버전 1.5.2 - 개정역사와 몇가지 사소한 수정.

  • 버전 1.5.6 - 몇 가지 질문과 답변 추가.


1.2. 오토마운트(Automount) - 무엇을, 왜?

오토마운팅(Automounting)이란 어떤 파일시스템(filesystem)의 마운팅(mounting)과 언마운팅(unmounting)이 데몬(daemon)에 의해 자동적으로 이루어지는 프로세스(process)이다. 만약 그 파일시스템이 언마운트(unmount)되어있고 사용자가 그 파일시스템에 접근하려고 한다면, 그 파일시스템은 자동적으로 (다시)마운트될 것이다. 이것은 거대한 네트워크 환경에서, 그리고 몇 개의 머신(machine)사이의 크로스마운트 파일시스템(crossmounting filesystem)을 위해서 매우 유용하다. 이것은 또한 이동형 장치(removable device)에 매우 유용하며, 또한 도스(dos)파일시스템의 아스키 변환 마운트의 시작과 끝 사이의 쉬운 스위칭같은 몇 가지 다른 용도에도 매우 유용하다. 만약 당신이 리눅스에 처음이고 마운트와 데몬을 이해하지 못한다면 이것에 관한 다른 문서를 참조해라.


1.3. 오토마운팅의 종류

리눅스에는 두 종류의 오토마운터(automounter)가 있다;AMDautofs. AMD는 오토마운트 데몬인데, 아마 SunOS AMD처럼 동작할 것이다. 그것은 사용자 공간(user space)에서 구현되는데 그것은 커널의 일부분이 아니라는 것을 의미한다. 당신이 AMD 데몬을 통해서, NFS 시스템으로 모든 오토마운트 파일시스템 트래픽을 보내는 로컬 호스트에 NFS를 마운트한다면 커널이 오토마운팅을 이해할 필요는 없다. Autofs는 커널이 도와주는 더 새로운 시스템인데, 그것은 커널의 파일시스템 코드가 오토마운트의 마운트 위치(mount point)가 다른 보통의 기본적인 파일시스템상의 어디에 있는지 안다는 것을 의미한다. 그리고 오토마운트 프로그램은 그곳에서 마운트 위치를 가져온다. 이 mini-howto에서는 autofs만 다룰 것이다.


2. 관리

2.1. 저작권 정보

이 mini-HOWTO는 Rahul Sundaram에 저작권이 있다. 모든 권리는 보호된다. 이 문서는 Linux Documentation Project license하에서 허가된다. 나는 어떠한 종류의 상업적인 배포도 환영하지만 이것과 관련된 정보를 받았으면 좋겠다. 나는 이 문서를 번역하고자 하는 사람을 도울 것이다. 만약 당신이 라이센스 용어에 어떠한 예외를 요구하고자 한다면 Rahul Sundaram으로 연락해라. 이 문서의 최신 버전은 Linux Documentation 웹사이트에서, http://tldp.org/HOWTO/mini/Automount.html에서 구할 수 있다.


2.2. 포기

비록 내가 최선을 다해서 좋은 형태로 이 howto를 출판하고자 하지만, 나는 이 문서에 담긴 정보를 바탕으로 행해진 행동으로 인한 어떠한 피해에도 책임이 없다. 모든 환경에서 테스트해보는 것이 불가능하고, 그래서 아마도 이 문서에서 주는 몇가지 힌트는 잘못될 수 있고 당신의 시스템에서 동작하지 않을 수 있다. 당신이 잘못된 점을 발견한 경우에 나에게 먼저 알려라. 나는 가능한 빨리 다시 작성할 것이다.

이 문서는 ``현상대로'' 제공된다. 나는 되도록 정확하게 이것을 작성하려고 큰 노력을 했지만, 당신 스스로 위험을 감수하고 여기에 담겨있는 정보를 사용해야 한다. 이 문서의 사용의 결과로 인한 어떠한 피해에도 내가 책임지는 일은 없을 것이다.


3. 설치

Autofs는 커널 공간(kernel space)에서 구현되기때문에 당신의 커널은 컴파일되어야 한다. 2.2.xx로 시작하는 모든 버전의 커널은 autofs를 지원한다.

오토마운트 프로그램과 그것의 설정파일이 필요하다; rpm를 사용한다. RedHat 배포본은 설치의 부분으로써 이 패키지를 가지고 있다.


4. 설정

RPM 패키지 설치는 쉽겠지만, 당신이 예전에 해본적이 없다면 잘 알지 못하는 부분일 것이다.

/etc에는 auto.masterauto.misc라 불리는 두 개의 파일이 있다. 예를 들어 auto.master는 다음과 같다.

/auto    /etc/auto.misc    -timeout=60
			

첫번째 항목은 마운트 위치(mount point)가 아니다. 그것은 마운트 위치(두번째 항목에서 볼 수 있는)의 집합이 될 곳이다. 세번째 옵션은 마운트된 파일시스템이 사용후 60초가 지나면 스스로를 언마운트하려고 시도한다는 것을 말한다.

Auto.misc는 "맵(map)파일"이다. 맵 파일은 어떠한 이름도 가질 수 있다; 이것들 중 하나가 auto.misc인데 그 이유는 그것이 원래 /misc를 제어했기 때문이다. 다중 맵 파일은 auto.master 안에 정의될 수 있다. 내 auto.misc는 다음과 같다:

kernel		-ro,soft,intr		ftp.kernel.org:/pub/linux
cd		-fstype=iso9660,ro	:/dev/cdrom
zip		-fstype=auto		:/dev/hdd4
floppy		-fstype=vfat		:/dev/fd0
			

첫째 열("key")는 마운트 위치이다. 이 경우에는 /auto/floppy 또는 다른 무엇인가가 될 것이다. 가운데 집합은 옵션이다; 이것에 대한 상세한 정보는 마운트 맨 페이지(manpage)를 읽어라. 그리고 마지막 열은 파일시스템이 어디서 왔는지를 나타낸다. "kernel" 항목은 NFS 마운트라고 가정한다: 다른 모든 행은 그것의 지역 장치(local device)를 의미한다.


5. 언마운팅으로 인한 장시간 대기

당신들 중 몇몇은 60초 시간제한을 주목하고 또 생각하고 있을지 모르는데, 그것은 플로피를 제거하고 기다리기에는 오랜 시간이다..아마도 내가 그냥 디스크를 싱크(sync)하고 마운트된 디스켓을 꺼내도 아무도 알지 못할 것이다. 나는 정상적인 대안을 제안한다. 우선, 당신은 시간제한을 변경할 수 있다. 그러나 그것은 조금 비능률적이다; 단지 15초나 또는 아무때나 시스템에게 언마운트할 것을 말하는 것. 당신의 설정에 의존해서, 보통의 사용자로써 간단히 언마운트 명령을 실행할 수도 있다. 그러나 실제로 오토마운트 프로그램에 언마운트를 요청하는 방법이 있다. 만약 당신이 (kill 프로그램을 가지고) SUGUSR1 시그널을 오토마운트 프로세스에 보낸다면, 그것은 할 수 있는 모든 것을 언마운트할 것이다. 그러나 사람들이 윈도우 매니저에 언마운트버튼을 만들기 전에 사소한 문제가 있다.

오토마운트 프로세스는 루트에 의해 실행되고, 그것은 오직 루트로부터 신호를 받는다. 당신이 오토마운팅을 사용하고 있는 이유의 절반은 루트가 되지 않고 마운트와 언마운트를 할 수 있기 때문일 것이다. suid-root C 프로그램을 만드는 지저분한 행동은 쉽다. 그러나, sudo를 이용해서 사용자가 적절한 kill 시그널을 보내도록 허용하는것은 가능하다. 유일한 문제는 sudo가 현재의 PID를 알기 위해 할 수 있는 프로세스 부명령어를 사용하지 못하게 한다는 것이다. 당신은 killall이라는 프로그램을 가지고 있어야 하는데 그것은 당신이 아래의 것을 하도록 할 것이다:

ALL		ALL=NOPASSWD:/usr/bin/killadll	-USR1	automount
			

그렇지않으면, 당신은 모든 사용자가 모든 프로세스에 -SIGUSR1 시그널을 보내도록 허용해야 한다. 그것은 프로그램들에 다양한 영향을 미친다; 어떤 윈도우매니저들은 재사용하겠지만, xemacs는 죽인다. 그래서 killall 안에서 중복실행하는 버퍼가 없기를 바란다...


6. 질문

6.1. 나는 /auto/floppy/, 또는 내가 찾는 마운트위치를 볼 수가 없다.

만약 오토마운트가 적절히 설치됐다면, 비록 당신이 사용하지 않을때 그것을 볼 수 없다해도, 당신이 찾고 있는 어떠한 마운트위치도 그것을 사용하려고 시도한다면 거기에 있을 것이다. 만약 그래픽 툴로 디렉토리를 탐색하고 있다면, 당신은 그 이름을 직접 입력하는것이 필요할 수도 있다; 대부분의 프로그램들은 당신이 입력한 이름을 찾으려고 시도할 것이며, 그 드라이브(drive)는 통보하기전에 마운트될 것이다. 불행히도, 이용할 수 있는데도 보이지 않는 마운트위치를 선택할 수 없는것은 autofs의 약점이다. 만약 이것이 정말로 버그라면, 설정파일을 수정해라.(힌트, "설정"을 위한 .c파일의 끝부분중 하나)

여러사람이 오토마운트한 곳으로 심볼릭 링크를 생성하려고 시도하는 작업은 마운트된 한번만 생성될 것이다. 이것은 디렉토리가 존재하지 않는 것으로부터(즉, 마운트가 작동하면) 프로그램을 보호할 것이다. 그러나 부주의한 디렉토리 리스팅(directory listing)은 파일시스템이 마운트되도록 할 것이다.


6.2. 무엇이 마운트되었는지 어떻게 볼 수 있습니까?

df명령어.옵션없는 mount도 똑같고, 마운트될때의 옵션을 더 보여준다.


6.3. 나는 win95 디스크("vfat")를 꽂았고 그것은 오직 보통의 FAT 디스크로 자동인식된다

이것은 automount의 문제가 아니다. "auto" 파일시스템 타입은 그것이 MS-DOS 파일시스템을 성공적으로 마운트하기전에 vfat 마운트를 시도하지 않는다. VFAT는 Windows 95와 Windows NT가 긴 파일명을 제공하기위해 기본적인 FAT 파일시스템의 확장한 것이다.

마운트의 제작자중 한 명의 말에 따르면, 마운트는 오직 파일시스템 타입을 나타내야하는 시스템콜을 둘러싸는것일 뿐이고, 그것은 여전히 그 파일시스템을 제안한 사용자의 책임이다. 마운트하는것은 현재의 "발견적 방법"이 고려할 사항하에 있는것보다 파일시스템의 리스트에서 가져오는것이 낫다. 어떤 사용자들은 커널에 msdos를 컴파일하지 않는다; 이것은 vfat보다 먼저 테스트되는것으로부터 커널을 보호한다. 이것은 대부분의 사람에게 잘 될것이다; 몇 개는 msdos 파일시스템을 요구하고 실제로 주위에 작업이 있다. 당신은 /proc/filesystems을 /etc/filesystems로 복사해야하고 msdos전에 vfat가 나타나도록 순서를 변경하기위해 그것을 수정해야 한다.(고맙습니다 Mark씨)

Ariel(aslinux At dsgml.com)가 작성함

"o는 fat전에 vfat를 마운트하도록 한다. 그냥 /etc/filesystems 파일을 만들거나 수정해라

우선권을 위해, 당신이 시도하길 원하는 '자동' 파일시스템 타입을 나열해라.

cp /proc/filesystems /etc/filesystems 명령으로 파일을 생성해라.

순서가 바뀌도록 리스트를 수정해라. 예컨데 ext2같이 큰 신뢰를 가지고 탐지될 파일시스템 타입을 두고(이것은 그것들이 가장 빨리 체크될것이라는 것을 의미한다), 당신에게 더 일반적인 것들을 처음에 둬라. msdos 전에 vfat를 두면 모든것이 설정된다. vfat를 가지고 있지 않은 어떤것을 당신이 마운팅하는 경우면 두 개를 두는 것을 확인해라.

내 것은 다음과 같다:

ext2
vfat
msdos
iso9660

****

나는 이동형 장치를 위해 1초의 시간제한을 사용한다. 당신이 필요로하는 시간제한에 의해 구분되는 독립된 맵(map)을 만들어라.

1초를 생각하고 있는가? 그것은 많은 자원을 낭비한다 - 그러나 그것은 하지 않는다. 시스템은 오직 그것이 더이상 사용하지 않을때만 언마운트한다는것을 기억해라.

그래서 1초의 언마운트는 장치를 아무도 사용하지 않으면 곧마로 언마운트한다는것을 의미한다.

또한, 플로피를 위한 옵션으로써 'sync'를 두는것을 확실히 해라

i.e.

floppy -fstype=auto,sync,user,umask=002,gid=floppy :/dev/fd0"

그것은 답을 명확하게 만든다.


6.4. 내 파일시스템 /auto/grumblesmurf는 마운트되어있고 kill -SIGUSR1은 그것을 언마운트하지 않는다.

그것은 누군가에 의해 사용되고 있는 중이다. 루트는 그것을 직접 언마운트할 수 없다. 만약 당신이 그것을 언마운트되도록 한 사람이라면(i.e. 그것은 파일시스템을 사용하고 있는 사람일 수 없다)그 디렉토리 내부일 수 있는 쉘을 둘러봐라. 만약 아무것도 없다면, 말하자면 문 안의 보이지 않는 앙금을 남겨둘 수도 있는 그밖에 다른것을(특히 디렉토리 탐색기처럼 디렉토리로 갈 수도 있는것)찾아라. 만약 당신이 찾는것을 보기한다면 융합 프로그램을 사용해보아라.


6.5. 내가 만약 오토마운터를 위해 / 디렉토리를 만들면 무슨 일이 벌어지나

나는 그것을 추천하지않는다. 만약 당신이 /grumblesmurf를 원한다면, 그때 나는 심볼릭 링크를 제안한다. 그것이 더 안전할 것이다.


6.6. 같은 디렉토리에 두개의 맵 파일을 가질 수 있나?

내가 아는 한 안된다. 각각의 항목을 위한 옵션을 나타내는 하나의 맵 파일을 사용해라.


6.7. 나는 SuSE 6.0을 사용하고 있고 --timeout 대신 ---timeout가 요구된다.

"시간제한이 작동하지 않는" 문제에 대한 또다른 해결책은 autofs 스크립트에 -t time 옵션을 추가하는 것이다.


6.8. 파일시스템(예를 들면)FAT를 위해 허가와 소유를 어떻게 설정해야 하는가.

예컨데 uid=value 또는 umask=value 옵션의 설정같은 몇가지 옵션을 위한 마운트의 맨 페이지를 확인해라. FAT 파일시스템을 위해 놓칠 수 있는 옵션은 mode=value이다. 미안하다. 마운팅하는 사람과 함께 확인해라.


6.9. 서브 디렉토리가 현재 마운트되어있지 않을때, autofs 디렉토리의 내용을 어떻게 탐색할 수 있는가?

Philippe Froidevaux (philippe.froidevaux AT unifr.ch)가 작성함

" autofs의 제작자가 "방법이 없다"고 함

가능한 방법은 (뉴스그룹에서) :

" /home/blauser 에 마운트 하지 말고 /mount/.auto/blauser에 마운트한 뒤, /home/blauser -> /mount/.auto/blauser로 링크를 추가해라

이제 당신은 /home 내부를 탐색할 수 있고 사용자-홈을 볼 수 있다. 그리고 그것은 당신이 들어갈 때 마운트된다.

이것과 관련된 문제: 그것은 깔끔하지 않고 각각의 사용자에게 모두 필요한 작업이다.

또다른 해결방법은 'autofs' 대신에 'amd'를 사용하는 것이다. 그러나 amd는 성능이 좀 떨어진다."


6.10. autofs를 누구에게 감사해야 하나?

이것은 autofs를 가지고 할 수 있는 큰 작업에 모든 사람들의 관심을 붙들기 위해 당신에게 제공되는 문서일 뿐이고, 그것은 사용하기 쉽다. AMD의 원래 가해자와 비교해서, autofs는 매우 잘 문서화되어있고 구현자들은 나의 진심의 감사를 가지고 있다. 모든 권리는 Transmeta company에 있고 그래서 크레딧 목록을 제공하는 것은 불가능하지만 Peter Anvin은 아마도 그것에 조금이나마 책임이 있을것다. Peter는 1999년 3월 3일 linuxworldexpo에서 autofs에 대한 회의를 개최했다.


6.12. 개발자와 어디서 만날 수 있는가? autofs를 위한 메일링 리스트는 있는가?

나는 이것과 관련된 어떠한 정보도 밝힐 수 없다. 만약 당신이 어떤것을 발견하면 나에게 먼저 알려주기 바란다.


7. 감사, 의견 그리고 헌정

나는 Don(이메일 주소가 지금 유효하지 않은것 같다)에게 이 mini-HowTo상에 그의 원작에 감사하고 싶다. 나는 "win95 vfat" 주제에 대한 질문과 관련된 대답에 대하 Ariel에게 감사한다. 나는 지원해준 내 모든 친구들에게 감사하고 내가 이 작업을 완성하는 동안 나를 충분히 기다려준 모든사람들에게 감사한다. 어떠한 제안, 향상, 또는 번뜩이는 아이디어가 있으면 Rahul Sundaram 나에게 메일을 보내달라. 내가 이 문서에 덧붙일 수 있는 좋은 튜토리얼이나 자료를 가지고 있다면 나에게 보내주길 바란다. 미리 감사를 표한다. 이 문서를 나의 돌아가신 부모님 Mr.V.Sundaram과 Mrs.S.Soundara Sundaram에게 바친다.




sponsored by andamiro
sponsored by cdnetworks
sponsored by HP

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2003-08-10 11:52:29
Processing time 0.0031 sec