在OpenSolaris上用cdrecord刻录CD/DVD

cdrecord是OpenSolaris上一个功能强大的用以刻录CD/DVD的命令行工具。与之前的cdrw相比, cdrecord能更好的兼容USB和1394接口的刻录机,而cdrw则仅推荐在内置的IDE/ATAPI刻录机上使用。

在继续之前,让我们先来了解一下与刻录相关的概念。

* CD-R:可刻录CD(CD-Recordable)。只能够写入一次,可多次读取。(WORM,Write Once, Read Many)
* CD-RW:可重写CD(CD-Rewritable)。多次写,多次读。(WMRM,Write Many,Read Many)
* DVD +R:可刻录DVD,只能写入一次。容量为4.7GB,于2002年由众多公司共同支持的DVD+RW联盟开发。并于2003年开始支持双面存储,使得容量达到了8.5GB。该标准不被DVD论坛接纳,并声称DVD+R并非官方DVD格式,但是很多厂商仍然支持该格式。
* DVD+RW:可重写DVD,可多次写入。由DVD+RW联盟开发,容量达到了4.7GB,可重写近1,000次
* DVD -R:可刻录DVD,仅能写入一次。最初容量为4.7GB,于2005年开始支持容量可达8.5GB的双面存储。于DVD+R相比,DVD-R由 Poineer公司开发并获得了DVD论坛的承认而被大部分DVD播放器应用。现在很多能同时支持这两种格式的DVD机,一般都注明DVD±R标记。
* DVD-RW:可重写DVD,可多次写入。由Pioneer公司开发,容量为4.7GB,可重写近1,000次
DVD的[+]和[-]标准在市场上同样受欢迎,很多刻录机/影碟机都同时支持这两种标准

下面是与文件格式相关的一些术语:

* ISO-9660:旧的和DOS兼容的文件系统,仅支持8,3文件名格式
* Rock Ridge:ISO-9660文件系统的扩展。支持长文件名、UNIX符号链接和文件属性(rwx)等< /li>
* Joliet:微软对ISO -9660文件系统的扩展。支持unicode编码的文件名和长文件名(64个unicode字符)。在只支持8个字符文件名的操作系统(比如 Win­do­ws 3.1)中,CD上一个长于8个字符的文件名将通过在一位数字后面加一个波浪符号(~)作为这个名字的最后一个字符来将其删减为8字符的文件名。< /li>
* Multisession:多区段刻录,允许多次添加/写入文件。每个刻录过程只刻录并且关闭一个区段(session),剩余空间下次可以继续刻录下一区段。
* DAO:Disc-At-Once,是在一个刻录过程中在一片光盘中刻入全部数据的方式。轨道(track)间没有间隔,在刻录录结束时自动关闭光盘。
* TAO:Track -At-Once,是在一个刻录过程中逐个刻录所有轨道(track),轨道之间有间隔。如果是数据轨道和音轨之间,则间隔为2到3秒,如果是音轨之间则间隔为2秒。刻录时可以选择不关闭区段,以后还可以添加轨道到光盘的这一区段,一般用于音乐CD的刻录,而对数据光盘无效。在CD或VCD播放机上播放时,区段必须关闭。刻录时也可以选择不关闭光盘,则以后还可以继续追加刻录下一区段。

扫描刻录机
用cd­re­co­rd -scanbus扫描系统SCSI总线确定设备的描述符(例如:0,4,0)
示例:
# cdre­co­rd -scan­bus
Cdre­co­rd-Pro­DVD-Clo­ne 2.01.01a10 (i386-pc-solaris2.11) Copy­ri­g­ht © 1995–2006 J�rg Schi­lling
War­ning: Using USCSI inter­fa­ce.
Using libscg ver­sion ‘schily-0.8’.
scsibus0:
0,0,0 0) ‘MATSHITA’ ‘DVD-R UJ-857D ’ ‘KCV9’ Remova­ble CD-ROM
0,1,0 1) *
0,2,0 2) *
0,3,0 3) *
0,4,0 4) *
0,5,0 5) *
0,6,0 6) *
0,7,0 7) *
这里设备描述符是“0,0,0”

创建.iso文件
OpenSolaris上刻录通常分两步完成,首先用mkisofs生成ISO映像,然后用cdrecord刻录CD/DVD。创建ISO映像示例如下。
# mki­so­fs -o backup.iso -J -r -v -V “Backup Volu­me” /path/to/mybackup
其中,-o输出.iso文件名
-J为了与Windows兼容,使用Joliet命名记录
-r 为了与UNIX/Linux兼容,使用Rock Rid­ge命名方式
-v 打印命令执行的详细信息
-V 指定卷ID
最后一个参数是要生成i­so映像的目录路径
另外,在Solaris中可以用lofiadm命令把iso文件虚拟成块设备而mount到系统中
# lofia­dm -a /export/iwork.iso
/dev/lofi/1
# mount -F hsfs -o ro /dev/lofi/1 /mnt

刻录CD/DVD
使用前面-scan­bu­s得到的设备描述符进行刻录、
# cdre­co­rd -v dev=1,0,0 -eje­ct backup.iso
其中,-v打印详细信息
-eje­ct 刻录完成后自动弹出光盘
dev是-scan­bu­s得到的设备描述符
缺省将使用TAO(-tao)刻录模式

Multi­se­ssion刻录
multisession常用于数据光盘的刻录,分次刻入多个文件。第一次刻录时,使用-multi选项刻录一个区段
# cdre­co­rd -v dev=0,1,0 -eje­ct -multi first.iso
为了在关盘上刻入更多的区段,mkisofs需要知道已刻入区段的起始和结束扇区。
# cdre­co­rd dev-0,1,0 -msin­fo
0,119256
# mki­so­fs -o second.iso -J -r -v -V Session2 -C 0,119256 -M 0,0,0 /path/to/files
在刻录最后一个区段的时候,cdrecord命令中不要使用-multi选项。

把MP3刻录成音乐CD
首先用lame把MP3转换成.wav格式。lame可从该地址 下载。
# for f in *.mp3; do lame –deco­de $f ‘base­na­me $f .mp3‘.wav; done
然后把.wav文件刻录到光盘上
# cdre­co­rd -v dev=0,0,0 -eje­ct -pad -audio *.wav

Ori­gi­nal Link: http://blogs.sun.com/judychen/entry/%E5%9C%A8opensolaris%E4%B8%8A%E7%94%A8cdrecord%E5%88%BB%E5%BD%95cd_dvd

You may also like...

Leave a Reply

Your email address will not be published.

1 × four =

使用新浪微博登陆