注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

欢迎光临shaying110的博客

RSed-ISPing

 
 
 

日志

 
 

linux 制作ISO文件命令搜集(资料来自互联网)  

2007-02-26 17:55:58|  分类: Linux |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

1.什么是ISO文件
ISO文件:就是以iso为扩展名的文件,它是iso9660文件格式,一种光盘(CD)上的文件系统格式。简单地说,就是数据在数据光盘上的组织形式:
它的特点是:
 1)最多只包含8级子目录(可以用RockRidge Extension增大这个限制)
  2)文件名最大32字符
  3)文件大小不超过650M
2.在Linux下如何使用ISO文件
通常,Linux系统的内核(Kernel)是支持iso9660文件格式的,如果不支持你需重新编译内核增加对其的支持。
你只需简单使用以下命令就可以从/path目录中读到它的内容了:
  mount -t iso9660 -o loop xxx.iso /path
3.如果将其刻成光盘
使用Windows下的光盘刻录软件,它能够直接完成这个工作。
4.在Linux系统中如何制作ISO文件:
  在Linux系统中,我们可以通过拷贝命令,将光驱上的内容拷贝到一个ISO文件中,如:
cp /dev/cdrom xxx.iso

dd if=/dev/cdrom of=/root/rh1.iso

#cat /dev/cdrom >;/root/1.iso

mkisofs -r -o myiso.iso /dev/cdrom

mkisofs -a -l -J -L -r -o filename.iso /directory

mkisofs -o abc.iso source
mount -o loop abc.iso /mnt/cdrom

***********************************************************************
***********************************************************************

mkisofs (make iso file system)

  功能说明:建立ISO 9660映像文件。

  语  法:mkisofs [-adDfhJlLNrRTvz][-print-size][-quiet][-A <应用程序ID>][-abstract <摘要文件>][-b <开机映像文件>][-biblio ][-c <开机文件名称>][-C <盘区编号,磁区编号>][-copyright <版权信息文件>][-hide <目录或文件名>][-hide-joliet <文件或目录名>][-log-file <记录文件>][-m <目录或文件名>][-M <开机映像文件>][-o <映像文件>][-p <数据处理人>][-P <光盘发行人>][-sysid <系统ID >][-V <光盘ID >][-volset <卷册集ID>][-volset-size <光盘总数>][-volset-seqno <卷册序号>][-x <目录>][目录或文件]

  补充说明:mkisofs可将指定的目录与文件做成ISO 9660格式的映像文件,以供刻录光盘。

  参  数:
  -a或--all mkisofs通常不处理备份文件。使用此参数可以把备份文件加到映像文件中。
  -A<应用程序ID>或-appid<应用程序ID> 指定光盘的应用程序ID。
  -abstract<摘要文件> 指定摘要文件的文件名。
  -b<开机映像文件>或-eltorito-boot<开机映像文件> 指定在制作可开机光盘时所需的开机映像文件。
  -biblio 指定ISBN文件的文件名,ISBN文件位于光盘根目录下,记录光盘的ISBN。
  -c<开机文件名称> 制作可开机光盘时,mkisofs会将开机映像文件中的全-eltorito-catalog<开机文件名称>全部内容作成一个文件。
  -C<盘区编号,盘区编号> 将许多节区合成一个映像文件时,必须使用此参数。
  -copyright<版权信息文件> 指定版权信息文件的文件名。
  -d或-omit-period 省略文件后的句号。
  -D或-disable-deep-relocation ISO 9660最多只能处理8层的目录,超过8层的部分,RRIP会自动将它们设置成ISO 9660兼容的格式。使用-D参数可关闭此功能。
  -f或-follow-links 忽略符号连接。
  -h 显示帮助。
  -hide<目录或文件名> 使指定的目录或文件在ISO 9660或Rock RidgeExtensions的系统中隐藏。
  -hide-joliet<目录或文件名> 使指定的目录或文件在Joliet系统中隐藏。
  -J或-joliet 使用Joliet格式的目录与文件名称。
  -l或-full-iso9660-filenames 使用ISO 9660 32字符长度的文件名。
  -L或-allow-leading-dots 允许文件名的第一个字符为句号。
  -log-file<记录文件> 在执行过程中若有错误信息,预设会显示在屏幕上。
  -m<目录或文件名>或-exclude<目录或文件名> 指定的目录或文件名将不会房入映像文件中。
  -M<映像文件>或-prev-session<映像文件> 与指定的映像文件合并。
  -N或-omit-version-number 省略ISO 9660文件中的版本信息。
  -o<映像文件>或-output<映像文件> 指定映像文件的名称。
  -p<数据处理人>或-preparer<数据处理人> 记录光盘的数据处理人。
  -print-size 显示预估的文件系统大小。
  -quiet 执行时不显示任何信息。
  -r或-rational-rock 使用Rock Ridge Extensions,并开放全部文件的读取权限。
  -R或-rock 使用Rock Ridge Extensions。
  -sysid<系统ID> 指定光盘的系统ID。
  -T或-translation-table 建立文件名的转换表,适用于不支持Rock Ridge Extensions的系统上。
  -v或-verbose 执行时显示详细的信息。
  -V<光盘ID

