질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

리눅스에서 cd 레코딩하기

작성자 정보

  • 정원식 작성
  • 작성일

컨텐츠 정보

본문

리눅스에서 cd 레코딩하기


리눅스에서 E-IDE CD 레코더를 사용하기 위해서는 커널의 SCSI Emulation 기능을 사용해야 합니다. (redhat 등 기본 되어있음)
SCSI Emulation : IDE 장치를 SCSI 장치인 것처럼 속여서 에뮬레이팅 해주는 기능입니다.

먼저 자신의 레코더가 어느 장치에 있는지 알아야 합니다.

IDE 장치/장치명
primary - master/hda
primary - slave/hdb
secondary - master/hdc
secondary - slave/hdd

어느 장치에 있는지 모르겠다면,
cat /var/log/dmesg | grep ATAPI
를 해서 확인해 보세요. 필자의 경우에는, hdc 에 레코더가 연결되어 있습니다.
==>관련사이트
# cat /var/log/dmesg | grep ATAPI
hdc: PLEXTOR CD-R PX-W8432T, ATAPI CDROM drive
hdd: CRD-8322B, ATAPI CDROM drive
hdd: ATAPI 32X CD-ROM drive, 128kb Cache


etc/lilo.conf 의 수정

먼저 /etc/lilo.conf 를 수정합니다.

lba32
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
default=linux

image=/boot/vmlinuz-2.2.16-3kr2
label=linux
read-only
root=/dev/hda2
append="hdc=ide-scsi" <-- 이 행을 추가합니다.

other=/dev/hda1
label=win


/sbin/lilo 를 실행하여 lilo.conf 를 갱신(Rewrite)합니다.

grup 이라면 hdc=ide-scsi 만 추가해주면 됩니다.

이러게하고 재부팅하면 ide-scsi 모듈이 자동으로 올라옵니다.

$ tail -f /boot/grub/menu.lst

title redhat as2.1 (/dev/sdb1)
kernel (hd1,0)/boot/vmlinuz root=/dev/sdb1 hda=ide-scsi
initrd (hd1,0)/boot/initrd.img
==>관련사이트

** 참고 : 부팅가능한 cdrom을 복사할 경우에는 cdrom 이미지를 뜬다.
dd if=/dev/cdrom of=foo.iso
cat /dev/cdrom > filename.iso

** cdrecord -scanbus 로 레코더를 사용할 수 있는지 테스트 해 보도록 합니다. cdrecord 는 root 권한으로 실행해야 합니다.
아래에서는 1,0,0 이 됨
# cdrecord -scanbus
Cdrecord 1.10 (i686-pc-linux-gnu) Copyright (C) 1995-2001 J?g Schilling
Linux sg driver version: 3.1.20
Using libscg version 'schily-0.5'
scsibus0:
0,0,0 0) 'FUJITSU ' 'MAN3184MP ' '0108' Disk
0,1,0 1) 'FUJITSU ' 'MAN3184MP ' '0108' Disk
0,2,0 2) *
0,3,0 3) *
0,4,0 4) *
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *
scsibus1:
1,0,0 100) 'SAMSUNG ' 'CD-R/RW SW-248F ' 'R604' Removable CD-ROM
1,1,0 101) *
1,2,0 102) *
1,3,0 103) *
1,4,0 104) *
1,5,0 105) *
1,6,0 106) *
1,7,0 107) *


300번: 리눅스에서의 레코딩 ( 간단 메뉴얼)

http://linux.sarang.net/board/?p=read&table=tip&no=614&page=&o[at]=s&o[sc]=t&o[ss]=%B7%B9%C4%DA%B5%F9&o[st]=a


글쓴이: 강아지풀 글쓴날: 1999-11-03 19:37:20 읽은수: 1760 <+>
그냥 간단간단하게 많이 쓰는 기능위주로 설명해 나가겠습니다.

준비물 : mkisofs, cdrecord, cdda2wav
(mkisofs 과 cdrecord는 리눅스 거의 모든 배포판에 포함돼 있을 겁니다)
gui 환경의 프로그램도 많이 나와있으니 그걸 이용해도 괜찮으실 겁니다.
어차피 gui 환경의 프로그램도 레코딩시에 내부적으로 mkisofs, cdrecord
를 이용하기 때문에 뭘로 익히시는 큰 차이는 없을 겁니다.)
==>관련사이트
1. harddisk -> cd (with an image file)

# mkisofs -R -o /home/saveimages/sample.raw /home/backup

하면 /home/backup 디렉의 모든 자료를 /home/saveimages 에
sample.raw 라는 화일로 생성합니다. 여기서 -R 은 Rock Ridge의 약
자로 윈도의 졸리엣 처럼 긴 화일명을 지원해 주기 윈한 옵션으로
보면 됩니다. raw 화일이 만들어질 디렉토리나 저장할 자료를 모아
둘 디렉토리 등등은 임의로 만들어 주셔도 됩니다.
이제 /home/saveimages 디렉토리에 가보면 sample.raw 라는 화일이
생성돼 있을 겁니다.
그럼 이미지가 잘 만들어 졌나 한번 체크를 해보도록 하겠습니다.
# mount -t iso9660 -o loop /home/saveimages/sample.raw /mnt
# cd /mnt
# ls -al
하심 /home/backup 디렉토리에 놓여있던 화일들이며 디렉토리구조
모두 고스란히 보이실 겁니다.
# umount /mnt

