参  数:

-a或--all mkisofs通常不处理备份文件。使用此参数可以把备份文件加到映像文件中。

-A或-appid 指定光盘的应用程序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。

-T或-translation-table 建立文件名的转换表,适用于不支持Rock Ridge Extensions的系统上。

-v或-verbose 执行时显示详细的信息。

-V

###################################################################################

mkisofs(8) 程序作为 sysutils/cdrtools port 的一部分, 将生成 ISO 9660 文件系统,其中包含 UNIX® 命名空间中的文件名。最简单的用法是:

# mkisofs -o imagefile.iso /path/to/tree

这个命令将创建一个包含 ISO9660 文件系统的 imagefile.iso 文件,它是目录树 /path/to/tree 的一个副本。 在处理过程中,它将文件名称映射为标准的 ISO9660 文件系统的文件名,将排除那些不典型的 ISO 文件系统的文件。有很多选项能够用来克服那些限制。特别的,-R 选项能够启用 Rock Ridge 扩展一般的 UNIX 系统,-J 选项能启用用于 Microsoft 系统的 Joliet 扩展,-hfs 选项能用来创建用于 Mac OS® 系统的 HFS 文件系统。对于那些即将要在 FreeBSD 系统中使用 CD 的人来说,-U 选项能用来消除所有文件名的限制。当使用 -R 选项时,它会产生一个 文件系统映像,它与您从那儿启动 FreeBSD 树是一样的,虽然它在许多方面也违反了 ISO 9660 的标准。

最后一个常用的选项是 -b。 它用来指定启动映像的位置,用以生成 “El Torito” 启动 CD。 这个选项使用一个参数, 用以指定将写入 CD 的目录的根。默认情况下, mkisofs(8) 会以常说的 “软盘模拟” 方式来创建 ISO, 因此它希望引导映像文件的尺寸恰好是 1200, 1440 或 2880 KB。 某些引导加载器, 例如 FreeBSD 发行版磁盘, 并不使用模拟模式;这种情况下, 需要使用 -no-emul-boot 选项。 因此, 如果 /tmp/myboot 是一个包含了启动映像文件 /tmp/myboot/boot/cdboot 的可引导的 FreeBSD 系统,您就可以使用下面的命令生成 ISO 9660 文件系统映像 /tmp/bootable.iso:

# mkisofs -R -no-emul-boot -b boot/cdboot -o /tmp/bootable.iso /tmp/myboot

完成这些工作之后, 如果您的内核中配置了 md,就可以用下列命令来挂接文件系统了:

# mdconfig -a -t vnode -f /tmp/bootable.iso -u 0# mount -t cd9660 /dev/md0 /mnt

可以发现 /mnt 和 /tmp/myboot 是一样的。

还可以使用 mkisofs(8) 的其它选项来调整它的行为。特别是修改 ISO 9660 的划分格式,创建 Joliet 和 HFS 格式的磁盘。查看 mkisofs(8) 联机手册得到更多的帮助。

例子:

#!/bin/sh
# NTARS ISO maker
mydate=`date +%F`
mkisofs -o TTT-$mydate.iso \
-R -J -V "TTT setup" \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
-v -d -N -no-emul-boot -boot-load-size 4 -boot-info-table \
-A "TTT Install CD"  TTT/