***************************************************************************
***************************************************************************

现在的DVDROM挺便宜的,我们可以应用一个脚本,把我们下载的ISO文件刻成DVD镜象文件,具体方法如下:
1、 下载以下脚本:


CODE:

#/bin/bash

# by Chris Kloiber <[email]ckloiber@redhat.com[/email]>;

# A quick hack that will create a bootable DVD iso of a Red Hat Linux
# Distribution. Feed it either a directory containing the downloaded
# iso files of a distribution, or point it at a directory containing
# the "RedHat", "isolinux", and "images" directories.

# This version only works with "isolinux" based Red Hat Linux versions.

# Lots of disk space required to work, 3X the distribution size at least.

# GPL version 2 applies. No warranties, yadda, yadda. Have fun.


if [ $# -lt 2 ]; then
echo "Usage: `basename $0` source /destination/DVD.iso"
echo ""
echo " The 'source' can be either a directory containing a single"
echo " set of isos, or an exploded tree like an ftp site."
exit 1
fi

cleanup() {
[ ${LOOP:=/tmp/loop} = "/" ] && echo "LOOP mount point = \/, dying!" && exit
[ -d $LOOP ] && rm -rf $LOOP
[ ${DVD:=~/mkrhdvd} = "/" ] && echo "DVD data location is \/, dying!" && exit
[ -d $DVD ] && rm -rf $DVD
}

cleanup
mkdir -p $LOOP
mkdir -p $DVD

if [ !`ls $1/*.iso 2>;&1>;/dev/null ; echo $?` ]; then
echo "Found ISO CD images..."
CDS=`expr 0`
DISKS="1"

for f in `ls $1/*.iso`; do
mount -o loop $f $LOOP
cp -av $LOOP/* $DVD
if [ -f $LOOP/.discinfo ]; then
  cp -av $LOOP/.discinfo $DVD
  CDS=`expr $CDS + 1`
  if [ $CDS != 1 ] ; then
DISKS=`echo ${DISKS},${CDS}`
fi
fi
umount $LOOP
done
if [ -e $DVD/.discinfo ]; then
awk '{ if ( NR == 4 ) { print disks } else { print ; } }' disks="$DISKS" $DVD/.discinfo >; $DVD/.discinfo.new
mv $DVD/.discinfo.new $DVD/.discinfo
fi
else
echo "Found FTP-like tree..."
cp -av $1/* $DVD
[ -e $1/.discinfo ] && cp -av $1/.discinfo $DVD
fi

rm -rf $DVD/isolinux/boot.cat
find $DVD -name TRANS.TBL | xargs rm -f

cd $DVD
mkisofs -J -R -v -T -o $2 -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table .
/usr/lib/anaconda-runtime/implantisomd5 --force $2

cleanup
echo ""
echo "Process Complete!"
echo ""


[Copy to clipboard]


2、然后运行
# mkdvdiso.sh /path/to/the/cd/isos /location/and/name/of/dvd.iso

# growisofs -Z /dev/scd0=/location/and/name/of/dvd.iso

 

 

 

 

 

 

 

 


 

  评论这张
 
阅读(202)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017