All about Samba - what it is, how to get it, related sources of information, how to understand the version numbering scheme, pizza details
Samba 是一群程式所組成的。這群程式結合起來就可以讓客戶端程式透過 SMB ( Session Message Block) 協定去擷取伺服器的檔案空間或印表機服務。它一開始是針對 Unix 平台所寫的程式,但是現在也可以在 Netware,OS/2,或是 VMS 上執行了。
就實際的觀點來說,你可以將你的客戶端主機上的硬碟或印表機重新導向到伺服器的檔案 或印表機。這些客戶端的主機包括了 Windows for Workgroups 3.11 ,Windows NT, Linux,Win95,及 OS/2 的客戶端程式。在 Samba 這套軟體中也包含一個給 Unix 使用 的客戶端程式,這個程式可讓 Unix 上的使用者以一個類似 ftp 的介面去擷取任何其他 SMB 伺服器上的檔案或印表機服務。這程式付予了這些作業系統一份能力,使它們能表現 得像個區域網路伺服器或是 Windows NT 伺服器,但是卻又給與管理者更大的彈性與更方 便的管理功能。
這套軟體裡面包含了以下的組件:
Samba 這整套軟體內附完整的原始碼,並且是根據 GPL 版權說明散布的。
Samba 軟體的主發展者是 Andrew Tridgell。其後的版本也有許多網友的幫助才得以成 型。說明文件和這份常見問題集是 Karl Auer 所寫的。
在撰寫這份常見問題集的同時,Samba 的版本為 1.9.16。如果你想要更加確定些,不妨 看看 change-log 檔案的最後面。 ftp://samba.anu.edu.au/pub/samba/alpha/change-log
還有更多的資訊請參考問題四: 版本編號裡的數字代表什麼意思?
你可以自 samba.anu.edu.au 所提供的無具名檔案傳輸服務得到整套的 Samba 軟體。最 新和最好的版本可以在下面這個目錄裡找到:
至於發展中的版本(就是"alpha"版啦!),它們還不一定夠穩並且未必具備足夠正確的文 件,但是你還是可以在下面這個目錄裡找到它:
值得注意的一點是,在上面這些目錄中,你找不到任何的"可執行檔"[binaries]。Samba 僅僅以原始碼的形式傳布,不過你還是有可能在其他站裡找到適合你的平台的可執行檔。 例如說,一些新版本的 Linux 都將 Samba 可執行檔直接附在裡面。
你最好不要執行版本名字中帶有 "alpha" 字眼的 Samba,除非你很清楚你自己在幹什 麼,並且願意做些除錯的工作。許多許多人拿到了作者所推荐的最新最穩定的版本,並且 感到滿意。如果你很勇敢,就接下這工作並且幫忙我們測試和發展,但是千萬別將它安裝 在你部門裡的伺服器來用。Samba 基本上來說是很安全及穩定的,這大部份歸功於許多公 開版本的政策(policy of many public releases)。
接下來我們就來看看這個機制是如何運作的:
1) 每當軟體有重大改變時,版本編號就會增加。例如從 1.9.15 到 1.9.16。然而,這 份版本並不會馬上出現,所以人們應該在你的系統上繼續使用 1.9.15 (看下一點)。
2) 在大改變剛完成後,這個版本會被認為是不穩定的,所以就會接著推出一系列的 alpha 版本,例如說 1.9.16alpha1。這些版本是給那些知道自己在做什麼的人測試用的。 檔案名稱中的 "alpha" 這個字相信會嚇跑一堆只是在找最新版本安裝的人。
3) 當作者 Andrew 認為這個 alpha 版已經足夠穩定而使得他可以推荐新使用者去安裝 時,他就會用同樣的版本編號去掉 "alpha" 這個字眼來重新命名它,例如 1.9.16。
4) 像 1.6.19p2 這類 "pXX" 系列是代表在 "穩定" 的版本中找到一些臭蟲並針對此發 出一些補強的版本名稱。
所以版本號碼的進展步驟就像這樣:
1.9.15p7 (產品)
1.9.15p8 (產品)
1.9.16alpha1 (測試用)
:
1.9.16alpha20 (測試用)
1.9.16 (產品)
1.9.16p1 (產品)
以上這個系統表示每當有人在 Samba ftp 站裡晃時,他將能夠拿到名字中沒有 alpha 字眼的最新版本。
你可以在許多不同的平台上成功地執行 Samba。現在最被廣為使用的也就是最佳測試平 台,亦即 Linux 和 SunOS。
在撰寫這份文件時,Samba 的 Makefile 裡聲稱它支援下列平台:
有兩個專門討論與 Samba 有關問題的 mailing list。 comp.protocols.smb 這個新聞群組裡面也有很 多與 Samba 有關的討論。也有一個叫做 "SAMBA Web Pages" 的 WWW 站,它的 URL 是 http://samba.canberra.edu.au/pub/samba/samba.html, 裡面有針對 Samba 使用者的完整服務。另外一個有用的資源是 Samba mailing list 的多 層文檔案庫。
送封 email 到 listproc@samba.anu.edu.au。確定你的標題列是空的,然後在你的信件內容裡加入以 下兩行:
subscribe samba Firstname Lastname
subscribe samba-announce Firstname
Lastname
很明顯地,你應該將上面兩行裡的 Firstname 用你的名取代,而用姓取代 Lastname。 試著不要附上你的簽名檔,它們有時會困擾我們的自動郵件處理器。
Samba list 會自動做摘要。大約每八小時左右,程式會將這個 list 在上次做摘要之後 至今所收到的所有訊息綜合產生出一個訊息並且送一份備份給所有訂閱者。
如果你對 Samba 失去了興趣,請另外送封信到 listproc@samba.anu.edu.au。同樣要 確定標題列是空的,然後把下列兩行放入你的信件內容:
unsubscribe samba
unsubscribe samba-announce
你的訊息中的 From: 那一列裡的住址必須和你訂閱時所用的相同。
首先,看看 FAQ 裡面有沒有任何相關的問題! 如果你才剛安裝完 Samba,你是否已經 作過 DIAGNOSIS.txt 裡面列的每項檢查了呢? 它可以省下你不少時間和精神。
其次,讀讀 smbd、nmbd和 smb.conf 的說明文件,找看看與你要作的事情相關的內容 。
第三,如果一時間內沒有很明顯可以看出來的解決方法,就去看看 smbd 或 nmbd 在問 題發生這段時間的記錄檔。你也許得重新設定你的伺服器以獲得更有用的除錯資訊 - 通常 level 2 或 level 3 就能提供你相當多的除錯資訊了。仔細偵查這些記錄檔,特別是尋找 "Error:" 這個字眼。
最後,如果你仍然沒有任何進展,問問 mailing list 或新聞群組上的人吧。一般來說 ,沒人會在意回答你用上面三個步驟處理過後的問題。搜尋這個 mailing list 的庫存文 章也許是個好主意,它的位置在前面提到的 Samba web site 裡。
如果你成功地解決一個問題,請寄一份詳細的包括癥狀、問題及解決方法的敘述給 FAQ 維護者,這樣我就可以把它放入下一個版本。
如果你更動了原始碼,「請」將這些「補丁」送過來,這樣子才能讓其他人想受到你所 帶來的好處。這也就是 Samba 的維護過程中最重要的一環之一。請將「補丁」寄給 samba-bugs@samba.anu.edu.au,而不是 Andrew Tridgell 或其它人,也不是 samba 小組 的 mailing list。
Those who have registered in the Samba survey as "Pizza Factory" will already know this, but the rest may need some help. Andrew doesn't ask for payment, but he does appreciate it when people give him pizza. This calls for a little organisation when the pizza donor is twenty thousand kilometres away, but it has been done.
Method 1: Ring up your local branch of an international pizza chain and see if they honour their vouchers internationally. Pizza Hut do, which is how the entire Canberra Linux Users Group got to eat pizza one night, courtesy of someone in the US
Method 2: Ring up a local pizza shop in Canberra and quote a credit card number for a certain amount, and tell them that Andrew will be collecting it (don't forget to tell him.) One kind soul from Germany did this.
Method 3: Purchase a pizza voucher from your local pizza shop that has no international affiliations and send it to Andrew. It is completely useless but he can hang it on the wall next to the one he already has from Germany :-)
Method 4: Air freight him a pizza with your favourite regional flavours. It will probably get stuck in customs or torn apart by hungry sniffer dogs but it will have been a noble gesture.