Samba for AIX

From SambaWiki
Revision as of 14:48, 23 May 2019 by Bjacke (talk | contribs) (Bjacke moved page AIX building samba to Samba for AIX: this page should contain generic information and links for AIX samba)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

How to install samba-4.1.16 on aix-6.1

Joost van Baal-Ilić, credativ BV, february 2015

Based upon instructions by Noël Köthe, credativ GmbH, sept 2014.

We describe how to build, configure, pack/unpack and install Samba --the Open Source SMB/CIFS file, print, and login server for Unix-- version 4.1.16 on a PowerPC running IBM's AIX 6.1.

Building and installing

   bash-4.2-12.aix5.1.ppc.rpm
   bzip2-1.0.6-1.aix5.1.ppc.rpm
   db4-4.7.25-2.aix5.1.ppc.rpm
   expat-2.1.0-1.aix5.1.ppc.rpm
   fontconfig-2.10.2-1.aix5.1.ppc.rpm
   freetype2-2.5.2-1.aix5.1.ppc.rpm
   gdbm-1.11-1.aix5.1.ppc.rpm
   gettext-0.17-1.aix5.1.ppc.rpm
   glib2-2.38.2-1.aix5.1.ppc.rpm
   gmp-5.1.3-1.aix5.1.ppc.rpm
   info-5.2-1.aix5.1.ppc.rpm
   libXft-2.3.1-1.aix5.1.ppc.rpm
   libXrender-0.9.8-1.aix6.1.ppc.rpm
   libgcc-4.8.2-1.aix7.1.ppc.rpm
   libiconv-1.14-2.aix5.1.ppc.rpm
   libpng-1.6.9-1.aix5.1.ppc.rpm
   libstdc++-4.8.2-1.aix7.1.ppc.rpm
   libstdc++-devel-4.8.2-1.aix7.1.ppc.rpm
   pkg-config-0.28-1.aix5.1.ppc.rpm
   python-2.7.5-1.aix6.1.ppc.rpm
   python-devel-2.7.5-1.aix6.1.ppc.rpm
   python-libs-2.7.5-1.aix6.1.ppc.rpm
   readline-6.2-5.aix5.1.ppc.rpm
   renderproto-0.11.1-1.aix5.1.ppc.rpm
   sqlite-3.8.1-1.aix5.1.ppc.rpm
   tcl-8.5.15-1.aix5.1.ppc.rpm
   tk-8.5.15-1.aix5.1.ppc.rpm
   zlib-1.2.8-1.aix5.1.ppc.rpm

Install them by running:

  # rpm -ivh * --nodeps
  • In a directory with enough space (ideally _not_ under the install root /appl/samba), unpack the samba sources
   # gunzip samba-4.1.17.tar.gz && tar -xf samba-4.1.17.tar && cd samba-4.1.17
  • Build and install
   # export PATH=$PATH:/opt/IBM/xlC/13.1.0/bin/
   # ./configure --prefix=/appl/samba --check-c-compiler=xlc
   [...]
   'configure' finished successfully
   # make
   [...]
   Compiling ...
   Linking ...
   'build' finished successfully
   # make install
   [...]
   'install finished successfully'
  • Fix missing symlinks to .so-files [1]:
   # cd /appl/samba/lib/private/
   # ls | grep "so\.[0-9]$" | while read f; do ln -s $f ${f%.?}; done
   # ls | grep "so\.[0-9][0-9]$" | while read f; do ln -s $f ${f%.??}; done

See also http://bugzilla.samba.org/show_bug.cgi?id=10840 NB: this is NOT the same as Noël's script!

  • Add a configuration file:
# vi /appl/samba/etc/smb.conf

This one works for tests:

    [global]
        workgroup = SIM
        netbios name = SERVERNAME
        server string = Fileserver
        security = user
        ;interfaces = en 192.168.1.2/24
        ;bind interfaces ony = yes

        log level = 2
        log file = /appl/samba/logs/log.%m
        syslog = 0

    [SHARE]
        comment = production share
        path = /LOCAL/EXISTING/PATH/OF/A/SHARE
        read only = no
        ;create mask = 0775
        directory mask = 775
        ;valid user =
        ;force user =
        ;force group =

See also samba-4.1.16/examples/smb.conf.default .

Testing

In order to run the samba binaries, set this:

# export LIBPATH=/appl/samba/lib:/appl/samba/lib/private

Start the Samba daemon:

# /appl/samba/sbin/smbd -D

Test samba:

# /appl/samba/bin/smbclient -L localhost

Add a samba user, and give this user a samba password, for more testing:

# /appl/samba/bin/smbpasswd -a <localunixusername>
[...]
"Added user [...]

Test a user login:

# /appl/samba/bin/smbclient -U <username> //localhost/INTERFACES
smb: \> ls
[...]
smb: \> cd .snapshot
smb: \.snapshot\> ls
[...]

Show the connected clients

# smbstatus

Installing on another AIX 6 system

Create a tar archive of /appl/samba to copy /appl/samba to the other machine. (NB: tar as shipped with AIX does not support the z-flag. Manually g(un)zip the .tar if needed.) After unpacking this file there, and creating /appl/samba/etc/smb.conf, one can start smbd:

# export LIBPATH=/appl/samba/lib:/appl/samba/lib/private
# /appl/samba/sbin/smbd -D

No need to run ./configure or make, no need to install xlc. You _do_ need Python to run Samba.


[1] When these symlinks are not created, trying to run smbclient will give an error 'Cannot load module libtevent.so.'