- 日本Sambaユーザ会
http://www.samba.gr.jp/ - FTP ディレクトリ /pub/samba/bin-pkgs/ / ftp.samba.gr.jp
ftp://ftp.samba.gr.jp/pub/samba/bin-pkgs/ - ミラクル・リナックス:Samba 国際化プロジェクト
http://www.miraclelinux.com/technet/samba30/ - Samba 3.0で日本語を利用できるようにしたパッケージ集
ftp://ftp.samba.gr.jp/pub/samba-jp/samba-3.0-ja/README.TXT - GNU libc への cp932, eucJP-ms 追加パッチ
http://www2d.biglobe.ne.jp/~msyk/software/glibc/README.ja - Index of /~msyk/software/glibc/
http://www2d.biglobe.ne.jp/~msyk/software/glibc/
今使ってるSamba は"samba-2.2.7a.ja-4" で、幾多ものセキュリティホールがあるにもかかわらず、どうせ自分だけしか使わないし、とかなりの間放置していたのですが、現在、Samba には2.2.x 系統と3.0.x 系統がありまして、2.2.x 系統は10/01 を以てアップデートが終了するとのことなので、なんとなく今のウチに3.0.x 系統の最新リリースである3.0.6 に入れ替えておくことにしました。
Samba 3.0 ではこれまでのような日本語版というのはなく、"glibc" あるいは"libiconv" にパッチをあてた上で、各パッチに対応したバージョンのSamba を使う必要があるとのこと。両方のメリット/デメリットを勘案した上で、glibc にパッチをあてることにしました。
Samba オリジナルのパッケージがそのまま使える、ってのが何よりのメリットです。libiconv の方だとSamba の新しいバージョンが出るたびに作業が増えてしまうので。RHL9 は既にオフィシャルなアップデートは終了しているので、全てを自分でなんとかしないといけなくて、まあなんとかできそうな感じなのでこっちでいいか、と。
というわけでいつものごとくRed Hat Network から"glibc-2.3.2-27.9.7.src.rpm (13,048,035 bytes)" を頂いてきました。で、こいつをインストール。
rpm -ivh glibc-2.3.2-27.9.7.src.rpm
次に、glibc 用のパッチ、"glibc-2.3.2-cp932-2.diff.gz" をIndex of /~msyk/software/glibc/ からダウンロードし、解凍しておきます。
gzip -d glibc-2.3.2-cp932-2.diff.gz
"/usr/src/redhat/SPECS/glibc.spec" を編集します。
1行目を変更
%define glibcrelease 27.9.7
↓
%define glibcrelease 27.9.7.1
64行目あたりに追加
Patch90: glibc-2.3.2-cp932-2.diff
309行目あたりに追加
%patch90 -p0
とりあえず、他の部分はいじらず、セオリー通り、以下の順にビルド。
# rpmbuild -bp /usr/src/redhat/SPECS/glibc.spec # パッチをあてる
# rpmbuild -bc /usr/src/redhat/SPECS/glibc.spec # コンパイルを行う
# rpmbuild -bi /usr/src/redhat/SPECS/glibc.spec # インストールテスト
# rpmbuild -ba /usr/src/redhat/SPECS/glibc.spec # パッケージを作成する
あとはできあがりを待つだけですが…長い!! とにかく長い!! ので、ゆっくりとオフロでも入ったりしつつ、待つのがよろしいようです。ちなみに、Tualatin Celeron 1.4GHz なPC で1時間近くかかったような…。さて、できあがったら、パッケージをアップデート。元々は、以下の3つが入っていました。
# rpm -qa |grep glibc
glibc-2.3.2-27.9.7
glibc-common-2.3.2-27.9.7
glibc-devel-2.3.2-27.9.7
なので、できあがったパッケージのうち3つをまとめて入れておきます。
rpm -Uvh /usr/src/redhat/RPMS/i386/glibc-2.3.2-27.9.7.1.i386.rpm /usr/src/redhat/RPMS/i386/glibc-devel-2.3.2-27.9.7.1.i386.rpm /usr/src/redhat/RPMS/i386/glibc-common-2.3.2-27.9.7.1.i386.rpm
これでようやく、前準備ができました。
Samba もRPM で入れてしまいましょう。今後のことも考えて、SRPM からビルドします。日本サーバユーザ会のミラーFTP から"/pub/samba/bin-pkgs/RedHat/SRPMS/samba-3.0.6-1.src.rpm" をダウンロードしてきます。SPEC ファイルは特にいじらなくてもよいと思います。
rpmbuild -bp /usr/src/redhat/SPECS/samba3.spec
rpmbuild -bc /usr/src/redhat/SPECS/samba3.spec
rpmbuild -bi /usr/src/redhat/SPECS/samba3.spec
rpmbuild -ba /usr/src/redhat/SPECS/samba3.spec
できあがったら今インストールされているSamba を削除、そして新しいパッケージをインストール。
rpm -e samba-2.2.7a.ja-4
rpm -ivh /usr/src/redhat/RPMS/i386/samba-3.0.6-1.i386.rpm
/etc/samba/smb.conf 内に以下の記述を追加。RHL9 の日本語はEUC なので、以下の記述でよさげっぽい。
[global]
dos charset = CP932
unix charset = EUCJP-MS
display charset = EUCJP-MS
で、いよいよsmb デーモンをスタート、あとはブラウザから"http://サーバ名:901/" でアクセスできるようになるはず。
/etc/rc.d/init.d/smb start
あとは色々と設定いじったりして、これまでと多分同等の状態に持ってきました。ドメインサーバとかそのあたりの機能は使ってないので、とりあえずこのへんまでで。