当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > Linux系统下ISO镜像文件的制作与刻录

Unix/Linux
linux查看内存的大小
在linux下写的代码,用的是utf-8,结果拿到XP下运行的时候,所有的中文都成乱码
linux su和sudo命令的区别
linux cron 下的定时执行工具使用技巧
linux 查找进程及终止进程操作的相关命令
redhat linux 安装 gcc编译器
Linux Mplayer播放各种格式的电影
一起回顾一下linux常用命令
Linux 网站项目发布要做哪些配置
linux SSH配合SecureCRT的密匙完美使用方法
GD 编译出错解决方法
Facebook Open Platform编译FAQ
Linux 系统硬盘 优化
linux 挂载详解
linux crontab定时命令
Linux 系统中确保访问三级域名畅通的方法
Linux 特权帐号VS普通帐号
确保Linux系统安全的前提条件 漏洞防护
Linux 监视系统资源使用率
Red Hat Linux上使用BIND建立DNS服务器

Unix/Linux 中的 Linux系统下ISO镜像文件的制作与刻录


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-15   浏览: 28 ::
收藏到网摘: n/a

 

1、检验下载的ISO镜像的MD5值:

$ md5sum download.iso

 

2、刻录ISO:

1)先下载cdrecord:

$sudo apt-get install cdrecord

2)寻找设备(刻录机):

$ cdrecord --scanbus (这会给出类似这样的一组数字:0,0,0)

3)开始刻录:

$ cdrecord dev=0,0,0 download.iso

 

3、检验已经刻录好的光盘的md5值:

(确保安装了isoinfo 没有的话apt-get~~~)

$ isoinfo -d -i /dev/cdrom

(查看光盘信息,会出现如下字样: Logical block size is: 2048 Volume size is: 339344)

$ dd if=/dev/cdrom bs=2048 count=339344 conv=notrunc,noerror|md5sum

 

制作ISO镜像

===========

 

mkisofs -J -T -R -V volume_id -o mycd.iso source_dir

 

mkisofs 主要参数说明:

 

-J/-joliet 使用 Joliet 格式的目录与文件名称

-T/-translation-table 为每个目录都生成一个 TRANS.TBL 文件名转换表文件

-R/-rock 使用 Rock Ridge Extensions

-V/-volid <光盘ID> 指定光盘的卷标ID

 

制作具有自我校验功能的光盘

==========================

 

ISO文件在网络传输过程中可能会发生改变,这个可以通过MD5校验码来检测文件的完整性,即:发布ISO的同时也公布其MD5校验码,这样他人下载 ISO后,再进行一次MD5运算,如果得到的MD5值和提供的一样,则ISO文件和原始文件一模一样,否则就得重新下载。

 

将ISO刻录到光盘后,又如何校验光盘上刻录的内容是否和原始ISO中的内容完全一样呢?因为在刻录过程中,也许...也许会出现错误。

 

这就需要用到 isomd5sum 这个工具了

 

加入MD5校验信息:

 

implantisomd5 --force ISO文件

 

刻录后,可以通过 checkisomd5 --verbose <光盘设备地址,如/dev/hdb> 来校验数据完整性

 

 

ISO制作完整脚本(带MD5校验)

 

脚本运行参数

 

mkiso.sh <需要刻录的原始文件或目录> <输出ISO文件>

 

#!/bin/sh

 

#****************************************************

# Author: Muddyboot - [email protected]

# Last modified: 2007-09-11 21:21

# Filename: mkiso.sh

# Description: script for easy creating ISO image

#****************************************************

 

if [ $# -lt 3 ]; then

echo -e "\nUsage: `basename $0` source_dir output_iso cd_label \n"

exit 1

fi

 

source=$1

output=$2

label=$3

 

### extra mkiso argument

shift 3

for i in $@; do

extra_args="$extra_args $1 "

shift

done

 

if [ ! -e "$source" ]; then

echo -e "\nERR: Source file or directory does not exist ! \n"

exit 1

fi

 

## remove exists TRANS.TBL files

if [ -d "$source" ]; then

find $source -name TRANS.TBL | xargs rm -f

fi

 

### 制作ISO

mkisofs -J -T -R $extra_args \

-V $label -o $output $source

 

### 加入 MD5 校验信息

MD5_CHECKSUM=`whereis implantisomd5|awk -F': ' '{print $2}'`

 

if [ -z "$MD5_CHECKSUM" ]; then

echo -e "\n** WARNING: implantisomd5 not found, no md5sum added.\n"

else

echo -e "\n** Good, implantisomd5 program found."

echo "Adding md5sum information for ISO image ..."

implantisomd5 --force $output

fi

 

echo

echo "** ISO image $output created successfully ! "

echo