CD 서버 하우투Randolph Tata임은재v1.00, 2000년 9월 23일
1. 소개30G IBM 하드 디스크(2000년 8월 현재 160$)와 오픈 소스 기반의 CD 서버 솔루션은 $800-$4,000을 필요로 하는 소프트웨어, thin-server, CD Jukebox 솔루션을 대체할수 있다. 나는 64M 메모리를 가진 펜티엄 120 으로 CD 서버를 구축했다. 1.1. 의도하는 것이 하우투 문서는 특히 시스템 관리자들을 위해 씌여지고, 리눅스에서의 예들을 사용했다. 이것은 루프 디바이스 또는 CD 이미지를 마운트 할수 있는 다른 Unix 에서도 작동할 것이다. 1.2. 필요한 것CD 서버를 설정하기 위한 명령와 유틸리티들은 이미 대부분의 리눅스 배포본에 포함되어 있다.
1.3. 읽기를 권함Using Samba : Robert Eckstein, David Collier-Brown, Peter Kelly 1st Edition November 1999, O'Reilly and Associates, Inc. ISBN 1-56592-449-5, 1.4. CopyrightCDServer-HOWTO, Copyright (c) 2000, Randolph Tata, All Rights Reserved 이 문서는 어떤 형태로든 자유롭게 복사/배포 될수 있다. 수정/의견은 저자인 Randolph Tata로 보내주기 바란다. 당신은 이 문서로 파생될수 있는 이차적 저작물을 만들고 배포할수 있다.
이 문서의 번역 이외에 다른 변경,수정, 이차적 파생물은 원 저자와의 논의를 요한다. 1.5. Disclaimer나는 이 문서로 인한 피해에 대해 책임을 지지 않는다. 이 문서의 내용을 사용하는 것은 전적으로 당신의 책임이다. 모든 저작권은 특별히 표시되어 있지 않는한 그들에게 소유되어 있다. 이 문서에서의 용어 사용은 그것들의 상표, 서비스 마크에 아무런 영향을 끼치지 않는다. 이 문서에서 거론된 상표는 그 물건에 대한 추천으로 받아 들여져 서는 않된다. 시스템의 백업/ 주기적인 백업을 권장한다. 1.6. 뉴스이것은 이 문서의 첫번째 sgml 버젼이다. SGML 소스 추가/변경은 이 sgml 소스를 바탕으로 이루어져야 한다. 이 문서의 홈 페이지는 Open CD Server Project 이며 마지막 버젼도 이곳에서 찾을수 있다. 용량이 허락한다면 이 문서를 여러 포맷과 언어로 만드는 것은 멋진 일일 것이다. :-) 1.7. Credits다음 분들에게 감사드린다.
1.8. 번역http://kldp.org에 이 문서의 한글 번역본이 있다. 이 문서에 대한 제안/추가는 Talcon Information Systems의 내 이메일 주소인 2. 과정개요
2.1. ISO 이미지 만들기하드 디스크에서 충분히 비어 있는 파일 시스템을 고르거나, 만든다. 보통 한장의 CD 롬은 640MB의 데이타를 저장하고 있다는 것을 고려해라. 만약, 8장의 CD를 공유하려 한다면, 5.1GB 정도의 공간을 필요로 한다.
여기서 /home 파일 시스템이 가장 많은 빈 공간을 가지고 있으므로, CD 이미지를 덤프하기에 적당하다.
이제, CD를 iso 이미지 파일로 복사한다. 당신은 CD 롬 디바이스명을 알아야 한다 (보통 /dev/cdrom 이거나 SCSI CD 롬일 경우 /dev/scd0). 나는 예제로 만드레이크 배포본 CD 를 사용할 것이다.
"if=" 는 입력 파일(디바이스), "of="는 출력 파일이다. 이 명령의 수행시 화면에 출력되는 입/출력 레코드 메세지를 볼수 있다. (i/o 에러가 없길 바란다.) 2.2. ISO 이미지 마운트 하기다음 단계는 iso 이미지 파일을 마운트 하는 것이다. 이미지 파일을 마운트 할수 있도록 /mnt 디렉토리안에 서브 디렉토리를 만들어 주자.
이제 만들어 놓은 디렉토리에 ISO 파일을 마운트 하자.
"-o loop" 옵션은 블럭 디바이스로의 파일 마운트를, "-t iso9660"는 CD 롬 파일 시스템의 포맷을 뜻한다. "-r" 은 읽기 전용을 의미한다. 이제 다음과 같이 할수 있다:
위 명령의 결과는 마치 CD롬을 마운트해 ls 한것과 같은 결과를 보일 것이다. 2.3. 시스템 재시동시 마다 이미지 마운트 하기수동으로의 이미지 파일 마운트가 성공적 이었다면, 시스템 재시동시 마다 자동으로 마운트 되도록 /etc/fstab 파일을 고쳐주어야 한다 (나는 vim 을 사용했지만, Emacs, Joe, Pico , Jed등을 사용해도 된다 :-)).
다음과 같은 라인 다음에 (당신의 CD 이미지가 마운트된 파일 시스템이 먼저 마운트 되어야 하므로)
다음과 같은 줄을 넣어준다:
2.4. 삼바를 이용한 윈도우 네트워크 상의 공유이것을 위해 당신은 삼바를 설치할 필요가 있다. 삼바 패키지는 대부분의 배포본에 포함되어 있므며, 만약 직접 컴파일해 설치하기를 원한다면 http://www.samba.org 를 방문하라. 마운트 된 CD 이미지들을 윈도우 네크워크에서 공유하기 위해 다음을 삼바 설정 파일인 /etc/smb.conf 파일에 첨가해준다.
이것은 /mnt/iso 디렉토리하의 모든 서브 디렉토리들을 공유하게 될것이다. 이것을 윈도우상에서 로컬 드라이브(여기서는 I:)로 마운트 하기 위해서는, MS-DOS 프롬프트에서 다음과 같이 한다:
이제 각각의 CD 이미지들은 윈도우상의 I: 드라이브의 서브 디렉토리로 보여질 것이다. 만드레이크 cd 이미지만을 공유하기 위해서 다음과 같이 /etc/smb.conf 를 수정한다.
도스 프롬프트 상에서, 다음과 같이 마운트 한다:
2.5. NFS 를 이용한 유닉스 네크워크 상의 공유리눅스 서버에서 NFS 가 제대로 설정되어 운영되고 있다면, 다음 줄을 /etc/exports 에 추가한다:
이제 "showmount -e 리눅스cd서버" 명령은 /mnt/iso 를 포함하는 결과를 보여주어야 한다. 3. 루프 디바이스 추가하기리눅스 만드레이크 배포본(7.0)은 8개의 루프 디바이스를 사용할수 있도록 커널이 컴파일 되어 있다. 만약 8개 이상의 CD 이미지를 마운트 하려면 이번장을 읽어 봐라. 3.1. 커널 고치기커널이 지원하는 루프 디바이스의 숫자를 늘리려면 /usr/src/linux/drivers/block/loop.c 파일을 수정해야 한다. 만약, 당신이 커널 소스를 당신의 머신에서 찾을수 없다면, 배포본에 있는 커널 소스를 설치해라. usr/src/linux/drivers/block/loop.c 파일에서 다음 라인을 찾아 필요한 만큼의 루프 디바이스 적어준다.
커널과 모듈들을 새로이 컴파일/설치 한다. 도움이 필요하다면 /usr/src/linux/README를 읽어라. 3.2. /dev 에 루프 디바이스 만들기mknod 명령은 /dev 에 디바이스를 만들어 준다. 루프 디바이스의 major 번호는 "7" 이고 minor 번호는 "0"으로 시작한다. 만약 당신이 /usr/src/linux/drivers/block/loop.c 에 MAX_LOOP 를 8로 설정했다면, /dev 에 loop0 에서 loop7 까지가 존재해야 한다. /dev/loop8 디바이스를 만들기 위해서는 다음과 같이 한다.
새로운 파일의 소유권, 퍼미션을 확인하자. 다음과 같은 명령으로 바꿀수 있다.
다음 명령으로 퍼미션을 바꿀수 있다:
|
Standing on head makes smile of frown, but rest of face also upside down. |
||||||||||||||||||||||||||||||||||||||||











