使用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