이기능을 위해선(.raw 화일 마운트) 커널 컴파일시에 루프백 장치에 대한
지원을 설정해 주셔야 가능한 옵션입니다. 이제 실제 레코딩 명령을 줍니다.

# cdrecord -v -eject speed=4 dev=1,0 /home/saveimages/sample.raw

여기서 -v 는 설명안해도 아실테고 -eject 는 레코딩이 끝난후 시디를
자동으로 뱉어내게 하는옵션이고 speed=4 는 레코딩 속도를 정해주는
옵션입니다. 각자 상황에 맞게 적으면 되겠죠. 그리고 dev=x,x,x 는
각각 scsibus, target, lun 으로 대개의 경우 scsibus는 0번일 겁니다.
이경우는 그냥 target 과 lun 부분만을 적어주셔도 됩니다. target 는
자기 레코더의 ID 번호 입니다. 모르시겠으면 cdrecord -scanbus 로
확인하셔도 되고 아님 eject /dev/scd0 등등의 옵션으로 트레이를 여심
정보가 출력 되니 그걸 보셔도 되구요.
한가지 -dummy 옵션을 주시면 레이저가 꺼진 상태에서 테스트를 진행
하기 때문에 실제 레코딩을 들어가기전에 테스트해볼때 유용한 옵션입니다.

완성후 확인해 보시고 이미지 화일을 지우시면 됩니다.

2.harddisk -> cd (without creating an image file)

# mkisofs -R /home/backup | cdrecord -v speed=4 dev=1,0 -
그럼 바로 이미지를 하드에 만들지 않고 레코딩을 진행할 수가
있습니다.(시간절약) 끝에 - 옵션 빼먹지 마세요.
혹시 도중에 버퍼언더런이 난다거나 하면 fs=6m 로 적어주시고
해보시면 될겁니다.[fifo(ring buffer) size]. 아무것도 적지
않았을때 default는 4m 입니다.

3 1:1 copy of data cd

# mount /mnt/cdrom
# cdrecord -v dev=1,0 speed=4 /mnt/cdrom


4.audio cd
==>관련사이트
이젠 cdda2wav 를 이용할 차례입니다.
(설치는 ./configure->make->makeinstall) <-readme 를 참고하세요.
# cdda2wav -D/dev/cdrom -B
그럼 현재 디렉토리에 audio_0.wav
audio_1.wav 이런식의
화일이 만들어집니다. auido_*.wav 화일과 더불어 *.inf 화일도 같이
생성되는데 귀찮으면 설치시 ./configure 하신다음 Makefile 을 여시고
inf 화일 관련 라인을 comment out 하시면 됩니다.(보시면 금방 아실거에요)
그리고 -D/dev/cdrom 은 일반 EIDE 시디롬을 위한 옵션입니다.
스카시 시디롬에선 당근 필요 없습니다.
위 옵션은 시디 전체를 다 추출하는거고 원하는 부분만을 추출할려면
cdda2wav -D/dev/cdrom -t4 또는
cdda2wav -D/dev/cdrom -t4 track01.wav
첫번째는 디폴트 화일명으로 audio_0.wav 이런식으로 생성되고
두번째는 자기가 정해준 track01.wav 로 화일이 생성됩니다.
위 시디 전체를 카피하는 경우도 마찬가지 입니다.
참고로 -t 는 트랙을 의미합니다. -t6하면 6번째 트랙(곡)을의미합니다.
그럼 만들어진 wav 화일을 이용해 음악 시디를 만들어 보도록 하죠.
# cdrdcord -v speed=4 dev=1,0 -audio -eject /home/saveimages/auido_*.wav
하면 됩니다. 필요에 따라 다른 옵션이 필요할 때가 있는데 여기선 지면상 생략하도록
하겠습니다.(위 옵션으로도 거의 정상적으로 레코딩이 잘 됩니다)

5. multisession cd

