将 Samba 升级成 3.0.13
为什么要将 Samba 升级成 3.0.13 呢? 唉…还不是为了 Unicode。原本的 2.2.7 版本,我再怎么设定,都无法显示 Unicode 字符。所以本来在 Windows 里显示得好好的 Unicode 档名,放到 Samba 里就破功了! 我想,这个问题应该是很难让人接受的吧?!
而最后结论就是,升级成 3.0.13 就搞定了。
升级步骤
这一次,并不能使用 Apt 来升级 Samba,必须到原始网站,下载原始码来编译,步骤如下:
- 先到这里看看最新版的 Samba 原始档是什么,然后复制下载位址(目前看到的最新版为“samba-3.0.13-1.src.rpm”)。
- 将原始档下载到 [/tmp],并执行编译:
cd /tmp wget http://us2.samba.org/samba/ftp/Binary_Packages/RedHat/SRPMS/samba-3.0.13-1.src.rpm rpm --rebuild samba-3.0.13-1.src.rpm
- 经过一段长时间的编译之后,就可以安装 Samba 了(须先移除旧版)。
apt-get remove samba mv /etc/samba /etc/samba2 rpm -Uvh /usr/src/redhat/RPMS/i386/samba-3.0.13-1.i386.rpm
P.S. Samba 3.0.13 安装好之后,连 samba-swat 都有了,其它设定,请看 Samba 2 的说明,但因为 Samba 本身已经支援 Unicode,所以就不用再设“client code page = 950”了。
转换编码
Samba 3.0.13 虽然已支援 Unicode 了,但我们在 Linux 下的操作接口仍然是 Big5 的编码,所以在修改完 smb.conf 之后,如果没有经过编码转换,里面有一些中文的讯息,在 Windows 下都会变成乱码。转换步骤如下:
- 先复制一个 Big5 编码的 smb.conf:
cp /etc/samba/smb.conf /etc/samba/smb.conf.big5
- 以后如果要编辑 smb.conf,请改为编辑 /etc/samba/smb.conf.big5,然后执行编码转换:
iconv -f big5 -t utf8 /etc/samba/smb.conf.big5 > /etc/samba/smb.conf
转换完之后,/etc/samba/smb.conf 就是 utf-8 的编码了。
No comments yet.