暗无天日

=============>DarkSun的个人博客

使用mkisofs将指定目录做成ISO镜像

目录

我们一般使用 dd 命令来将整个磁盘或分区做成镜像。但是若只想将某个目录做成镜像,似乎就没有办法了。

在网上搜索了一番,找到了一个 mkisofs 工具。

安装

mkisofs是属于 cdrtools 软件包中的一个工具。在archlinux上可以直接使用 pacman 进行安装

sudo pacman -S cdrtools --noconfirm
resolving dependencies...
looking for conflicting packages...

Packages (1) cdrtools-3.02a09-1

Total Installed Size:  4.06 MiB
Net Upgrade Size:      0.00 MiB

:: Proceed with installation? [Y/n] 
(0/1) checking keys in keyring                     [----------------------]   0%
(1/1) checking keys in keyring                     [######################] 100%
(0/1) checking package integrity                   [----------------------]   0%
(1/1) checking package integrity                   [######################] 100%
(0/1) loading package files                        [----------------------]   0%
(1/1) loading package files                        [######################] 100%
(0/1) checking for file conflicts                  [----------------------]   0%
(1/1) checking for file conflicts                  [######################] 100%
(0/1) checking available disk space                [----------------------]   0%
(1/1) checking available disk space                [######################] 100%
:: Processing package changes...
(1/1) reinstalling cdrtools                        [----------------------]   0%
(1/1) reinstalling cdrtools                        [######################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...

使用

使用mkisofs创建指定目录的ISO镜像非常简单:

mkisofs -o ${iso_filename} ${directory} 2>&1
Setting input-charset to 'UTF-8' from locale.
Total translation table size: 0
Total rockridge attributes bytes: 0
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used 0
320 extents written (0 MB)

更夸张的是, mkisofs 支持通过 find 条件来过滤要做到ISO镜像中的文件和目录

mkisofs -o ${iso_filename} -find ${find条件}

例如,我要将当前目录下所有的 .org 文件都放到镜像中,那么可以这样做

mkisofs -o /tmp/org.iso -find ./ -name "*.org"  2>&1
Setting input-charset to 'UTF-8' from locale.
mkisofs: Symlink ./reinstall-arch.org ignored - continuing.
mkisofs: Symlink ./.#使用mkisofs将指定目录做成ISO镜像.org ignored - continuing.
Using _____000.ORG;1 for  /小指头的妙用.org (如何创建最小的容器镜像.org)
Using _____001.ORG;1 for  /如何创建最小的容器镜像.org (如何加载linux kernel module.org)
Using _____002.ORG;1 for  /如何加载linux kernel module.org (如何查看进程的内存占用量.org)
Using _____003.ORG;1 for  /如何查看进程的内存占用量.org (如何设置容器中的时区.org)
Using ___AR000.ORG;1 for  /在archlinux上挂载virtualbox磁盘镜像文件.org (在Archlinux上进行时钟同步.org)
Using _____004.ORG;1 for  /如何设置容器中的时区.org (保护容器部署安全的一些技巧.org)
Using LINUX000.ORG;1 for  /linux下的SysRq键.org (linux如何设置时区.org)
Using _____005.ORG;1 for  /保护容器部署安全的一些技巧.org (如何在archlinux上安装RPM包.org)
Using ___OR000.ORG;1 for  /在OrangePi上安装Lychee进行照片管理.org (把Orange Pi Lite打造成ubuntu server.org)
Using ___OR001.ORG;1 for  /把Orange Pi Lite打造成ubuntu server.org (把Orange Pi打造成影音云存储服务器.org)
Using _____006.ORG;1 for  /如何在archlinux上安装RPM包.org (获取系统物理地址的方法.org)
Using _____007.ORG;1 for  /获取系统物理地址的方法.org (如何保留命令替换结果中的换行符.org)
Using LINUX001.ORG;1 for  /linux如何设置时区.org (linux内存的分配和释放.org)
Using LINUX002.ORG;1 for  /linux内存的分配和释放.org (linux中网络相关的那些配置文件.org)
Using _____008.ORG;1 for  /如何保留命令替换结果中的换行符.org (安全的SSH设置.org)
Using _____009.ORG;1 for  /安全的SSH设置.org (常用的8个第三方YUM源.org)
Using _____00A.ORG;1 for  /使用shell控制OrangePi的发光二极管.org (使用shell构建多进程的commandlinefu爬虫.org)
Using _____00B.ORG;1 for  /十大GitHub最佳实践.org (使用git的一些小技巧.org)
Using FIREF000.ORG;1 for  /Firefox提示插件认证过期的解决方法.org (Firefox一次关闭多个标签页.org)
Using LINUX003.ORG;1 for  /linux中网络相关的那些配置文件.org (linux下rar文件常用操作.org)
Using ___AR001.ORG;1 for  /在Archlinux上进行时钟同步.org (在Archlinux下安装和使用Skype.org)
Using _____00C.ORG;1 for  /常用的8个第三方YUM源.org (如何在Linux上查看RAM信息.org)
Using _____00D.ORG;1 for  /清空docker container logs.org (创建Docker Swarm集群.org)
Using _____00E.ORG;1 for  /提高libreoffice效率的小窍门.org (我的linux终端工具.org)
Using ___AR002.ORG;1 for  /在Archlinux下安装和使用Skype.org (在archlinux安装配置VNC Server.org)
Using LINUX004.ORG;1 for  /linux下rar文件常用操作.org (linux如何更改网卡MAC地址.org)
Using _____00F.ORG;1 for  /我的linux终端工具.org (利用linux清空Windows登陆密码.org)
Using _____00G.ORG;1 for  /如何在Linux上查看RAM信息.org (被误用的svn checkout.org)
Using _____00H.ORG;1 for  /通过SSH锻炼你的bash技能.org (强制ssh使用密码认证登陆服务器.org)
Using _____00I.ORG;1 for  /创建Docker Swarm集群.org (使用DosBox运行dos游戏的简易方法.org)
Using LINUX005.ORG;1 for  /linux如何更改网卡MAC地址.org (Linux下的那些教育类软件集合.org)
Using _____00J.ORG;1 for  /被误用的svn checkout.org (为什么cat命令查看文件不会修改atime.org)
Using ___AR003.ORG;1 for  /在archlinux安装配置VNC Server.org (在Archlinux上安装和使用Tripwire IDS.org)
Using _____00K.ORG;1 for  /利用linux清空Windows登陆密码.org (体验libvirt虚拟机.org)
Using ___LI000.ORG;1 for  /在Linux上搭建UO服务器.org (为Linux安装杀毒软件.org)
Using _____00L.ORG;1 for  /为什么cat命令查看文件不会修改atime.org (如何保证Dockerfile每次都能产生完全相同的镜像.org)
Using _____00M.ORG;1 for  /体验libvirt虚拟机.org (检查linux命令是否存在的正确方式.org)
Using _____00N.ORG;1 for  /如何保证Dockerfile每次都能产生完全相同的镜像.org (如何修改新版gnome-terminal的标题.org)
Using _____00O.ORG;1 for  /如何修改新版gnome-terminal的标题.org (程序员使用的gedit配置.org)
Using _____00P.ORG;1 for  /程序员使用的gedit配置.org (如何多用户共享tmux session.org)
Using ___AR004.ORG;1 for  /在Archlinux上安装和使用Tripwire IDS.org (在archlinux中使用蓝牙耳机.org)
Using ___OR002.ORG;1 for  /把Orange Pi打造成影音云存储服务器.org (将OrangePiLite打造成BT下载服务器.org)
Using _____00Q.ORG;1 for  /如何多用户共享tmux session.org (如何退出无响应的ssh会话.org)
Using SHELL000.ORG;1 for  /shell中的那些初始化文件.org (shell中如何将其他进制数转换成10进制数.org)
Using _____00R.ORG;1 for  /使用rename批量重命名文件.org (使用redshift保护你的睡眠质量.org)
Using _____00S.ORG;1 for  /使用logsave将命令输出保存起来.org (使用losetup帮你创建虚拟磁盘.org)
Using _____00T.ORG;1 for  /如何退出无响应的ssh会话.org (如何使用sudo命令来添加内容到文件中.org)
Using _____00U.ORG;1 for  /如何使用sudo命令来添加内容到文件中.org (误删除dev下特殊文件怎么办.org)
Using _____00V.ORG;1 for  /误删除dev下特殊文件怎么办.org (如何复制文件的权限和所属关系.org)
Using LINUX006.ORG;1 for  /Linux下的那些教育类软件集合.org (linux定时休眠.org)
Using ___AR005.ORG;1 for  /在archlinux中使用蓝牙耳机.org (为Archlinux安装Android双启动.org)
Using ___OR003.ORG;1 for  /将OrangePiLite打造成BT下载服务器.org (把Orange Pi打造成AirPlay无线音响.org)
Using _____00W.ORG;1 for  /如何复制文件的权限和所属关系.org (如何不使用第三方工具查看笔记本的电量还剩多少.org)
Using _____00X.ORG;1 for  /如何不使用第三方工具查看笔记本的电量还剩多少.org (如何在xargs中使用自定义函数.org)
Using _____00Y.ORG;1 for  /如何在xargs中使用自定义函数.org (一个学习SQL的网站.org)
Using ___OR004.ORG;1 for  /把Orange Pi打造成AirPlay无线音响.org (将OrangePi打造成中央日志服务器.org)
Using _____00Z.ORG;1 for  /一个学习SQL的网站.org (目录跳转神器z的实现原理和使用方法.org)
Using ___OR005.ORG;1 for  /将OrangePi打造成中央日志服务器.org (把OrangePiLite打造成shadowsocks服务器.org)
Using LINUX007.ORG;1 for  /linux定时休眠.org (linux重要日志说明.org)
Using _____010.ORG;1 for  /目录跳转神器z的实现原理和使用方法.org (识别文件格式的那些工具.org)
Using _____011.ORG;1 for  /识别文件格式的那些工具.org (拷贝一个文件到多个目录的几种方法.org)
Using BASH_000.ORG;1 for  /Bash中的keymap与bind命令.org (bash中的扩展通配符.org)
Using _____012.ORG;1 for  /拷贝一个文件到多个目录的几种方法.org (如何编写bash completion script.org)
Using _____013.ORG;1 for  /如何编写bash completion script.org (查找某个文件属于哪个package的方法.org)
Using _____014.ORG;1 for  /查找某个文件属于哪个package的方法.org (将视频转换成gif的方法.org)
Using _____015.ORG;1 for  /连接Android手机到ArchLinux上.org (编写ansible playbook的一些注意事项.org)
Using _____016.ORG;1 for  /将视频转换成gif的方法.org (一个显示中文格言的fortune文件.org)
Using AWESO000.ORG;1 for  /AwesomeWM中的client.org (awesomewm配置.org)
Using _____017.ORG;1 for  /使用cryptmount创建加密镜像保存机密文件.org (使用cryptsetup创建加密磁盘.org)
Using _____018.ORG;1 for  /一个显示中文格言的fortune文件.org (让你的终端雪花飞舞.org)
Using _____019.ORG;1 for  /让你的终端雪花飞舞.org (命令的执行环境.org)
Using _____01A.ORG;1 for  /使用shell构建多进程的commandlinefu爬虫.org (使用shred彻底删除文件.org)
Using _____01B.ORG;1 for  /命令的执行环境.org (一个分析正则表达式的好网站.org)
Using _____01C.ORG;1 for  /一个分析正则表达式的好网站.org (我所不知道的printf命令特性.org)
Using _____01D.ORG;1 for  /使用bash随机更换壁纸.org (使用bash-it重新规划bash配置.org)
Using BASH_001.ORG;1 for  /bash中的扩展通配符.org (Bash中的那些有趣的内置变量.org)
Using _____01E.ORG;1 for  /检查linux命令是否存在的正确方式.org (保证linux登陆密码的质量.org)
Using _____01F.ORG;1 for  /关闭firefox的全屏提示.org (使用file命令识别磁盘文件格式.org)
Using ARCHL000.ORG;1 for  /archlinux安装nvidia驱动.org (archlinux如何降级安装软件包.org)
Using SSH__000.ORG;1 for  /ssh远程执行脚本后无返回的解决方法.org (ssh端口转发说明.org)
Using ___OR006.ORG;1 for  /把OrangePiLite打造成shadowsocks服务器.org (在OrangePi上使用Docker-Compose搭建蚂蚁笔记服务器.org)
Using _____01G.ORG;1 for  /使用shred彻底删除文件.org (使用shell察看OrangePi的温度.org)
Using ___OR007.ORG;1 for  /在OrangePi上使用Docker-Compose搭建蚂蚁笔记服务器.org (把Orange Pi打造成多功能下载机.org)
Using LINUX008.ORG;1 for  /linux重要日志说明.org (linux是如何记录日志的.org)
Using _____01H.ORG;1 for  /我所不知道的printf命令特性.org (一行命令把OrangePi打造成文件云服务器.org)
Using _____01I.ORG;1 for  /一行命令把OrangePi打造成文件云服务器.org (命令行查看GPU内存容量.org)
Using _____01J.ORG;1 for  /编写ansible playbook的一些注意事项.org (使用anacron定期执行任务.org)
Using _____01K.ORG;1 for  /命令行查看GPU内存容量.org (删除文件时发生了些什么事情.org)
Using _____01L.ORG;1 for  /删除文件时发生了些什么事情.org (不死的sed.org)
Using _____01M.ORG;1 for  /不死的sed.org (终端环境使用w3m访问视频站点的正确方式.org)
Using SSH__001.ORG;1 for  /ssh端口转发说明.org (ssh使用跳板机访问远程服务器.org)
Using BASH_002.ORG;1 for  /Bash中的那些有趣的内置变量.org (Bash中的那些快捷键.org)
Using _____01N.ORG;1 for  /使用chrt修改进程调度策略及优先级.org (使用chattr实现对文件属性的精细化管理.org)
Using _____01O.ORG;1 for  /修复passwd:Authentication token manipulation error的步骤.org (使用parallel加速单线程程序.org)
Using _____01P.ORG;1 for  /终端环境使用w3m访问视频站点的正确方式.org (如何在linux上安装新字体.org)
Using _____01Q.ORG;1 for  /如何在linux上安装新字体.org (创建无法用cat显示的文件.org)
Using _____01R.ORG;1 for  /保证linux登陆密码的质量.org (编译linux kernel.org)
Using ___OR008.ORG;1 for  /把Orange Pi打造成多功能下载机.org (在OrangePi上运行DOS程序.org)
Using _____01S.ORG;1 for  /创建无法用cat显示的文件.org (使用管道要注意的几个点.org)
Using _____01T.ORG;1 for  /编译linux kernel.org (使用libreoffice批量转换文件和打印.org)
Using _____01U.ORG;1 for  /使用管道要注意的几个点.org (如何向其他用户隐藏进程信息.org)
Using ___OR009.ORG;1 for  /在OrangePi上运行DOS程序.org (把Orange Pi打造成git服务器.org)
Using _____01V.ORG;1 for  /如何向其他用户隐藏进程信息.org (如何更改分区的UUDI.org)
Using _____01W.ORG;1 for  /如何更改分区的UUDI.org (如何禁用history.org)
Using _____01X.ORG;1 for  /强制ssh使用密码认证登陆服务器.org (排查SSH X11 Forwarding无效的步骤.org)
Using ARCHL001.ORG;1 for  /archlinux如何降级安装软件包.org (archlinux开启指纹登陆.org)
Using _____01Y.ORG;1 for  /使用parallel加速单线程程序.org (使用partclone备份磁盘分区.org)
Using _____01Z.ORG;1 for  /运行tail|grep后按下Ctrl-C的过程中发生了什么.org (使用tar代替cp进行拷贝.org)
Using ARCHL002.ORG;1 for  /archlinux开启指纹登陆.org (archlinux使用virtualbox的几个要点.org)
Using _____020.ORG;1 for  /如何禁用history.org (如何禁止普通用户查看dmesg信息.org)
Total translation table size: 0
Total rockridge attributes bytes: 0
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used 21000
916 extents written (1 MB)

mkisofs本身拥有非常多的选项,可以使用 -help 选项查看各个选项的说明。

mkisofs -help 2>&1
Usage: mkisofs [options] [-find] file... [find expression]
Options:
  -find file... [find expr.]  Option separator: Use find command line to the right
  -posix-H                    Follow symbolic links encountered on command line
  -posix-L                    Follow all symbolic links
  -posix-P                    Do not follow symbolic links (default)
  -abstract FILE              Set Abstract filename
  -A ID, -appid ID            Set Application ID
  -biblio FILE                Set Bibliographic filename
  -cache-inodes               Cache inodes (needed to detect hard links)
  -no-cache-inodes            Do not cache inodes (if filesystem has no unique inodes)
  -rrip110                    Create old Rock Ridge V 1.10
  -rrip112                    Create new Rock Ridge V 1.12 (default)
  -duplicates-once            Optimize storage by encoding duplicate files once
  -check-oldnames             Check all imported ISO9660 names from old session
  -check-session FILE         Check all ISO9660 names from previous session
  -copyright FILE             Set Copyright filename
  -debug                      Set debug flag
  -ignore-error               Ignore errors
  -b FILE, -eltorito-boot FILE
                              Set El Torito boot image name
  -eltorito-alt-boot          Start specifying alternative El Torito boot parameters
  -eltorito-platform ID       Set El Torito platform id for the next boot entry
  -B FILES, -sparc-boot FILES Set sparc boot image names
  -sunx86-boot FILES          Set sunx86 boot image names
  -G FILE, -generic-boot FILE Set generic boot image name
  -sparc-label label text     Set sparc boot disk label
  -sunx86-label label text    Set sunx86 boot disk label
  -c FILE, -eltorito-catalog FILE
                              Set El Torito boot catalog name
  -C PARAMS, -cdrecord-params PARAMS
                              Magic paramters from cdrecord
  -d, -omit-period            Omit trailing periods from filenames (violates ISO9660)
  -data-change-warn           Treat data/size changes as warning only
  -dir-mode mode              Make the mode of all directories this mode.
  -D, -disable-deep-relocation
                              Disable deep directory relocation (violates ISO9660)
  -file-mode mode             Make the mode of all plain files this mode.
  -errctl name                Read error control defs from file or inline.
  -f, -follow-links           Follow symbolic links
  -gid gid                    Make the group owner of all files this gid.
  -graft-points               Allow to use graft points for filenames
  -root DIR                   Set root directory for all new files and directories
  -old-root DIR               Set root directory in previous session that is searched for files
  -help                       Print option help
  -hide GLOBFILE              Hide ISO9660/RR file
  -hide-list FILE             File with list of ISO9660/RR files to hide
  -hidden GLOBFILE            Set hidden attribute on ISO9660 file
  -hidden-list FILE           File with list of ISO9660 files with hidden attribute
  -hide-joliet GLOBFILE       Hide Joliet file
  -hide-joliet-list FILE      File with list of Joliet files to hide
  -hide-udf GLOBFILE          Hide UDF file
  -hide-udf-list FILE         File with list of UDF files to hide
  -hide-joliet-trans-tbl      Hide TRANS.TBL from Joliet tree
  -hide-rr-moved              Rename RR_MOVED to .rr_moved in Rock Ridge tree
  -gui                        Switch behaviour for GUI
  -input-charset CHARSET      Local input charset for file name conversion
  -output-charset CHARSET     Output charset for file name conversion
  -iso-level LEVEL            Set ISO9660 conformance level (1..3) or 4 for ISO9660 version 2
  -J, -joliet                 Generate Joliet directory information
  -joliet-long                Allow Joliet file names to be 103 Unicode characters
  -jcharset CHARSET           Local charset for Joliet directory information
  -l, -full-iso9660-filenames Allow full 31 character filenames for ISO9660 names
  -max-iso9660-filenames      Allow 37 character filenames for ISO9660 names (violates ISO9660)
  -allow-leading-dots         Allow ISO9660 filenames to start with '.' (violates ISO9660)
  -ldots                      Allow ISO9660 filenames to start with '.' (violates ISO9660)
  -log-file LOG_FILE          Re-direct messages to LOG_FILE
  -long-rr-time               Use long Rock Ridge time format
  -m GLOBFILE, -exclude GLOBFILE
                              Exclude file name
  -exclude-list FILE          File with list of file names to exclude
  -hide-ignorecase, -exclude-ignorecase
                              Ignore case with -exclude-list and -hide* options
  -modification-date DATE     Set the modification date field of the PVD
  -nobak                      Do not include backup files
  -no-bak                     Do not include backup files
  -pad                        Pad output to a multiple of 32k (default)
  -no-pad                     Do not pad output to a multiple of 32k
  -no-limit-pathtables        Allow more than 65535 parent directories (violates ISO9660)
  -no-long-rr-time            Use short Rock Ridge time format
  -M FILE, -prev-session FILE Set path to previous session to merge
  -dev SCSIdev                Set path to previous session to merge
  -N, -omit-version-number    Omit version number from ISO9660 filename (violates ISO9660)
  -new-dir-mode mode          Mode used when creating new directories.
  -force-rr                   Inhibit automatic Rock Ridge detection for previous session
  -no-rr                      Inhibit reading of Rock Ridge attributes from previous session
  -no-split-symlink-components
                              Inhibit splitting symlink components
  -no-split-symlink-fields    Inhibit splitting symlink fields
  -o FILE, -output FILE       Set output file name
  -path-list FILE             File with list of pathnames to process
  -p PREP, -preparer PREP     Set Volume preparer
  -print-size                 Print estimated filesystem size and exit
  -publisher PUB              Set Volume publisher
  -quiet                      Run quietly
  -r, -rational-rock          Generate rationalized Rock Ridge directory information
  -R, -rock                   Generate Rock Ridge directory information
  -s TYPE, -sectype TYPE      Set output sector type to e.g. data/xa1/raw
  -short-rr-time              Use short Rock Ridge time format
  -sort FILE                  Sort file content locations according to rules in FILE
  -isort FILE                 Sort file content locations according to rules in FILE (ignore case)
  -split-output               Split output into files of approx. 1GB size
  -stream-file-name FILE_NAME Set the stream file ISO9660 name (incl. version)
  -stream-media-size #        Set the size of your CD media in sectors
  -sysid ID                   Set System ID
  -T, -translation-table      Generate translation tables for systems that don't understand long filenames
  -table-name TABLE_NAME      Translation table file name
  -ucs-level LEVEL            Set Joliet UCS level (1..3)
  -udf                        Generate rationalized UDF file system
  -UDF                        Generate UDF file system
  -udf-symlinks               Create symbolic links on UDF image (default)
  -no-udf-symlinks            Do not reate symbolic links on UDF image
  -dvd-audio                  Generate DVD-Audio compliant UDF file system
  -dvd-hybrid                 Generate a hybrid (DVD-Audio and DVD-Video) compliant UDF file system
  -dvd-video                  Generate DVD-Video compliant UDF file system
  -uid uid                    Make the owner of all files this uid.
  -U, -untranslated-filenames Allow Untranslated filenames (for HPUX & AIX - violates ISO9660). Forces -l, -d, -N, -allow-leading-dots, -relaxed-filenames, -allow-lowercase, -allow-multidot
  -relaxed-filenames          Allow 7 bit ASCII except lower case characters (violates ISO9660)
  -no-iso-translate           Do not translate illegal ISO characters '~', '-' and '#' (violates ISO9660)
  -allow-lowercase            Allow lower case characters in addition to the current character set (violates ISO9660)
  -no-allow-lowercase, +allow-lowercase
                              Do not allow lower case characters in addition to the current character set.
  -allow-multidot             Allow more than one dot in filenames (e.g. .tar.gz) (violates ISO9660)
  -use-fileversion LEVEL      Use file version # from filesystem
  -v, -verbose                Verbose
  -version                    Print the current version
  -V ID, -volid ID            Set Volume ID
  -volset ID                  Set Volume set ID
  -volset-size #              Set Volume set size
  -volset-seqno #             Set Volume set sequence number
  -x FILE, -old-exclude FILE  Exclude file name(depreciated)
  -hard-disk-boot             Boot image is a hard disk image
  -no-emul-boot               Boot image is 'no emulation' image
  -no-boot                    Boot image is not bootable
  -boot-load-seg #            Set load segment for boot image
  -boot-load-size #           Set numbers of load sectors
  -boot-info-table            Patch boot image with info table
  -XA                         Generate XA directory attributes
  -xa                         Generate rationalized XA directory attributes
  -z, -transparent-compression
                              Enable transparent compression of files
  -hfs-type TYPE              Set HFS default TYPE
  -hfs-creator CREATOR        Set HFS default CREATOR
  -g, -apple                  Add Apple ISO9660 extensions
  -h, -hfs                    Create ISO9660/HFS hybrid
  -map MAPPING_FILE           Map file extensions to HFS TYPE/CREATOR
  -magic FILE                 Magic file for HFS TYPE/CREATOR
  -probe                      Probe all files for Apple/Unix file types
  -mac-name                   Use Macintosh name for ISO9660/Joliet/RockRidge file name
  -no-mac-files               Do not look for Unix/Mac files (depreciated)
  -boot-hfs-file FILE         Set HFS boot image name
  -part                       Generate HFS partition table
  -cluster-size SIZE          Cluster size for PC Exchange Macintosh files
  -auto FILE                  Set HFS AutoStart file name
  -no-desktop                 Do not create the HFS (empty) Desktop files
  -hide-hfs GLOBFILE          Hide HFS file
  -hide-hfs-list FILE         List of HFS files to hide
  -hfs-volid HFS_VOLID        Volume name for the HFS partition
  -icon-position              Keep HFS icon position
  -root-info FILE             finderinfo for root folder
  -input-hfs-charset CHARSET  Local input charset for HFS file name conversion
  -output-hfs-charset CHARSET Output charset for HFS file name conversion
  -hfs-unlock                 Leave HFS Volume unlocked
  -hfs-bless FOLDER_NAME      Name of Folder to be blessed
  -hfs-parms PARAMETERS       Comma separated list of HFS parameters
  -prep-boot FILE             PReP boot image file -- up to 4 are allowed
  -chrp-boot                  Add CHRP boot header
  --cap                       Look for AUFS CAP Macintosh files
  --netatalk                  Look for NETATALK Macintosh files
  --double                    Look for AppleDouble Macintosh files
  --ethershare                Look for Helios EtherShare Macintosh files
  --exchange                  Look for PC Exchange Macintosh files
  --sgi                       Look for SGI Macintosh files
  --macbin                    Look for MacBinary Macintosh files
  --single                    Look for AppleSingle Macintosh files
  --ushare                    Look for IPT UShare Macintosh files
  --xinet                     Look for XINET Macintosh files
  --dave                      Look for DAVE Macintosh files
  --sfm                       Look for SFM Macintosh files
  --osx-double                Look for MacOS X AppleDouble Macintosh files
  --osx-hfs                   Look for MacOS X HFS Macintosh files
  -no-hfs                     Do not create ISO9660/HFS hybrid