编译环境: ubunto 12 arm-linux-gcc 4.3.2 arm linux 4.1.36 开发板 2440
测试上传速度,大文件
github源码 https://github.com/samba-team/samba
测试了几个版本,各有问题。
samba-4.6.2 ~ 3.6 需要安装 python 环境,才能编译。4.6 需要 python2.7 ,4.0 3.6 需要 phtyon2.x ,apt-get install 安装的 没有 phtyon.h 还需要编译安装。实在太费时间,不装这个。
samba-2.2.8 编译正常,安装报错 codepages 不能编译,后面有介绍解决方法, 解决了 codepages 以后,启动 报错 Unable to open printcap file /etc/printcap for read!
Failed to setup RT_SIGNAL_LEASE handler , touch /etc/printcap 可以解决,但是 Failed to setup RT_SIGNAL_LEASE handler还是出错。
samba-3.4.17 编译,正常使用。 下载地址 : https://github.com/samba-team/samba/archive/samba-3.4.17.tar.gz
下载好解压 cd source3
./autogen.sh
./configure --bindir=/usr/local/samba --prefix=/usr/local/samba
make CC=arm-linux-gcc
make install
将编译出来的文件全复制到 开发板nfs 文件系统中
cp /usr/local/samba /home/nfs/usr/local/ -rfd
还需要复制 so 库文件 到开发板 nfs 文件系统中
cp /usr/local/samba/lib/*so* /home/nfs/lib/ -d
修改 examples/smb.conf.default 改名为 smb.conf 上传到 开发板 etc 下
smb.conf 红字部分是修改的
1 # This is the main Samba configuration file. You should read the
2 # smb.conf(5) manual page in order to understand the options listed
3 # here. Samba has a huge number of configurable options (perhaps too
4 # many!) most of which are not shown in this example
5 #
6 # For a step to step guide on installing, configuring and using samba,
7 # read the Samba-HOWTO-Collection. This may be obtained from:
8 # http://www.samba.org/samba/docs/Samba-HOWTO-Collection.pdf
9 #
10 # Many working examples of smb.conf files can be found in the
11 # Samba-Guide which is generated daily and can be downloaded from:
12 # http://www.samba.org/samba/docs/Samba-Guide.pdf
13 #
14 # Any line which starts with a ; (semi-colon) or a # (hash)
15 # is a comment and is ignored. In this example we will use a #
16 # for commentry and a ; for parts of the config file that you
17 # may wish to enable
18 #
19 # NOTE: Whenever you modify this file you should run the command "testparm"
20 # to check that you have not made any basic syntactic errors.
21 #
22 #======================= Global Settings =====================================
23 [global]
24
25 # workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH
26 workgroup = WORKGROUP
27
28 # server string is the equivalent of the NT Description field
29 server string = Samba Server
30
31 # Security mode. Defines in which mode Samba will operate. Possible
32 # values are share, user, server, domain and ads. Most people will want
33 # user level security. See the Samba-HOWTO-Collection for details.
34 security = share
35
36 # This option is important for security. It allows you to restrict
37 # connections to machines which are on your local network. The
38 # following example restricts access to two C class networks and
39 # the "loopback" interface. For more examples of the syntax see
40 # the smb.conf man page
41 ; hosts allow = 192.168.1. 192.168.2. 127.
42
43 # If you want to automatically load your printer list rather
44 # than setting them up individually then you'll need this
45 load printers = yes
46
47 # you may wish to override the location of the printcap file
48 ; printcap name = /etc/printcap
49
50 # on SystemV system setting printcap name to lpstat should allow
51 # you to automatically obtain a printer list from the SystemV spool
52 # system
53 ; printcap name = lpstat
54
55 # It should not be necessary to specify the print system type unless
56 # it is non-standard. Currently supported print systems include:
57 # bsd, cups, sysv, plp, lprng, aix, hpux, qnx
58 ; printing = cups
59
60 # Uncomment this if you want a guest account, you must add this to /etc/passwd
61 # otherwise the user "nobody" is used
62 ; guest account = pcguest
63 guest account = root
64
65 # this tells Samba to use a separate log file for each machine
66 # that connects
67 log file = /usr/local/samba/var/log.%m
68
69 # Put a capping on the size of the log files (in Kb).
70 max log size = 50
71
72 # Use password server option only with security = server
73 # The argument list may include:
74 # password server = My_PDC_Name [My_BDC_Name] [My_Next_BDC_Name]
75 # or to auto-locate the domain controller/s
76 # password server = *
77 ; password server = 78 79 # Use the realm option only with security = ads 80 # Specifies the Active Directory realm the host is part of 81 ; realm = MY_REALM 82 83 # Backend to store user information in. New installations should 84 # use either tdbsam or ldapsam. smbpasswd is available for backwards 85 # compatibility. tdbsam requires no further configuration. 86 ; passdb backend = tdbsam 87 88 # Using the following line enables you to customise your configuration 89 # on a per machine basis. The %m gets replaced with the netbios name 90 # of the machine that is connecting. 91 # Note: Consider carefully the location in the configuration file of 92 # this line. The included file is read at that point. 93 ; include = /usr/local/samba/lib/smb.conf.%m 94 95 # Configure Samba to use multiple interfaces 96 # If you have multiple network interfaces then you must list them 97 # here. See the man page for details. 98 ; interfaces = 192.168.12.2/24 192.168.13.2/24 99 100 # Browser Control Options: 101 # set local master to no if you don't want Samba to become a master 102 # browser on your network. Otherwise the normal election rules apply 103 ; local master = no 104 105 # OS Level determines the precedence of this server in master browser 106 # elections. The default value should be reasonable 107 ; os level = 33 108 109 # Domain Master specifies Samba to be the Domain Master Browser. This 110 # allows Samba to collate browse lists between subnets. Don't use this 111 # if you already have a Windows NT domain controller doing this job 112 ; domain master = yes 113 114 # Preferred Master causes Samba to force a local browser election on startup 115 # and gives it a slightly higher chance of winning the election 116 ; preferred master = yes 117 118 # Enable this if you want Samba to be a domain logon server for 119 # Windows95 workstations. 120 ; domain logons = yes 121 122 # if you enable domain logons then you may want a per-machine or 123 # per user logon script 124 # run a specific logon batch file per workstation (machine) 125 ; logon script = %m.bat 126 # run a specific logon batch file per username 127 ; logon script = %U.bat 128 129 # Where to store roving profiles (only for Win95 and WinNT) 130 # %L substitutes for this servers netbios name, %U is username 131 # You must uncomment the [Profiles] share below 132 ; logon path = \%LProfiles%U 133 134 # Windows Internet Name Serving Support Section: 135 # WINS Support - Tells the NMBD component of Samba to enable it's WINS Server 136 ; wins support = yes 137 138 # WINS Server - Tells the NMBD components of Samba to be a WINS Client 139 # Note: Samba can be either a WINS Server, or a WINS Client, but NOT both 140 ; wins server = w.x.y.z 141 142 # WINS Proxy - Tells Samba to answer name resolution queries on 143 # behalf of a non WINS capable client, for this to work there must be 144 # at least one WINS Server on the network. The default is NO. 145 ; wins proxy = yes 146 147 # DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names 148 # via DNS nslookups. The default is NO. 149 dns proxy = no 150 151 # These scripts are used on a domain controller or stand-alone 152 # machine to add or delete corresponding unix accounts 153 ; add user script = /usr/sbin/useradd %u 154 ; add group script = /usr/sbin/groupadd %g 155 ; add machine script = /usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/false %u 156 ; delete user script = /usr/sbin/userdel %u 157 ; delete user from group script = /usr/sbin/deluser %u %g 158 ; delete group script = /usr/sbin/groupdel %g 159 160 161 #============================ Share Definitions ============================== 162 [homes] 163 comment = Home Directories 164 browseable = no 165 writable = yes 166 167 # Un-comment the following and create the netlogon directory for Domain Logons 168 ; [netlogon] 169 ; comment = Network Logon Service 170 ; path = /usr/local/samba/lib/netlogon 171 ; guest ok = yes 172 ; writable = no 173 ; share modes = no 174 175 176 # Un-comment the following to provide a specific roving profile share 177 # the default is to use the user's home directory 178 ;[Profiles] 179 ; path = /usr/local/samba/profiles 180 ; browseable = no 181 ; guest ok = yes 182 183 184 # NOTE: If you have a BSD-style print system there is no need to 185 # specifically define each individual printer 186 [printers] 187 comment = All Printers