개요
CD 이미지 파일들을 저장하기 위한 큼지막한 파티션 만들기
"dd" 명령어로 CD 를 이미지 파일로 저장한다.
CD 이미지를 마운트 한다.
삼바, NFS 등을 이용해서 마운트된 디렉토리를 네크워크상에서 공유한다.
하드 디스크에서 충분히 비어 있는 파일 시스템을 고르거나, 만든다. 보통 한장의 CD 롬은 640MB의 데이타를 저장하고 있다는 것을 고려해라. 만약, 8장의 CD를 공유하려 한다면, 5.1GB 정도의 공간을 필요로 한다.
루트로 로긴 하거나, su - 하여 루트 권한으로 작업한다. bash# df -h Filesystem Size Used Avail Use% Mounted on /dev/hda5 1.4G 82M 1.3G 6% / /dev/hda1 15M 827k 14M 6% /boot /dev/hda7 2.4G 1008M 1.3G 43% /usr /dev/hda8 23.6G 11.7G 11.7G 50% /home |
여기서 /home 파일 시스템이 가장 많은 빈 공간을 가지고 있으므로, CD 이미지를 덤프하기에 적당하다.
bash# cd /home bash# mkdir image bash# cd image |
이제, CD를 iso 이미지 파일로 복사한다. 당신은 CD 롬 디바이스명을 알아야 한다 (보통 /dev/cdrom 이거나 SCSI CD 롬일 경우 /dev/scd0). 나는 예제로 만드레이크 배포본 CD 를 사용할 것이다.
bash# dd if=/dev/cdrom of=mndrk71.iso |
"if=" 는 입력 파일(디바이스), "of="는 출력 파일이다. 이 명령의 수행시 화면에 출력되는 입/출력 레코드 메세지를 볼수 있다. (i/o 에러가 없길 바란다.)
다음 단계는 iso 이미지 파일을 마운트 하는 것이다. 이미지 파일을 마운트 할수 있도록 /mnt 디렉토리안에 서브 디렉토리를 만들어 주자.
bash# cd /mnt bash# mkdir iso bash# cd iso bash# mkdir mndrk71 |
이제 만들어 놓은 디렉토리에 ISO 파일을 마운트 하자.
bash# mount -o loop -t iso9660 -r /home/image/mndrk71.iso /mnt/iso/mndrk71 |
"-o loop" 옵션은 블럭 디바이스로의 파일 마운트를, "-t iso9660"는 CD 롬 파일 시스템의 포맷을 뜻한다. "-r" 은 읽기 전용을 의미한다.
이제 다음과 같이 할수 있다:
bash# cd mndrk71 bash# ls -al |
위 명령의 결과는 마치 CD롬을 마운트해 ls 한것과 같은 결과를 보일 것이다.
수동으로의 이미지 파일 마운트가 성공적 이었다면, 시스템 재시동시 마다 자동으로 마운트 되도록 /etc/fstab 파일을 고쳐주어야 한다 (나는 vim 을 사용했지만, Emacs, Joe, Pico , Jed등을 사용해도 된다 :-)).
bash# vim /etc/fstab |
다음과 같은 라인 다음에 (당신의 CD 이미지가 마운트된 파일 시스템이 먼저 마운트 되어야 하므로)
/dev/hda8 /home ext2 defaults 1 2 |
다음과 같은 줄을 넣어준다:
/home/image/mndrk71.iso /mnt/iso/mndrk71 iso9660 ro,loop,auto 0 0 |
이것을 위해 당신은 삼바를 설치할 필요가 있다. 삼바 패키지는 대부분의 배포본에 포함되어 있므며, 만약 직접 컴파일해 설치하기를 원한다면 http://www.samba.org 를 방문하라.
마운트 된 CD 이미지들을 윈도우 네크워크에서 공유하기 위해 다음을 삼바 설정 파일인 /etc/smb.conf 파일에 첨가해준다.
[cdimages] comment = All Shared CD Images path = /mnt/iso public = yes writable = no |
이것은 /mnt/iso 디렉토리하의 모든 서브 디렉토리들을 공유하게 될것이다. 이것을 윈도우상에서 로컬 드라이브(여기서는 I:)로 마운트 하기 위해서는, MS-DOS 프롬프트에서 다음과 같이 한다:
C:\> net use I: \\리눅스cd서버\cd이미지 |
이제 각각의 CD 이미지들은 윈도우상의 I: 드라이브의 서브 디렉토리로 보여질 것이다.
만드레이크 cd 이미지만을 공유하기 위해서 다음과 같이 /etc/smb.conf 를 수정한다.
[mndrk71] comment = Mandrake Linux 7.1 path = /mnt/iso/mndrk71 public = yes writable = no |
도스 프롬프트 상에서, 다음과 같이 마운트 한다:
C:\> net use m: \\yourlinuxmachine\mndrk71 |
사실 smb.conf 파일은 이외에도 매우 많은 옵션을 가지고 있다. 예를 들어 암호 인증, 공유 유무등 더 안전한 설정을 할수 있다.
리눅스 서버에서 NFS 가 제대로 설정되어 운영되고 있다면, 다음 줄을 /etc/exports 에 추가한다:
# sample /etc/exports file
/mnt/iso (ro,insecure,all_squash) |
이제 "showmount -e 리눅스cd서버" 명령은 /mnt/iso 를 포함하는 결과를 보여주어야 한다.