Samba 4.1へアップグレード

Samba 3.6からSamba 4.1にアップグレードしてみた。(3.6のままでも不自由なかったけど。) 思ったより大変だった。はまったポイントは次の3点。

  • Perlが古いと依存パッケージのビルドでcore dumpしてインストールに失敗する。
  • コンフィグファイル名、およびディレクトリが変更されている。
  • Samba 4.1からSWATが廃止された。

GUIな設定ツールがなさそうなのに、なぜX関連のパッケージに大量に依存しているのかは謎。

  1. インストールしてあるPerlのバージョンが5.16.3のままだと、Sambaの依存パッケージのビルドでPerlがcore dumpして失敗する。
  2. Samba 3.6をSamba 4.1にportmasterを使ってアップグレード。

    いっぱいインストールされた。コンソールまたはWebからしか設定しないからXなインタフェースは不要なのだけど、はずせないみたい。インストール完了後にこんなメッセージが表示される。

    コンフィグファイル名と各種ファイルの置き場所が変更されている。

  3. /etc/rc.confを編集して、samba_server=”YES” を次のように変更。
  4. コンフィグファイル名をsmb4.confに変更。
  5. smb4.confを編集して次の行を追加。

    max protocolを設定しておかないと3.6と比べて性能低下が著しいらしい。cf. 「Samba 4 is half as fast as Samba 3?!」 (FreeBSD Forum)

  6. プライベートエリアを新しいpathに変更。
  7. 古いディレクトリを削除。
  8. Sambaを再起動。
  9. Samba 4.1からSWATのサポートが打ち切られたため(担当開発者がいない上に脆弱性が多数報告されているため)、/usr/local/etc/xinetd.confからSWAT関連の設定も削除。編集後、xinetdを再起動しておく。

以上で終了。基本的な設定はSamba 3のインストール時に終わっているので、そのまま使いまわせる。