Sharity-Light

SMB file system for Unix

If you know smbfs for Linux - Sharity-Light is roughly the same. It is derived from smbfs, but runs as a user level program, not in the kernel. If you know samba: Sharity-Light is roughly the opposite: a client for the Lanmanager protocol. If you know neither of these: Sharity-Light lets you mount drives exported by Windows (f. Workgroups/95/98/2000/ME/NT), OS/2 etc. on Unix machines.

This software has previously been called "rumba". However, it turned out that "RUMBA" is a registered trademark of Wall Data Incorporated. To avoid confusion and a violation of the trademark, our program has been renamed to "Sharity-Light". The name has been derived from its successor Sharity, which is also available from our website.

Features

  • Access files on Windows 95, 98, ME, NT, 2000, Samba and other CIFS servers.
  • Has been ported to NextStep, Openstep/Mach, Linux, FreeBSD, NetBSD, BSDI, Solaris, HP-UX and IRIX
  • Open Source Software: distributed under the GNU General Public License. [Download Now]

What's the difference between Sharity-Light and Sharity?

Sharity and Sharity-Light both implement CIFS (formerly known as SMB) on Unix. But that's roughly all they have in common. Sharity-Light is based on an outdated version of smbfs for Linux with no easy way to upgrade to a newer version. At the time it became clear that there will be no further development of Sharity-Light (except bug fixes and ports to other platforms), the work on Sharity began. Sharity was designed to fix all the problems that were encountered with Sharity-Light. The major improvements in Sharity are:
  • can do encrypted passwords
  • can mount multiple shares from the same server
  • displays correct file modification dates for all servers
  • various caching strategies improve performance
  • overlapping requests improve performance
  • automounting facility
  • better mapping of file operation semantics
  • multi-user operation
  • international character set support
  • can link to SSLeay for secure data transport (first implemented in beta version 0.15)

What's the difference between Sharity-Light and SMBFS for Linux?

Sharity-Light is currently based on the modules "proc.c", "sock.c" and "smbmount.c" of smbfs 0.8, but runs in user-space, not as part of the kernel. It uses the NFS interface to the kernel. This has several advantages:
  • In case of a crash, it's just a user program that crashes, not the kernel. It should be possible to restart Sharity-Light and continue the work.
  • You can re-export the Sharity-Light mounted filesystems with an NFS daemon that allows re-exporting, because Sharity-Light has to create constant inode numbers.
Of course, there are also disadvantages:
  • NFS has no way of telling about open files and file locking. Sharity-Light opens the file at every read- or write-request and keeps it open for 5 seconds (without any locking) for a faster access in subsequent accesses to the same file. This may cause problems with file-locking by other clients. smbfs on the other hand keeps the file open as long as it is opened by a program.
  • The implementation of pseudo-constant NFS file handles is not perfect. You may get "Stale NFS file handle" errors from time to time.