Home Map Index Search News Archives Links About LF
[Top bar]
[Bottom bar]
[Photo of the Author]
/글쓴이 : Yao Feng

글쓴이 소개 :

그는 리눅스 팬이며 학내 네트워크 센터에서 일하고 있습니다. 취미는 햄래디오, 수영입니다. 일년동안은 일반적인 사용자로서 리눅스를 사용하고, 다음 일년은 리눅스/유닉스 시스템 관리자로서 사용합니다. 리눅스 기반의 프록시 서버를 가지고 광고 시스템에 대한 대학원 논문을 마쳤습니다.

순서:

리눅스에서 여러분의 CD-ROM를 사용하기

[Illustration]

요약:

이 기사는 짧지만, 리눅스에서 여러분의 CD-ROM를 어떻게 사용할 수 있는지를 유용하게 설명할 것입니다. CD-ROM장치를 찾고, CD-ROM(사용 가능하게 하기) 마운트 , 내용 읽기, 언마운트 시키는 것을 설명하고 문제해결을 위한 몇가지 힌트를 제공할 것 입니다.



   

CD-ROM 장치명이 무엇인지?찾기

여러분은 작동하고 있는 리눅스 박스를 가지고 있고, 지금 CD-ROM 으로 부터 여러분의 하드 디스크로 화일을 복사하려고 합니다.
CD-ROM 장치가 리눅스 커널에서 옳바르게 인식되었는지를 dmesg 명령으로 확인합니다.
만약 ATAPI cdrom이 IDE에 연결되어 있다면 다음과 같은 메세지를 볼 것입니다:
$ dmesg |more
.
.
.
hda: QUANTUM FIREBALL CR8.4A, ATA DISK drive
hdc: CD-ROM CDU701, ATAPI CDROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: QUANTUM FIREBALL CR8.4A, 8063MB w/418kB Cache, CHS=16383/16/63, (U)DMA
hdc: ATAPI 14X CD-ROM drive, 128kB Cache
Uniform CDROM driver Revision: 2.55
.
.
.


만약 SCSI cdrom이면 다음과 같은 메세지를 볼 것입니다:
$ dmesg |more
.
.
.
Detected SCSI removable disk sdc at scsi0, channel 0, id 5, lun 0
Vendor: PLEXTOR Model: CD-ROM PX-12TS Rev: 1.03
Type: CD-ROM ANSI SCSI revision: 02
Detected scsi CD-ROM sr0 at scsi0, channel 0, id 6, lun 0
scsi : detected 1 SCSI cdrom 3 SCSI disks total.
.
.

'hdc: CD-ROM CDU701, ATAPI CDROM drive' 메세지는 여러분의 컴퓨터에 CD-ROM IDE/ATAPI-CD 드라이브가 연결되어 있다는 것을 말하는 것입니다. 리눅스는 나중에 접근을 위해 'hdc' 장치명을 사용합니다. 이 장치명은 하드웨어의 형태에 관련이있고, 전자(ATAPI CDROM )일 경우 hdc이고 여러분이 SCSI CD-ROM을 가지고 있는 경우 sdc입니다.  

CD-ROM을 (사용하기 위하여) 마운트하기

일반적으로 여러분은 이러한 일을 하기 위해서는 슈퍼 유저(root)여야 합니다. 그러나 일반 사용자로서 CD-ROM을 마운트하는 장에서 우리는 모든 사용자가 이러한 작업을 할수 있는 것을 보일 것입니다(일반적으로 root 계정으로서 최대한 적게 작업을 하는 것이 좋습니다). 마운트는 CD-ROM 디스크의 내용을 읽기 전에 필요합니다. 여러분의 CD-ROM에 CD-ROM 디스크를 넣습니다, '/cdrom' 디렉토리가 존재하는 것을 확인하고, 다음 명령을 입력합니다 :
#mount /dev/hdc -t iso9660 -r /cdrom
scsi cd-rom인 경우
#mount /dev/sdc0 -t iso9660 -r /cdrom

CD-ROM 장치명은 'dmesg' 명령 결과에서 보여 줬던 것 중 하나 입니다.
 

CD-ROM을 사용하기

cdrom을 마운트한 후에 여러분은 disk free command (df)로 '/cdrom' 디렉토리에 올바르게 마운트되었는지를 확인합니다.
$ df
Filesystem         1024-blocks 
Used Available Capacity Mounted on
/dev/sda1    2974519   1516768    1303931   54%   / 
/dev/sda3    2686158   2378788    153548    94%   /home
 /dev/hdc     603646     603646       0     100%  /cdrom

이제 여러분은 일반적인 디렉토리 같이 '/cdrom'에서 여러분의 cd-rom을 사용할 수 있습니다.  

CD-ROM을 언마운트하기

여러분의 작업이 끝난다음, 여러분은 CD-ROM을 꺼내고 싶을 것입니다. 그러나 여러분은 CD-ROM 드라이브 앞 패널(front panel)에 버튼을 눌러도 더이상 드라이브가 열리지 않는 것을 확인하게 됩니다. CD-ROM은 잠겨져 있는 것입니다. 여러분은 먼저 cdrom을 언마운트 시켜야 합니다(명령은 'n'없이 'umount'입니다). 슈퍼 유저(root)로서 다음 명령을 입력합니다:
#umount /cdrom
또는 다음과 같이 입력해도 됩니다.
#umount /dev/hdc
scsi cd인 경우:
#umount /dev/sdc0

