Jump to content
wownotown

Poor SAMBA Performance with Leopard

5 posts in this topic

Recommended Posts

After playing with Leopard and updating to 10.5.1, I noticed that file sharing really sucked with this new version. Tiger had no problems sharing files back and forth between a windows or Linux machines.

 

I decided to see if I could improve the situation, which I did. Below are the steps. Warning, this will break the CIFS implementation built into Leopard, but in my opinion, make it better.

 

Before this change, files copied from my Vista box to my OSX box averaged a mere 123 KB / sec. After this change, files copy to the OSX box average about 50 MB / sec. This was over a 1 Gigabit connection.

 

Leopard uses an old version of Samba with some strange tweaks. I decided to install the latest Samba, found here.

 

http://samba.org/samba/ftp/stable/samba-3.0.28.tar.gz

 

You need XCode 3.0 to install and compile the new version of samba. Go here to obtain the dmg image.

 

https://connect.apple.com/cgi-bin/WebOb ... leID=19897

 

Install XCode on your machine after downloading.

 

Unzip the samba gzip file to your home directory and enter the /Users/username/samba-3.0.28/source directory

 

Change to root using "su" and your root password

 

# ./configure --with-syslog --prefix=/etc/samba --bindir=/usr/bin --sbindir=/usr/sbin --libdir=/etc/samba --mandir=/usr/share/man --with-utmp=no

# make

# make install

 

You also need to move or remove the launchd plist files for the older version of Samba, which are found here

 

/System/Library/LaunchDaemons/nmbd.plist

/System/Library/LaunchDaemons/smbd.plist

 

For easy file sharing, you can use the following smb.conf file which should be placed in the /etc/samba directory. Edit the file to your preferences.

 

[global]

server string = Mac OS X

printcap name = cups

printing = cups

map to guest = root

guest account = root

security = share

log file = /var/log/samba/log.%m

 

[root]

comment = All Files

path = /

guest ok = yes

writeable = yes

browseable = yes

 

You need to restart the computer for the changes to take affect.

 

To start the samba server just run a terminal window and type "smbd" everytime Leopard starts, or add the following configuration

 

cd /System/Library/StartupItems

mkdir samba

cd samba

touch samba

chmod 755 samba

touch StartupParameters.plist

 

The following information goes into the samba file, use your favorite editor

 

#!/bin/sh

 

. /etc/rc.common

 

/usr/sbin/smbd

 

The following information goes into the StartupParameters.plist file (don't know if this is needed)

 

{

Description = "CIFS / SMB File Server";

Provides = ("SMB Server");

OrderPreference = "None";

Messages =

{

start = "Starting SMB Server";

stop = "Stopping SMB Server";

};

}

 

Hope this works for you. Now Leopard is working like a true SMB File Server. icon_smile.gif

 

MSI 945GM3 Motherboard

Seagate 250 Gig SATA II HDD

2 Gigs G-Skill DDR2 400 Mhz Memory

XFX Nvidia 7600GT Video

Belkin F5D7002 Card (Broadcom Chipset)

Lite-On DVD-Burner

OSX Leopard 10.5.1 using EFI 8.0

Dual Boot Fedora 8.0 with Grub on Fedora Partition and EFI on that partition

Share this post


Link to post
Share on other sites
Advertisement

Hi, I followed all of your guidelines to update samba server on leopard, but I always get this message and cannot use smb file server:

 

Dec 28 00:58:52 DaviLEO smbd[263]: [2007/12/28 00:58:52, 0] smbd/server.c:main(986)

Dec 28 00:58:52 DaviLEO smbd[263]: standard input is not a socket, assuming -D option

Dec 28 00:58:52 DaviLEO smbd[263]: [2007/12/28 00:58:52, 0] lib/util_sock.c:open_socket_in(830)

Dec 28 00:58:52 DaviLEO smbd[263]: bind failed on port 445 socket_addr = 0.0.0.0.

Dec 28 00:58:52 DaviLEO smbd[263]: Error = Address already in use

Dec 28 00:58:52 DaviLEO com.apple.launchd[1] (org.samba.smbd[263]): Exited with exit code: 1

Dec 28 00:58:52 DaviLEO com.apple.launchd[1] (org.samba.smbd): Throttling respawn: Will start in 10 seconds

 

What can be wrong?

 

Thanks

Share this post


Link to post
Share on other sites

wownotown

First, thanks for the info on upgrading samba!

 

Second,

I'm curious to know why you would want to delete the .plist file that starts smbd and nmbd? This seems like it creates several unnecessary steps.

 

Couldn't the plist be edited to get the same results?

 

It looks to me like the plists you suggest deleting start smbd and nmbd with the -F option. Your script starts smbd without the -F parameter. I think it would be easier to either remove the -F argument from the plist or if you wanted to start it as a daemon use the -D switch.

 

and thoughts?

Share this post


Link to post
Share on other sites

A better way to NOT BREAK the inherent CIFS installation in your Leopard is to install to /usr/local instead of the /usr location where you would overwrite the samba 3.025b-Apple installation.

Share this post


Link to post
Share on other sites

On a Mac Mini G4 running Mac OS X 10.5.8, when I run smbd ("/usr/local/sbin/smbd")

I've got the following output:

mini:~ root# /usr/local/sbin/smbd
dyld: Library not loaded: bin/libtalloc.dylib.1
 Referenced from: /usr/local/sbin/smbd
 Reason: image not found
Trace/BPT trap

 

Samba 3.4.6 was installed by the following commands

mini:~ root# ./configure --with-syslog --prefix=/etc/samba --bindir=/usr/local/bin --sbindir=/usr/local/sbin --libdir=/etc/samba --mandir=/usr/local/share/man --with-utmp=no
mini:~ root# make
mini:~ root# make install

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×