058494 ランダム
 ホーム | 日記 | プロフィール 【フォローする】 【ログイン】

 さき的視点@楽天 

 さき的視点@楽天 

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
2007.09.22
XML
テーマ:私のPC生活(7419)
カテゴリ:パソコン
やってみたら思ったより苦労してしまったので、ここに書いておきます。
OS X で NTFS を読み書きするには、今のところ MacFUSE + ntfs-3g を利用するのが一般的です。でも一般的に紹介されている方法では「ボリューム名を自動で取得できない」とか「外付けのNTFSなHDDを自動的にマウントできない」なんて状態だったので、ちょっとした小技を開発(?)してみました。

まず MacFUSE と ntfs-3g をインストールしましょう。
インストール方法はいくつかあるのですが、私は MacPorts を利用しました。MacPortsのインストール方法については割愛します。

 1.MacFUSE (fusefs) をインストール
   $ sudo port install fusefs

 2.ntfs-3g をインストール
   $ sudo port install ntfs-3g

ん~、MacPortsって便利ですね♪
でも実は最初 port selfupdate を忘れて2~3分はまりました。場合によっては port sync も必要ですかね。

ntfs-3g のインストールができたら、次はスクリプトを1つ用意します。エディタは何でも良いので、以下の内容のファイルを作りましょう。
なお、赤の部分はそれぞれの環境に応じて書き換えてください。それから OS X のバージョンによっては ruby が入っていないかもしれないので、そんな時は ruby を導入するか、別の言語で書いてください(^-^;

#!/usr/bin/ruby

mountPoint = ARGV[ARGV.size - 1]
volumeName = File.basename(mountPoint)
deviceName = ARGV[ARGV.size - 2]
system(%(/opt/local/bin/ntfs-3g #{deviceName} "#{mountPoint}" -o volname="#{volumeName}",locale=ja_JP.UTF-8,default_permissions))
※最後の「system(」から「_permissions))」までは連続した1行です。途中で改行しないでください。

これを ~/test.rb という名前で保存したとして説明を続けます。
最後にこのスクリプトを、OS X が元々 NTFS のマウントに使っているコマンドと置き換えます。

 1.毎回 sudo するのは面倒なのでスーパーユーザーになってしまいます
   $ sudo su

 2.オリジナルの mount_ntfs を保存しておきます
   # mv /sbin/mount_ntfs /sbin/mount_ntfs.old

 3.先ほど作成したスクリプトを配置します
   # mv ~/test.rb /sbin/mount_ntfs
   # chown root:wheel /sbin/mount_ntfs
   # chmod 555 /sbin/mount_ntfs

以上で準備完了です。
これで OS X が NTFS をマウントしようとした時は自動的に ntfs-3g でマウントされるようになりました(^-^)



余談ですが、私はこの方法に行き着く前 /System/Library/Filesystems/ntfs.fs/Contents/Info.plist の方でなんとかなるかな~と思っていくつか実験をしていました。その中で FSProbeExecutable の値を変えるとボリューム名などを取得する時の動作がかわるけれど、FSMountExecutable の値を変えてもマウント時の動作がかわらないということがわかりました。
結局 /sbin/mount_ntfs は呼び出されていたのでこちらで対応したのですが、いつ誰が /sbin/mount_ntfs を呼び出しているのかは、まだ調べていません。





お気に入りの記事を「いいね!」で応援しよう

最終更新日  2007.09.22 15:17:04
コメント(3) | コメントを書く
[パソコン] カテゴリの最新記事


PR

サイド自由欄

ここは徐々に片付けます。
移転先はlivedoorブログです。

さき的視点@livedoor

プロフィール

崎 洋佑

崎 洋佑


© Rakuten Group, Inc.
X