將 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 的編碼了。

相關網頁

  1. No comments yet.

  1. No trackbacks yet.

return top

%d 位部落客按了讚: