OS X LionからSambaにアクセスできない
LionになってSambaがAppleのオリジナルコードで置き換えられたらしく、Sambaで共有されてるNASをマウントできない。
この記事に従ってハックするとマウント出来るらしいのだが、自分の場合出来なかったので代替策。
MacPortsでsamba3をインストールする。samba4はなぜかうまく接続できないので使わない。
sudo port install samba3 +universal
このとき、samba4がインストールされているとビルドに失敗するらしい(これに気づくのに時間がかかった)ので、その場合にはdeactivateするなりしておく。
sudo port deactivate samba4
samba3をインストールすると、smbclientが使えるようになる。smbclientを使うとftpコマンドのようにsambaサーバーにアクセスできる。
これでも使えることは使えるのだが、コマンドベースだとなかなか使いにくい。やっぱりマウント出来たほうがありがたい。調べてみると幾つかマウントするためのツールがあるみたいだけど、うまくビルドできなかったり。
そこでlibsmbclientのAPIを使ってsambaをマウントするFuseを勉強がてら書いてみた。
libsmbclientはマルチスレッドには対応していないらしいので、mutex lockをかけている。
読み込むアドレスとかユーザー名パスワードとかがハードコーディングされてるのがちょっと問題。どうやってFuseのオプションと協調すべきなのかよくわからなかったので放置。