이제 여러분은 드라이브 앞 패널(front panel)의 버튼을 누르면 cd-rom 드라이브를 꺼낼 수 있습니다. 또한 여러분은 'eject' 프로그램 명령으로 cdrom 드라이브를 열수 있습니다.    

루트 계정이 아닌 상태로 마운트와 언마운트 하기

여러분이 root로서 로긴하게 되면 여러분은 무엇이든 할 수 있지만, 또한 여러분은 여러분이 원하는 이상의 치명적인 일을 할 수 있습니다. 그래서 일반적인 사용자로서 cdrom을 마운트하는 것이 훨씬 좋습니다. 모든 사용자에게 드라이브 마운트 권한을 주기위해서 여러분은 먼저 루트로서 로긴해야 하며, 다음의 3가지을 합니다:

  1. 모두가 쓸수 있는 '/cdrom' 디렉토리를 만듭니다.
  2. 모두가 쓸수 있는 장치(device)를 만듭니다.
  3. 'fstab' 화일을 편집합니다.

모두가 쓸수 있는 '/cdrom' 디렉토리를 만들기 위해서 여러분은 다음 명령을 입력합니다(cdrom이 마운트되어 있지 말아야 합니다!):
#chmod 777 /cdrom

모두가 쓸수 있는 장치(device)를 만들기 위해서 여러분은 다음 명령을 입력합니다 (첫장에서 설명한 것과 같이 장치명을 사용합니다):
ATAPI cdrom인 경우::
#chmod 666 /dev/hdc
SCSI cdrom인 경우:
#chmod 666 /dev/scd0

이제 여러분은 '/etc/fstab' 화일을 편집해야 합니다. 그리고 모든 사용자에게 cdrom 마운트 허가를 주어야 합니다. 다음 줄을 추가 하면 됩니다:
/dev/hdc  /cdrom     iso9660 ro,noauto,user 0 0
scsi cdrom인 경우:
/dev/sdc0  /cdrom     iso9660 ro,noauto,user 0 0
이미 /dev/hdc장치(또는 /dev/sdc0)부분이 있는 경우 여러분은 그 줄을 편집합니다. 새 줄을 추가 하면 안됩니다. 그 줄은 리눅스에게 cdrom이 마운트되고 사용될 장치라는 것을 알려 줍니다. 또한 파일 시스템이 iso9660이라는 것을 알려주며, 이 것은 읽기만 가능하도록 마운트 되어야 하며, 시작시에 절대 마운트 되지 않도록 합니다(그때에 드라이브에 CD가 없어야 합니다). "user" 옵션의 의미는 모든 사용자가 드라이브를 마운트 가능하는 것입니다.

fstab 화일을 저장하고 일반 사용자로 로긴합니다. 이제 드라이브에 CD를 넣습니다. 그리고 다음 명령으로 마운트 시킵니다:
$mount    /cdrom
쉽죠. 그렇죠?
리눅스는 '/etc/fstab' 화일로 부터 다른 파라메터 형태 모두를 가질수 있기 때문에 이러한 짧은 형태도 사용이 가능합니다.

 

문제 해결

'/cdrom' 디렉토리 트리 아래 모든 서브디렉토리에 여러분이 위치하고 있지 않은지 확인합니다. 또 다른 사람이 '/cdrom' 디렉토리 아래에 있는지 확인 합니다. 만약 여러분이 그 디렉토리를 사용하고 있는 사용자를 못 찾았다면 아마도 여러분의 어떤 백그라운트 프로세서가 그 드라이브를 사용하고 있는 것입니다. 둘중 하나를 찾기 위해서 여러분은 '/usr/sbin/fuser /cdrom' 명령을 입력할수 있습니다. 프로세스를 죽이고 여러분은 CD를 언마운트 + 꺼내기를 할수 있습니다.. 여러분은 여러분의 CD-ROM을 마운트하기 전에 올바른 장치명을 얻기 위해서 커널 메세지를 확인합니다. 이것은 항상 여러분이 잊게 되고 여러분을 귀찮게 합니다. 여기에 해결법이 있습니다. 여러분의 장치에 소프트 링크를 만듭니다:
#ln -s /dev/hdc /dev/cdrom
이제 여러분은 '/dev/cdrom'을 '/cdrom'로 마운트 할 수 있으며, 만약 '/dev/hdc or /dev/hdb'을 잊어도 됩니다.(하지만 또한 이렇게 하는 것보다 더 좋은 방법을 보여주는 "사용자 계정이 아닌 상태로 마운트와 언마운트하기"장을 봐야 합니다) "사용자 계정이 아닌 상태로 마운트와 언마운트하기" 장을 봅니다. audio-cd는 마운트가 필요 없습니다. 만약 여러분의 CD-ROM 하드웨어에 플레이 버튼이 없다면 'workbone '(콘솔상에서) 또는 'workman' 그리고 'xplaycd' (X-win상에서)같은 프로그램을 실행 시킵니다.
Webpages maintained by the LinuxFocus Editor team
© Yao Feng
LinuxFocus 1999
번역 정보:
en -> kr 유기일

1999-09-13, generated by lfparser version 0.7