筆者について
FreeBSDを通じてOSSにささかな貢献を。
- 日本xrdpユーザ会発起人
- xrdp developer
- FreeBSD developer
OSS活動をご支援いただける方を募集しています
2014-07-08 CentOS 7 の ISO イメージを OS X でマウントする方法
■ CentOS 7 の ISO イメージを OS X でマウントする方法
CentOS 7 出ましたね。ftp.jaist.ac.jp のミラーは負荷に耐え切れずあっぷあっぷしているようなので、IIJ のミラーや BitTorrent などで ISO イメージをダウンロードするのが良いです。
ftp.jaistはもう突発的な負荷には耐えられないんだ。日常的なアクセスですら75%使ってんだから。僕ががんばってもどうにもならん。
— 藤枝和宏 - ぱんなこった@佐鎮 (@kfujieda) 2014, 7月 8
IIJの公開ftpサーバ http://t.co/XriEej8aZfは、CentOS以外にもいくつかのLinuxディストリビューションを配布しています。ミラーサーバーの負荷分散にご利用下さい。もちろん*BSDもあります。 http://t.co/U9fVf6RnGf
— どうまえ@IIJ (@IIJ_doumae) 2014, 7月 8
さて、タイトルにもなっている本題ですが、CentOS 7 の ISO イメージを Mac OS X でダブルクリックでマウントしても下の画像のように空っぽに見えてしまいます。どうも、USB メモリなどに dd で書き込むとそのままブートできる CD/DVD と memstick のハイブリッドなイメージなったのが理由のひとつみたいです。
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 の機能だけではマウントすることができません。
squashfuse などを使って FUSE 経由でマウントすることはできますが、めんどくさいのでやめました。
というわけで、CentOS 7 の ISO イメージを OS X でマウントしても squashfs のディスクイメージが取り出せるだけで特にメリットはありません。squashfs を FUSE でマウントすることはできるのでやってみたい人は頑張ってください。
CentOS 以外のイメージで、同じくダブルクリックでマウントしても空っぽに見えるディスクイメージに遭遇した時には役に立つかもしれません。