SSブログ

MacでSambaしようとした。 [MacOSX]

前回、Windows7とMacOSXを連動させようとして、結局、FreeNASを介在させて何とかした話をしました。Windowsの下位互換性の無さと、MacOSXの対応力の無さが災いしているわけですが、やっぱりMSがむかつくということで。

MacOSXではXPの頃には、普通にCIFSで共有できていたんですが、Windows7ではWindows側で設定が必要なので面倒臭い。XPほど台数はないけど、Windows7をすべて対応させるのは面倒な話なので、Mac側にSambaを入れて、そこから出し入れしたほうがいいんじゃないかと思った(でも結局、そっちの方が面倒だった)。

そういやHomeBrewの中にSambaねーかなと思って

 brew search samba

したらあったので、

 brew install samba

した。

 
あ、ここいらへんで書いておくけど、最後まで行っても完全には動かないからそのつもりで読んでね。

コンパイル中に8スレッドが全開で動いていた。それだけ負荷かければ、早く終わるわけだよね。とはいえ、別に作業しているうちにやっていて、めっちゃ内蔵ファンの音がし始めたと思ったら終わってた。やっぱりコンパイルするときぐらいしか、CPUを使っている気がしないんだよね。そういう意味では、ソースコードのリポジトリでもいい気はする。とはいえ、HomeBrewならいいって話で、MacPortsとか対応がひどすぎて戻る気にはならないけど。というか、そこいらのせいでHomeBrewなんてものが出来たんだろうけど、今の所、問題は発生していない。いい感じ。サポートがんばってください。でもやっぱりバイナリリポジトリの方が断然良いに越した事はない。だって基本、単一アーキテクチャなんだし。

入れたはいいんだけど、コマンドラインでの設定とか10年間ぐらいしてないな。いつもデスクトップのUbuntuで設定していたので、正直あんまりよくわかっていない。インストール後にsmbdとnmbdのデーモンが勝手に動いてないので、動作させるところまではやってくれないらしい。面倒いな。UbuntuとかならGUIで勝手にやってくれてたしなぁ。というか、設定ファイルにするんだか、コマンドで設定するんだかさえも忘れてる。ググって調べておく。

 http://www.samba.gr.jp/project/translation/Samba3-HOWTO-3/

基本、/etc/smb.conf を設定すればいいようだが、色々な事ができていない。sudo smbd -D, sudo smbd -V を実行しても蹴られる。そもそも、元々のSambaとは違うものになっている可能性大。smbd単体ではデーモンとして動いているみたいだが、コマンドラインを止めてしまうタイプだし、動きがこれでいいんかどうかも怪しいところだ。少なくとも外側のXPマシンからは見えてない。daemonも放っておくと知らない間に落ちてる。間違いなくきちんと動いてない。


ここに私家版的なものがあるが、実行後スクリプトを見て、気持ち悪過ぎて途中でやめた。

 https://gist.github.com/maddox/1938575

.plistとか思いっきり,Mac用の設定ファイルだし。おいらは純粋にsmbdを動かしたいだけなのにな。というか、本家というか、HomeBrewのリポジトリが良くないんだろうが、多分Sambaの本家からソースコードは持ってきていたと思っていたんだが…。基本、自分達のソフトウェア置き場って持ってないもんね。多分、パッチを当てる時ぐらい?




二年前に相当揉めてる。

 https://github.com/mxcl/homebrew/issues/5954

それが多分放置状態になってる。MacPortsが何とかという話になっていたみたい。もう一回入れて、細かいところを確かめてみよう。
$ brew uninstall samba
$ brew install samba

気になったところは、
==> Patching
patching file source3/lib/system.c

Warning: /usr/local/sbin is not in your PATH
You can amend this by altering your ~/.bashrc file

というところだが、パッチはそんなに細かい事をやってそうにないし、そこにパスを通せば普通に動くと言う事なんだろうか。とりあえず、パスを通してみようかな。source ~/.bashrcあたりで有効にしてみたけれど


ん〜上手くいかない。tail -f /var/log/system.log でログを見てみた。
com.apple.launchd[1] (org.samba.smbd[65958]): posix_spawn("/usr/local/Cellar/samba/3.6.3/sbin/smbd", ...): No such file or directory

このディレクトリには存在してませんね、実際に見てみても。3.6.8フォルダはあるんですけど3.6.3はないです。仮に3.6.8フォルダをコピーして3.6.3フォルダにしてみます。なんか上手くいかない。デーモンは動いてはいるんだけど。


ログにはこういうのが出てきた。立ち上げられてない。
Jun 14 17:18:45 MacBookPro com.apple.launchd.peruser.501[341] (org.samba.smbd[1252]): Exited with code: 1
Jun 14 17:18:45 MacBookPro com.apple.launchd.peruser.501[341] (org.samba.smbd): Throttling respawn: Will start in 10 seconds
Jun 14 17:18:53 MacBookPro com.apple.launchd.peruser.501[341] (org.samba.nmbd[1253]): Exited with code: 1
Jun 14 17:18:53 MacBookPro com.apple.launchd.peruser.501[341] (org.samba.nmbd): Throttling respawn: Will start in 10 seconds

10秒置きにログに吐き出されているので、ちょっと止めたいところだが、launchdというらしきもので自動立ち上げが繰り返されてるのかな。とりあえず止め方が分からなかったらアンインストールしてみようか。


launchctl list
で見て、
sudo launchctl stop com.apple.launchd.peruser.501
で止めてみると、なんか他のデーモンまで止まってしまい、samba関係のログの垂れ流しは止まったけど、正常な状態じゃなさげ。

結局、アンインストールをせずにいられませんでした。なんつーか、MacPortsもHomeBrewも大差ない気がしてきた。ちなみにUbuntuでインストールしたら、普通に勝手にDaemonが立ち上がって、外からSambaが見えたのでした。これでディレクトリの設定を
/etc/samba/smb.conf
で設定すればいいだけなんだよね。その点でHomeBrewはあまり上手くできてない。そもそも、使っている人が少ないからこういう状態があるんだろうね。もう面倒なのでこれでペンディングでいいですかね。もう少し踏み込めば分かりそうな気がするけど、そこまでする時間があれば他のことがしたいところ。

結局、悪かったのは
 https://gist.github.com/maddox/1938575
で、色々いじくっちゃったから。でも、launchdの挙動が少し分かった。/Library/LaunchAgent/に.plistが入っていると自動的に読みに行っちゃうみたいですねぇ。launchctlで設定するだけじゃなくて実ファイルも消さないとダメですね。ちょっと学習したけど、もうMacOSXの開発にはあんまり関わりたくないかも。




今までsmbdを既存のもので立ち上げていた。元から入ってたのは、/sbin/smbdだったらしい。入れたのは/usr/local/sbin/smbd で、更に言えば、/usr/local/Cellar/samba/3.6.8/sbin/smbd が実体でした。だから、きちんと相対パスなり絶対パスなりで立ち上げてあげないといけないわけですね。

smbd -i で順繰りにやっていいたら、/usr/local/Cellar/samba/3.6.8/private というディレクトリがなくてエラーになってて、mkdirで作ってあげたら動いた。なんじゃそりゃ。他のマシンからも見えるようになったけど、パスワードを要求されてるので面倒。でも、これってsmb.confの設定いかんじゃないかと思ったり。続きは次のエントリで。

http://miff.blog.so-net.ne.jp/2013-06-17-2

タグ:homebrew
コメント(0) 
共通テーマ:パソコン・インターネット

コメント 0