[mac]netatalkでmacのEclipseからVMware上のCentOSにアクセス(3/3)
前回はCentOSにnetatalkをインストールしたので、今回はnetatalkの設定と、Mac上のEclipseからCentOSにアクセスするときにハマったところを説明します。
と、その前に、netatalkをインストールすることになった経緯のおさらい。
現在Windows XPのEclipseは、VMware Sever上のCentOS 5上にワークスペースを作ってそこで開発をしていて、WindowsとCentOS間のファイル共有にはsambaを用いていました。今度開発環境をMacに移すにあたり、Mac OS XのEclipseから、VMware Fusion上のCentOS上のワークスペースにアクセスする訳ですが、Mac OS XとCentOS間のファイル共有にはsambaではイマイチなので、netatalkを用いることにしました。イメージとしては下図のような感じです。
私自身はあまり詳しく調べていないので、私の環境では問題なく動いたときの設定を紹介いたします。
まずは、文字コード周りの設定から。netatalk.confを編集します。
-
sudo vim /etc/atalk/netatalk.conf
-
#ATALK_MAC_CHARSET='MAC_ROMAN'
-
というMAC側キャラセットを以下に変更。
-
ATALK_MAC_CHARSET='MAC_JAPANESE'
-
同様に、
-
#ATALK_UNIX_CHARSET='LOCALE'
-
というUNIX側キャラセットを以下に変更。
-
ATALK_UNIX_CHARSET='UTF8'
ゲストユーザの設定は必要かどうかはわかりませんが、適当なユーザ名に変えておきました。
-
#AFPD_GUEST=nobody
-
AFPD_GUEST=hogeuser
ついでに自動起動も設定しておきます。
-
sudo /sbin/chkconfig atalk on
そして、これが結構ハマりどころだった設定を先に有効化しておきます。
-
sudo vim /etc/atalk/AppleVolimes.default
長いコメントの後、最終行に1文字だけ「~(チルダ)」があります。これはnetatalkで読み込むディレクトリを指しています。チルダはもちろんホームフォルダのことです。読み込むディレクトリを増やすには、チルダ以下に改行で列挙していきます。この設定ファイルはディレクトリの指定だけではなく、読み込み方法のオプションや先ほど設定したキャラセットなども設定できます。どういう設定があるかはManpage of AppleVolumes.defaultを参照してください。このなかで、一番大事な設定はoptions:usedotsです。これは、ドットファイル(先頭がドットから始まるファイルやディレクトリ)に対して、:hex変換を用いてファイル名を変えてしまうことを抑制するオプションです。デフォルトでは「.DS_Store」が「:2eDS_Store」として保存されてしまいます。Mac側から見ると、netatalkによって「.DS_Store」に見えるそうです。どうして厄介なのかは毎日モザイク » 2007 » 5月などをご覧ください。どちらかというと、Eclipseのときに厄介でした。ともかく、usedots設定をします。
-
~
-
上記、チルダの1行を
-
~ options:usedots
-
と変更する。他にもディレクトリの指定を追加した場合も同様にusedotsを指定する。
一応、usedotsを使わなかったときのCentOS上のディレクトリをお見せすると、こうなっています。(仕事上のディレクトリですので、モザイクばっかですいません。)
「.AppleDouble」はnetatalkが使っているメタ情報のフォルダです。Macのメタ情報フォルダ「.DS_Store」があるかと思いますが、同時に「:2eDS_Store」もあります。またEclipseのメタ情報フォルダ「.metadata」がありますが、同時に「:2emetadata」が作られています。Eclipseで既存ワークスペースを読み込もうとすると、「.metadata」は認識されず、新規に「:2emetadata」が作成されてしまうので、新規ワークスペース扱いされてしまいます。usedotsオプションを用いれば、「.DS_Store」や「.metadata」が認識されて、Eclipseでも既存のワークスペースが開けます。

さて、いよいよnetatalk経由でCentOSにアクセスしてみます。netatalkのプロトコルはAFPですので、Finderの[移動]-[サーバへ接続...]で以下のように「afp://VMゲストのIP/」を指定します。

ユーザの認証が通れば、Finderに読み込まれます。


どうやら、うまく読み込めたようです。
いよいよEclipseを起動します。CentOS上の既存のワークスペースを指定して、読み込もうとしたら、「ワークスペースが使用中であるか作成できません。別のワークスペースを選択して下さい」といったロックファイル関連のエラーが発生しました。日記(仮) >> 2007/4/7を見るとネットワーク上のファイル共有ディレクトリにワークスペースを置くと、ロックファイルが正しく動かないようです。これを解決する方法はいくつかあるようですが、私の場合は、ワークスペースをロックしない設定にすること。MacのEclipseの設定ファイルは、Eclipseディレクトリのconfiguration/config.iniにありますので、以下のテキストを末尾に追加します。
-
osgi.locking=none
これで無事にEclipseが起動し、既存のワークスペースがそのまま使えるようになりました。netatalkすげー。
これでMacの開発環境も揃いそうです。長かった。
>> [mac]netatalkでmacのEclipseからVMware上のCentOSにアクセス(1/3)
