复制盘
要直接将内容从源盘复制到可刻录盘,请使用下面的命令:
$ cdrecord -v dev=0,1,0 speed=4 -isosize /dev/scd0
这条命令直接将 CD-ROM 即 /dev/scd0 的内容“流”入 CD 刻录机 dev=0,1,0。不要在速度慢的旧机器上这么做。直接复制速度很快,但却更容易出错。更好的做法是:先将源盘的内容复制到硬盘驱动器,再从硬盘驱动器复制到 CD 刻录机:
$ mount /cdrom
$ dd if=/dev/scd0 of=/tmp/diskfile.iso
$ cdrecord dev=0,1,0 speed=8 fs=8m -v -eject -dummy /tmp/diskfile.iso
请注意两个新选项 fs=8m 和 -dummy 。 fs=8m 定义了环形缓冲区的大小:在一定程度上,越大越好。记住,中断是致命的;如果什么东西让数据传送慢下来了,那么 fs=8m 将创建一个足够大的缓冲区来让刻录机保持运行。如果 8 MB 还不够,那么您可能需要一台更好的 PC。另一方面,超过 8 MB 也不一定更好,因为操作系统重新装入 MMU(内存管理单元,Memory Management Unit)表时会浪费时间。缺省值是 4 MB。
-dummy 是一个了不起的选项,可以用它来先进行一次“排练”,然后在实际的盘上冒险。刻录机执行一切操作,但是不打开激光头,这使用户有机会在将内容提交到盘上之前捕获错误。
多段刻录
CD 由段构建而成,而段由磁道构成。只有一个段的盘上有一个导入点、一个 TOC(目录,table of content)、数据和一个导出点,导出点标记着这张盘的终点,并阻止在这张盘上进行进一步的刻录。 mkisofs 将单独段链接在一起。用 GUI 程序(如 X-CD-Roast 或 KonCD)创建多段刻录盘可能要更容易一些,但这里演示的是怎么样用命令行工具完成这一任务。
第一次在盘上刻录一个段时,请在 cdrecord 中使用 -multi 开关:
$ cdrecord -v -eject speed=8 dev=0,1,0 -multi test.iso
盘将会以某种方式被固定下来,使得盘可读,也可以添加更多数据。要向这张盘中添加更多段, mkisofs 需要知道起始扇区号和结束扇区号,可以象下面这样来找到这些号码:
$ cdrecord dev=0,1,0 -msinfo
0,27139
确保把要添加数据的盘放入了 CD 刻录机。然后,添加两个新开关 -C 和 -M :
$ mkisofs -o test2.iso -Jr -V Session2 -C 0,27139 -M 0,1,0 /files/path/
或者更好的办法是,让命令 shell 完成这项工作:
$ mkisofs -o test2.iso -Jr -V Session2 -C `cdrecord dev=0,1,0 -msinfo` -M 0,1,0 /files/path/
多段刻录 CD 驱动器读取已写入的最后一个段。上面的命令从最后一个段获取 TOC,然后将它组合进新 TOC 中。在刻录盘上的最后一个段时,请省略 -multi 选项。
结束语
Linux 中的 CD 刻录功能强大且全面。CD 刻录机可以跨越网络共享,还可用于自动备份; mkisofs 和 cdrecord 也能用于 DVD。虽然有许多优秀的图形前端程序,但是完整的功能在命令行程序上。
原文链接:http://www-128.ibm.com/developerworks/cn/linux/l-cdburn/index.html
如果您对本文有任何疑问或者建议,请到讨论区发表您的意见:
>>
论坛入口 <<
上一篇:
使用指南:好用的播放器mpd 下一篇:
使用ImageMagick 的提示与技巧
【文章评论】
【收藏本文】
【推荐好友】
【打印本文】
【我要投稿】 【论坛讨论】