FreeBSD用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 wbPassword: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 /distbash-2.02# /usr/local/sbin/unshlight /dist
注意,sharity使用斜线代替UNC中的反斜线,标识UNC,这与Samba的做法不同。