# mkisofs -R -0 /home/saveimages/sample.raw /home/backup
# cdrecord -v dev=1,0 speed=4 -eject -multi /home/saveimages/sample.raw
일반 데이터 저장과 다른점은 -multi 옵션입니다. 멀티세션을 만들때마다
꼭 -multi 옵션은 적어 주셔야 합니다.
그리고 시디를 확인해 보면 자료가 저장된게 보이실 겁니다.
(만들어진 .raw 화일은 지우셔도 됩니다)
그럼 두번째 세션을 만들어 보도록 합시다(데이터 추가 저장을 의미합니다.)
방금 전에 만들어둔 멀티세션 시디를 레코더에넣고
# cdrecord -msinfo dev=1,0
해보시면 처음 block(sector) number 와 다음 기록이 가능한 sector number가 출력 됩니다.
(e.g : 0,26544 <-제 경우)
# mkisofs -R -o /home/saveimages/sample.raw -C 0,26544 -M /dev/scd0 /home/backup
-M 다음에는 자기 레코더의 장치명을 적어주심 됩니다.
-C 다음에는 위에서 말한 -msinfo를 통해 나온 값을 적어주심 됩니다.
쉽게 말하면 처음 저장한 자료가 시디의(멀티세션) 0,26544 안에 있고 그자료의
정보를 새로 만드는 sample.raw에 추가해 준다고 보면 될겁니다.(맞는 비유인지
모르겠군요..) /home/backup 안에는 새로 저장할 진짜 화일들이 들어있겠죠.
/dev/scd0 은 어디에 시디가 있다고 말해주는 정도라고 보시면 됩니다.
이제 실제 레코딩 명령을 줍니다(아래)
# cdrecord -v dev=1,0 speed=4 -eject -multi /home/saveimages/sample.raw

이제 보시면 처음에 저장했던 자료들과 같이 조금전에 저장했던 자료들이 같이
보이실 겁니다.

다음번 추가 저장도 마찬과정 입니다 -msinfo 하심 이젠 26544,XXX 가 되겠죠
# mkisofs -R -o /home/saveimages/sample.raw -C 26544,XXX -M /dev/scd0 /home/backup
# cdrecord -v dev=1,0 speed=4 -eject -multi /home/saveimages/sample.raw
==>관련사이트
하나더 참고로 말씀 드리자면..저같은 경우는
시디에 music 와 bckup 란 두 디렉토리를 만들어 두고
자료를 분류해 저장하는데요. 이경우도 처음 이미지를 만들
어주실때 /home/backup(시디에 넣을 자료를 모아둘디렉토리)
아래 music 고 bckup 이란 디렉 을 만들어 화일들을 분류해
집어넣으시고 이미지를 만들고 레코딩을 하시면 됩니다.
# mkisofs -R -o /home/saveimages/sample.raw /home/backup

이미 자료가 저장한 상태라면 위 명령에 (두번째 세션부터)
-C xx,xx -M ~~옵션 주시는거 잊지 마시구요.
이제 cdrecord 로 레코딩을 하시면 되겠죠.

그리고 다음 자료 추가 저장할때도 시디에 저장되있는
music 과 bckup 디렉에 자료를 계속 분류해 저장해 주시고
싶으심 /home/backup 에 music 과 bckup 을 다시 만들고
저정할 화일들을 각각 집어넣으시고 위에서 설명한 과정
대로 이미지 만들고 레코딩 하면 되겠습니다.
디렉토리는 각자의 상황에 맞게 만들면 되겠죠.

그리고 시디를 완전히 닫을때는 -multi 옵션을 빼주고 레코딩
하면 됩니다.

6. mixed cd

일반 데이터(first track이 되겠죠)를 이미지로 뜨고 (xxx.raw)
나머지 오디오 트랙은 cdda2wav 를 이용해서 추출해 주심 됩니다.
(audio_0.wav, audio_1.wav..)
(이미지 만드는 방법과 오디오 추출은 위에서 자세히 설명 드렸죠?)
이제 실제 레코딩 명령을 줍니다.
# cdrdcord -v dev=1,0 speed=4 -eject /home/saveimages/xxx.raw -audio
/home/saveimges/auido*.wav
실제 작업에 들어가시기전에 -dummy 모드로 테스트를 해보는것도 좋을
듯 합니다.

지금 개발버전 cdrecord 1.8aX 는 dao 방식도 부분적으로 같이
지원해주는걸로 알고 있습니다(-dao). 아직은 불안한 면이 없잖아
있을테니 아랫분이 소개한 cdrdao를 이용하는것도 좋을 방법이
아닐까 싶네요. cdrdao 가 제 레코더를 지원하지 못하는 관계
로 테스트는 못해봤습니다.
==>관련사이트
마지막으로 하나더 추가로 말씀드리자면 mkisofs로 이미지를
만들때 -R 옵션으로만 만들게 되면 윈도에서 읽을때 긴화일명이
잘려나가게 됩니다.(윈도에선 Rock Ridge 를 지원해줄리 없죠)
윈도에서도 읽어야할 화일들이라면 -J(joliet)
옵션도 같이 넣어주심 됩니다. mkisofs -R -J ...........


이상 일반적으로 많이 쓰이는 기능들을 중심으로 설명 드렸습니다.
다음번 기회가 되면 좀더 다양한 옵션들을 중심으로 자세하게 모든 부분을 설명드리
도록 하겠습니다. 그리고 틀린부분이 있음 과감히 무차별하게 지적해 주시기 바랍니다.



                        강의출처 : 해커대학홈페이지 게시판



보안전문가 준비에대한 철저한 계획 및 진행에 대한 상담을 드립니다
국방부 컨퍼런스 및 경찰청, 사이버수사대, 안철수랩 보안교육센터
(주)해커스칼리지 해커대학
http://www.itbankac.com
02-3291-3264

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,133 명
  • 현재 강좌수 :  36,172 개
  • 현재 접속자 :  244 명