[Samba] question about installing samba and writing VFS module...

Rowland Penny rowlandpenny at googlemail.com
Wed Jan 21 09:49:10 MST 2015

On 21/01/15 15:40, Ed Sutter wrote:
> On 1/21/2015 10:18 AM, Rowland Penny wrote:
>> On 21/01/15 15:05, Ed Sutter wrote:
>>> Hi,
>>> I'm new to Samba.  My goal is to write a VFS module.
>>> I've been able to do this somewhat successfully; however there must 
>>> be a better way...
>>> On my first attempt at this, I just installed samba using apt-get 
>>> and configured
>>> the system to be a samba server (this worked just fine).
>>> Then, since I wanna build a VFS module, I'm assuming I need to build 
>>> everything from
>>> source, create my module (derived from one of the examples) and then 
>>> install
>>> everything.
>>> So, I downloaded the latest tarball (at the time that was 
>>> samba-4.1.14), unpacked
>>> it and did "./configure, make & sudo make install".  This appears to 
>>> install binaries
>>> to /usr/local/samba, but does not affect the runtime samba which was 
>>> pulled in by
>>> apt-get initially.
>>> I ended up manually coping all of /usr/local/samba/bin to /usr/bin 
>>> and /usr/sbin.
>>> I also had to hack /etc/init.d/smbd and /etc/init.d/nmbd to ignore 
>>> upstart.
>>> I was also able to rebuild the full_audit VFS example (with a slight 
>>> modification)
>>> and verify that it was working.
>>> Yea, major hack.  So now I start over with a few questions...
>>> 1. I assume if I'm modifying a VFS module, I need to build 
>>> everything and install
>>> from source right?
>>> 2. What does "make install" do for me?  It doesn't appear to do an 
>>> install that then
>>> runs on my next system startup.
>>> Thanks for any help/advice.
>>> Ed
>> Hi, yes, if you compile samba4 yourself then it will all end up in 
>> /usr/local/samba, this is the default location, but you can change 
>> it. if, instead of running './configure', you run './configure 
>> --help' this will show you all the options you can change, by setting 
>> the right ones, you can get 'make install' to put the samba binaries 
>> etc in the same place as your install.
>> Having said that, what is your vfs module going to do and are you 
>> going to offer it to samba ??
>> Rowland
> Thanks for the quick response.
> I had looked at that (./configure --help), but still wasn't sure what 
> to change.  For "make install" to do the equivalent of "sudo apt-get 
> install samba" it seems like there are a lot of destination 
> directories (bin, lib, etc).  Is there a known set of .configure 
> options that will essentially do what "apt-get install samba" does?
> Regarding the module...
> This is for a small embedded system (beaglebone) so that multiple PCs 
> can access various networked files and trigger some switches (gpio pins).
> Probably not very generically useful; but if I get it working I'll 
> gladly submit it.
> Ed

having never used/seen a beaglebone, isn't it something like an 
raspberry pi, in which case, why don't you install debian wheezy and use 
backports, this will get you 4.1.11, or you can could use jessie and 
this will get you 4.1.13. You could then download the source package and 
rebuild the deb, adding your patches.

In any case, I would do the main development work on a PC first, this is 
bound to be faster, I once compiled S4 on an rpi and it took hours.


More information about the samba mailing list