drutil and hdiutil.
CLI で ISO9660 image の作成/書き込みを行いたかったので MacPorts で cdrtools を導入しました……が。
mkisofs は他のプラットフォーム同様に使えたものの、 cdrecode の dev= に何を指定するか分からず、書き込みが行えませんでした :(
対処
これらは GUI では Disk Utility.app で行う作業です。Apple の事だから多分 Disk Utility.app の CLI があるだろうと探したところ、やはりありました。
機能ごとにいくつかに分かれていて diskutil(8), hdiutil(8), drutil(8) などがあるようです*1。
名称 | 機能 | 相当する別コマンド |
---|---|---|
diskutil | 主にローカルディスクに対する操作 | fdisk, fsck など |
hdiutil | ディスクイメージの作成や操作 | mkisofs(genisoimage)など |
drutil | ディスクイメージをメディアに書き込む | cdrecode(wodim)など |
ということで、 hdiutil でイメージを作成し、drutil で書き込んでみることにします。
イメージ作成
% hdiutil makehybrid -iso -joliet -default-volume-name 'Volume name' -verbose -o path/to/foo.iso path/to/source
イメージ書き込み
% drutil burn -speed 4 -verify -mount path/to/foo.iso
日本語のファイル名も問題なく通りました*2。
便利なオプションが沢山ありますので、是非 man を一読ください。それぞれに EXAMPLES セクションが付いていますので、感覚を掴むのにも便利です。
追記
cdrecord の dev= へ渡す引数が分かりました。
% cdrecord dev=IODVDServices path/to/foo.iso
だそうです。
% cdrecord -scanbus
の出力に有効な値が現れなかったので諦めていたのですが
% cdrecord dev=help
してみれば良かったのですね……。先達に感謝です :)