FreeBSD連載(70):用SharityLight裝SMB檔案系統

2000年1月11日 17:03 王波

使用SharityLight安裝SMB檔案系統

  使用smbclient進行使用Windows電腦上的檔案資源的方式還是一種命令行的控制方式,必須將文 件下載到本地才能進行處理。更方便的方法是將遠程檔案伺服器上的資源裝載到本地的目錄樹上,這樣就能如同處理本地檔案 一樣對遠程檔案進行處理了。Unix上的NFS就是這樣的處理方式,Windows系統的映射網路驅動器也是使用的這 種處理方式。

  在Unix中,提供這種遠程網路檔案系統的標準做法是重新完成一個檔案系統驅動程序,這樣由驅動程序來完成裝 載遠程SMB檔案系統的目的,運行在Linux上的smbfs就是這麼做的。然而也存在另一種思路,即是將一個網路文 件系統協議翻譯為現有的網路檔案系統協議,如NFS,然後由系統中的NFS驅動程序進行裝載。這種想法完全也能實現裝 載SMB網路檔案系統的目的,由於不必更改核心程序而使用十分成熟的原有驅動程序,而會帶來更具穩定性的特征。

  Sharity就是將SMB協議翻譯為NFS協議,然後在Unix上裝載上共享資源的軟體,因為這個軟體沒有 運行在核心中,因此其速度會受到一點影響,但正因為如此,即使已經安裝到本地檔案系統的遠程Windows系統的崩潰 也不會對Unix造成影響,由於Windows系統並不穩定,因此這種特性是非常有益的。

  需要使用Packages Collection來安裝這個軟體,目前的免費Sharity為Sharity Light,而最新版本的Sharity為商業軟體,Sharity Light使用了GNU軟體的部分代碼,因此也 遵從GNU許可,是對外提供原始碼的軟體。

  Sharity的網址位於http://www.obdev.at/Products/Sharity.html

  安裝Sharity Light將安裝兩個應用程序shlight和unshlight到/usr/local/sbin 目錄中,一個用於安裝檔案系統,另一個用於卸載已安裝的檔案系統。Sharity的使用方法非常簡單,不 需要任何設置。

# /usr/local/sbin/shlight //fbsdsrv/wb /dist -U wb
Password:
Using port 1908 for NFS.
bash-2.02# mount
/dev/da0s2a on / (local, writes: sync 1192 async 12795)
/dev/da0s2f on /usr (local, writes: sync 18054 async 80408)
/dev/da0s2e on /var (local, writes: sync 15954 async 33980)
procfs on /proc (local)
shlight-39011 on /dist
bash-2.02# /usr/local/sbin/unshlight /dist

  注意,sharity使用斜線代替UNC中的反斜線,標識UNC,這與Samba的做法不同。