为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

Linux_下的光盘刻录

2011-09-16 5页 pdf 178KB 38阅读

用户头像

is_543574

暂无简介

举报
Linux_下的光盘刻录  CentOS 丛书目录 — 系统管理 — 网络服务 — 应用部署 内容提要 了解光盘种类和光盘刻录的特点1. 掌握 mkisofs 和 cdrecord 命令使用2. 掌握 growisofs 命令直接刻录 DVD 的方法3. 光盘刻录的特点 光盘刻录是另一种常用的备份方法。使用光盘存储备份数据具有如下 优点 与顺序存储的磁带备份相比,光盘使用随机的数据存储方式,具有更好的恢复灵活性 光盘的存储寿命相对较长 缺点 存储容量有限:CD 大约 700MB;DVD 大约 4.7 GB。 数据光盘的类型 CD ...
Linux_下的光盘刻录
 CentOS 丛 — 系统管理 — 网络服务 — 应用部署 提要 了解光盘种类和光盘刻录的特点1. 掌握 mkisofs 和 cdrecord 命令使用2. 掌握 growisofs 命令直接刻录 DVD 的3. 光盘刻录的特点 光盘刻录是另一种常用的备份方法。使用光盘存储备份数据具有如下 优点 与顺序存储的磁带备份相比,光盘使用随机的数据存储方式,具有更好的恢复灵活性 光盘的存储寿命相对较长 缺点 存储容量有限:CD 大约 700MB;DVD 大约 4.7 GB。 数据光盘的类型 CD CD-R — 一次写入多次读取的 CD 盘片 CD-RW — 多次写入多次读取的 CD 盘片 DVD DVD-R — 一次写入多次读取的 DVD 盘片 DVD-RW — 多次写入多次读取的 DVD 盘片,可以被覆写大约 1000 次。 DVD+RW — 实际上是 DVD-R 和 DVD-RW 的复合片。 DVD-RAM — 无限词读写的 DVD 盘片,可以被看作一种可移动硬盘。性能优越,但是价格昂贵。 光盘刻录工具 Linux 下光盘刻录工具主要由如下三个软件包提供: cdrecord-2.01-10 dvd+rw-tools-7.0-0.el5.3 mkisofs-2.01-10 核心工具是:mkisofs [http://www.proxyserve.net/index.php?q=aHR0cDovL21hbi5 jeC 9ta2 lzb2Zz]、cdrecord [http://www.proxyserve.net /index.php?q=aHR0cDovL21hbi5 jeC 9jZHJlY29yZA %3D%3D]、growisofs [http://www.proxyserve.net /index.php?q=aHR0cDovL21hbi5 jeC 9ncm93aXNvZnM%3D]。 当然,在 Linux 的图形环境下还有一些图形工具可用,通常是上述工具的前端。本节主要介绍字符工具的使用。 刻录设备检测 当光盘刻录机安装好之后可以使用如下的命令对刻录设备进行检测: # cdrecord -scanbus # 用于 SCSI 光驱 # cdrecord -scanbus dev=ATAPI # 用于 ATAPI 光驱 Cdrecord-Clone 2.01 (cpu-pc-linux-gnu) Copyright (C) 1995-2004 Jörg Schilling Note: This version is an unofficial (modified) version with DVD support Note: and therefore may have bugs that are not present in the original. Note: Please send bug reports or support requests to http://bugzilla.redhat.com/bugzilla Note: The author of cdrecord should not be bothered with problems in this version. scsidev: 'ATAPI' devname: 'ATAPI' scsibus: -2 target: -2 lun: -2 Use of ATA is preferred over ATAPI. Warning: Using ATA Packet interface. Warning: The related Linux kernel interface code seems to be unmaintained. Warning: There is absolutely NO DMA, operations thus are slow. Using libscg version 'schily-0.8'. scsibus0: 0,0,0 0) '' '' '' NON CCS Disk 0,1,0 1) 'ASUS ' 'DRW-1612BL ' '1.06' Removable CD-ROM 0,2,0 2) * 0,3,0 3) * 0,4,0 4) * 0,5,0 5) * 0,6,0 6) * 0,7,0 7) * SmarTraining 工作室 » Linux 下的光盘刻录 http://www.proxyserve.net/index.php?q=aHR0cDovL3NtYXJ0cmFp... 第1页 共5页 2008-10-17 16:56 光盘刻录机在 Linux 中被识别为 SCSI 设备,即使该设备实际上是 IDE 设备。注意在检测结果中收集光盘刻录机的 SCSI 设备识别号(SCSI总线号scsibus,设备ID号 target,逻辑单元号lun),以便在刻录光盘的命令中使用。 您可以使用如下命令检测您的驱动器是否支持 DVD 刻录(执行前需要取出光盘): # cdrecord -prcap -dev=/dev/cdrom 刻录设备检测正确后即可进行刻录工作。刻录工作分为两步进行:生成ISO文件、刻录光盘。 使用 mkisofs 生成 ISO 文件 在 Linux 环境下可以使用 mkisofs 工具程序创建能够被刻写到 CD-R(W) 的 ISO9660 映像文件。mkisofs 创建的映像可以由各种类型的文件组成,可以把任何系统中的 文件或目录制作为 ISO 文件。mkisofs 命令的格式为: # mkisofs [其他选项] -o <备份路径名> 其中: — 是要生成的 ISO 文件名 <备份路径名> — 是 ISO 文件中包含的目录内容 其他常用选项包括: -J — 能启用用于 Microsoft 系统的 Joliet 扩展 -R — 能启用 Rock Ridge 扩展一般的 UNIX 系统 -hfs — 能用来创建用于 Mac OS (R) 系统的 HFS 文件系统 -r — 在生成 ISO 文件时将所有文件的权限设置为公开可读并在必要时添加可执行权限(主要用于发型光盘) -x <被剔除的路径名> — 不包括任何紧跟在这个选项之后的目录(该选项可以被重复使用) -A <应用程序 ID> — 将会被写入到映像文件卷头的文本字串,它有助于判定光盘上的内容(<128字符) -V <文件卷 ID> — 指定卷标(<32字符) -v — 设置执行时的详细反馈,有助于在映像被制作时查看它的状态 例如:将 /home 下的内容(除了 www 和 samba 子目录)生成一个名为 myhome.iso 的 ISO 文件存在 /tmp 目录下 # mkisofs -R -J -x /home/www -x /home/samba -o /tmp/myhome.iso /home INFO: UTF-8 character encoding detected by locale settings. Assuming UTF-8 encoded filenames on source filesystem, use -input-charset to override. Using PINYI000.;1 for /home/osmond/.scim/pinyin/pinyin_phrase_lib (pinyin_phrase_index) Total translation table size: 0 Total rockridge attributes bytes: 18820 Total directory bytes: 114688 Path table size(bytes): 816 Max brk space used 21000 645 extents written (1 MB) ISO 文件创建之后,可以使用 isovfy [http://www.proxyserve.net/index.php?q=aHR0cDovL21hbi5 jeC 9pc292Znk%3D] 命令对其进行校验,例如: # isovfy /tmp/myhome.iso 要查看 ISO 文件,可以: 使用 isoinfo [http://www.proxyserve.net/index.php?q=aHR0cDovL21hbi5 jeC 9pc29pbmZv] 命令查看卷标、文件列表等1. 使用 mount -o loop 命令挂装后查看2. 使用 cdrecord 刻录光盘 在 Linux 环境下可以使用 cdrecord 命令把 ISO 文件刻录为光盘。cdrecord命令的格式为: # cdrecord -v -eject -data 其中: -v — 将处理过程显示在屏幕上 -eject — 刻录完毕弹出光盘 例如:将 /tmp/myhome.iso 刻录为光盘,可以使用如下命令: # cdrecord -v -eject speed=8 dev=0,1,0 -data /tmp/myhome.iso # SCSI CD # cdrecord -v -eject speed=8 dev=/dev/cdrom -data /tmp/myhome.iso # ATAPI CD 由于 cdrecord 会自动识别 CDR 和 DVDR 介质,不要额外的考虑他们的区别,直接用上述的命令即可。当然您也可以使用 dvdrecord 命令刻录 DVD 光盘。 您可以使用 cdrecord 命令来清空 CD-RW 以便重新利用。命令如下: # cdrecord --dev=0,1,0 --blank=fast # 快速格式化 CD-RW # cdrecord --dev=0,1,0 --blank=all # 格式化 CD-RW cdrecord 命令会自动检测并格式化 DVD+RW 盘。在未格式化的 DVD+RW 上写入数据之前也可用如下命令进行格式化: # dvd+rw-format /dev/cdrom SmarTraining 工作室 » Linux 下的光盘刻录 http://www.proxyserve.net/index.php?q=aHR0cDovL3NtYXJ0cmFp... 第2页 共5页 2008-10-17 16:56 不要多次格式化 DVD-RW 介质,否则无法使用。 使用 growisofs 直接刻录 growisofs 命令工具是 mkisofs 的前端,它会调用 mkisofs 创建文件系统布局,完成到 DVD 上的刻录。 这意味着您不需要在刻录之前创建数据映像。growisofs 命令格 式如下: # growisofs [-dry-run] [-dvd-compat] [-overburn] [-speed=N] -[Z|M] /dev/dvd 其中: -dry-run — 实施模拟刻录,即不真正进行刻录 -dvd-compat — 刻录后结束光盘,使其成为不可附加的光盘。这会提供更多的和 DVD-ROM 驱动器的介质兼容性。 -overburn — 支持刻录超过的 4.377 GiB 或 4482 MiB 盘片,但刻录的盘片兼容性较差。 -speed=N — 刻录的速度可以被检测到并自动进行调整,根据介质和驱动器的使用情况。此选项用于强制改变速度。 -Z /dev/dvd — 对 DVD 设备进行初始刻录会话(不管多会话与否)。/dev/dvd,必须依照您的配置做出改变。 -M /dev/dvd — 将数据追加到以前的 DVD+RW 设备上。/dev/dvd,必须依照您的配置做出改变。 — 传递给 mkisofs 处理的选项。 例1:将 /home 目录的数据刻录到 DVD+R 或者 DVD-R 上 # growisofs -dvd-compat -Z /dev/cdrom -J -R /home 其中 -J -R 选项传递给 mkisofs 用于文件系统创建(表示创建带有 joliet 和 Rock Ridge 扩展的 ISO 9660 文件系统)。 例2:将 /www 目录的数据追加刻录到 DVD+RW 上 # growisofs -M /dev/cdrom -J -R /www 下面的脚本来自 http://wiki.splitbrain.org/burn.sh [http://www.proxyserve.net/index.php?q=aHR0cDovL3dpa2kuc3BsaXRicmFpbi5vcmcvYnV ybi5zaA % 3D %3D],它集成了 mkisofs、cdrecord、growisofs 三个工具并提供了文件名检测和模拟刻录功能。 #!/bin/bash # FROM: http://wiki.splitbrain.org/burn.sh # set up CD writer options CD_DEVICE="1,0,0" CD_SPEED=16 CD_OPTS="burnproof" # set up DVD writer options DVD_DEVICE="/dev/scd0" DVD_SPEED=4 # do not touch TOTAL=0 ERROR=0 ################# FUNCTIONS ########################## function showhelp(){ cat <] path [path [path [...]]] DESCRIPTION burn.sh is a frontend to mkisofs, cdrecord and growisofs. It accepts multiple files and directories as arguments which should be burned to a CD or DVD. burn.sh does some filesystem limitation checks and decides on its own if a CD or a DVD is created. OPTIONS -s Call the burning process in simulation mode -n Specifies the Joliet name for the new disk if none is given the current date is used EOF } function checkfiles(){ for file in "$@" do # check filename length=`basename "$file"|wc -c|awk '{print $1}'` if [ "$length" -gt "64" ] then echo " ERROR $file: filename too long ($length>64chars)" ERROR=1 fi # check filesize if [ -f $file ] then size=`du -k "$file"|awk '{print $1}'`; if [ "$size" -gt "2097152" ] then SmarTraining 工作室 » Linux 下的光盘刻录 http://www.proxyserve.net/index.php?q=aHR0cDovL3NtYXJ0cmFp... 第3页 共5页 2008-10-17 16:56 echo " ERROR $file: file too big (>2GB)" ERROR=1 fi let "TOTAL = TOTAL + size" fi # recurse directories if [ -d $file ] then checkfiles `find "$file" -maxdepth 1 -mindepth 1` fi done } function burn_dvd(){ if [ "$SIMULATE" == "1" ] then SIM="-dry-run" fi growisofs $SIM -dvd-compat -speed=$DVD_SPEED -Z $DVD_DEVICE -r -J -V "$NAME" $@ } function burn_cd(){ if [ "$SIMULATE" == "1" ] then SIM="-dummy" fi echo -n "mkisofs -V '$NAME' -r -J $@ | cdrecord -v -ignsize $SIM speed=$CD_SPEED " echo "driveropts='$CD_OPTS' -eject dev=$CD_DEVICE -data -" mkisofs -V "$NAME" -r -J $@ | cdrecord -v -ignsize $SIM speed=$CD_SPEED \ driveropts="$CD_OPTS" -eject dev=$CD_DEVICE -data - } ################# MAIN ########################## # get parameters while getopts "n:s" OPTION do case $OPTION in n ) NAME=$OPTARG;; s ) SIMULATE=1;; esac done shift $(($OPTIND - 1)) # set name if not set if [ -z "$NAME" ] then NAME=`date '+%Y%m%d-%H%M'` fi # check for at least one argument if [ -z $1 ] then showhelp exit 1 fi # check files echo "checking files please wait..." checkfiles "$@" # abort on error if [ "$ERROR" == "1" ] then echo "An error occured. Please fix and try again" exit 1 fi echo echo "A toal of $TOTAL kilobytes needs to be written" if [ "$SIMULATE" == "1" ] then echo "Simulation - using name '$NAME'" else echo "Real Write - using name '$NAME'" fi echo if [ "$TOTAL" -lt "716800" ] then echo "I think it should fit on a 700MB CD-R" echo "Insert media and hit enter when ready" read foo MEDIA="cd" else echo "This does not fit on a CD-R - We'll use a DVD-R" echo "Insert media and hit enter when ready" read foo MEDIA="dvd" fi if [ "$MEDIA" == "cd" ] then if dvd+rw-mediainfo $DVD_DEVICE >/dev/null 2>/dev/null then echo "CD-R would suffice but DVD Media detected - Using DVD-R" MEDIA="dvd" fi fi echo "------------------------------------------------------------" if [ "$MEDIA" == "cd" ] then burn_cd "$@" SmarTraining 工作室 » Linux 下的光盘刻录 http://www.proxyserve.net/index.php?q=aHR0cDovL3NtYXJ0cmFp... 第4页 共5页 2008-10-17 16:56 else burn_dvd "$@" fi 参考 http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/creating-cds.html [http://www.proxyserve.net /index.php?q=aHR0cDovL2Nuc25hcC 5jbi5mcmV lYnNkLm9yZy9kb2MvemhfQ 04uR0IyMzEyL2Jvb2tzL2hhbmRib29rL2NyZWF0aW5nLWNkcy5odG1s ] http://cnsnap.cn.freebsd.org/doc/zh_CN.GB2312/books/handbook/creating-dvds.html [http://www.proxyserve.net /index.php?q=aHR0cDovL2Nuc25hcC 5jbi5mcmV lYnNkLm9yZy9kb2MvemhfQ 04uR0IyMzEyL2Jvb2tzL2hhbmRib29rL2NyZWF0aW5nLWR2ZHMuaHRtbA %3D%3D] http://cdrecord.berlios.de/private/cdrecord.html [http://www.proxyserve.net /index.php?q=aHR0cDovL2NkcmV jb3JkLmJlcmxpb3MuZGUvcHJpdmF0ZS9jZHJlY29yZC 5odG1s ] http://crashrecovery.org/oss-dvd.html [http://www.proxyserve.net/index.php?q=aHR0cDovL2NyYXNocmV jb3Zlcnkub3JnL29zcy1kdmQ uaHRtbA %3D%3D] http://crashrecovery.org/oss-dvd/HOWTO-ossdvd.html [http://www.proxyserve.net /index.php?q=aHR0cDovL2NyYXNocmV jb3Zlcnkub3JnL29zcy1kdmQ vSE9XV E8tb3NzZHZkLmh0bWw%3D] 显示源文件 登录 SmarTraining 工作室 » Linux 下的光盘刻录 http://www.proxyserve.net/index.php?q=aHR0cDovL3NtYXJ0cmFp... 第5页 共5页 2008-10-17 16:56
/
本文档为【Linux_下的光盘刻录】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索