«前の日記(2014-07-07) 最新 次の日記(2014-07-14)» 編集

meta's blog - The Power To Serve

筆者について

FreeBSDを通じてOSSにささかな貢献を。

OSS活動をご支援いただける方を募集しています


2014-07-08 CentOS 7 の ISO イメージを OS X でマウントする方法

CentOS 7 の ISO イメージを OS X でマウントする方法

CentOS 7 出ましたね。ftp.jaist.ac.jp のミラーは負荷に耐え切れずあっぷあっぷしているようなので、IIJ のミラーや BitTorrent などで ISO イメージをダウンロードするのが良いです。

さて、タイトルにもなっている本題ですが、CentOS 7 の ISO イメージを Mac OS X でダブルクリックでマウントしても下の画像のように空っぽに見えてしまいます。どうも、USB メモリなどに dd で書き込むとそのままブートできる CD/DVD と memstick のハイブリッドなイメージなったのが理由のひとつみたいです。

CentOS7-Live.png

FreeBSD では ISO イメージをマウントするときに mdconfig(8)使いますが、OS X も似たようなコマンドで同様の手順でこの手のイメージをマウントする事ができます。

まず /usr/libexec/vndevice を使って、ISO イメージをデバイスファイルに割り当てて、それからデバイスファイルをマウントするという流れです。mkdir しているのは単にマウントポイントを作成しているだけなので、空いているマウントポイントを使えば OK です。

コマンドの使い方は、引数なしで実行すると出てきます。ファイル名は vndevice なのに usage で出てくるのは vncontrol というちょっと不思議な感じです。これ以外にドキュメントもないようなので、もしかすると既に obsolete なコマンドになっていて近い将来の OS X には含まれないのかもしれません。

$ /usr/libexec/vndevice
usage: vncontrol <command> <args>
vncontrol attach <dev_node> <image_file>
vncontrol shadow <dev_node> <shadow_file>
vncontrol detach <dev_node>
$ mkdir /tmp/centos7
$ sudo /usr/libexec/vndevice attach /dev/vn0 /tmp/CentOS-7.0-1406-x86_64-livecd.iso
$ sudo mount_cd9660 /dev/vn0 /tmp/centos7

これで /tmp/centos7 に ISO イメージがマウントできました。Finder で中身を見てみると… OS っぽいファイルが中にないのでマウントしても何ができるというわけではないですね。マウントしたディスクイメージの中にさらにディスクイメージ(squashfs.img)がありますが、これは squashfs なので OS X の機能だけではマウントすることができません。

CentOS-vndevice.png

squashfuse などを使って FUSE 経由でマウントすることはできますが、めんどくさいのでやめました。

というわけで、CentOS 7 の ISO イメージを OS X でマウントしても squashfs のディスクイメージが取り出せるだけで特にメリットはありません。squashfs を FUSE でマウントすることはできるのでやってみたい人は頑張ってください。

CentOS 以外のイメージで、同じくダブルクリックでマウントしても空っぽに見えるディスクイメージに遭遇した時には役に立つかもしれません。