New to AIX need help Installing/Upgrading Samba on AIX 7.1?

Hello,

I am trying to update Samba on my AIX 7.1 system as there is an issues with it, the smbd process coredumps and I have had no luck figuring it out why.

My approach is to try to re-install a newer samba and I have found the latest 3.x package for samba in ppc.rpm format at perlz.org

Looking at my current system, it has 3.6 installed. It seems that this was not installed using RPM as I don't see samba in the list when I run "rpm -qa".

However, I did find it using "lslpp -L | grep "samba" returns..

pware53.samba.rte

So I think at some point installed using installp??

Judging from the "pware53" name I think it was obtained from an IBM AIX repository at pware.hvcc.edu (which no longer works).

So my goal is to first uninstall the existing samba package (smbd, nmbd, winbindd) and installing the latest 3.6.22 from perlz.org.

My issue is, I have no idea how to install the package (noob to aix/unix) and i'd like to do this as clean as possible.

As a test, I downloaded all the ppc.rpm packages below and placed them in one folder..

samba-3.6.22-1.aix7.1.ppc.rpm
samba-client-3.6.22-1.aix7.1.ppc.rpm
samba-common-3.6.22-1.aix7.1.ppc.rpm
samba-doc-3.6.22-1.aix7.1.ppc.rpm
samba-domainjoin-gui-3.6.22-1.aix7.1.ppc.rpm
samba-swat-3.6.22-1.aix7.1.ppc.rpm
samba-winbind-3.6.22-1.aix7.1.ppc.rpm
samba-winbind-clients-3.6.22-1.aix7.1.ppc.rpm
samba-winbind-devel-3.6.22-1.aix7.1.ppc.rpm
samba-winbind-krb5-locator-3.6.22-1.aix7.1.ppc.rpm
libsmbclient-3.6.22-1.aix7.1.ppc.rpm
libsmbclient-devel-3.6.22-1.aix7.1.ppc.rpm

When I ran rpm -ivh *.rpm I got a bunch of failed dependencies.

My issues right now are...

Should I be installing the ppc.rpm package or the src.rpm package? If I download all the dependencies and run ipm -ivh *.rpm will that install the package? What happens to things you usually have to pass in when building the package such as /configure -- /make etc.. (such as in ubuntu).

How do I properly uninstall/clean the current pware53 samba/nmbd/winbindd installation so I don't end up with two different versions?

Thank you.

Yes, it looks like this. Issue "lslpp" with the "-h" (history) switch to get a date when it was installed (just in case you are interested).

(btw: i suggest you do a "man smit", because this - using SMIT - is usually the easiest and fastest way for a non-AIX admin to get things done in AIX)

The easiest way is to do a "smitty remove" from the commandline. This brings up SMIT (system management interface tool) with the "removal of software" screen already preselected. All the fields marked with a "+" can be expanded with "PF4" (on some terminals "ESC"+"4" instead). Do this and a list of isntalled packages comes up from which you can select. Select more than one using "PF7" (ESC+7), then press ENTER to return to this screen. Yes/No fields can be selected using the TAB key. Finally press ENTER to do it.

TIP: set the "preview only"-field to "yes" to just simulate removal. All the check will be done normally and give errors in case something would go wrong. Once feeling safe change "preview" to "no" and proceed.

The Perzl software is very fine-grained and hence contains many dependencies. Read Michael Perzls solution to this. The real problem behind this is that IBM still uses an very very old (v3) rpm binary. rpm-v4 would be able to deal with software repositories.

Finally: install the *src* packages only if you plan on compiling new packages. Otherwise take the binary packages and install these. Compilation/configuration/etc. is already done and you do not have to bother with these.

I hope this helps.

bakunin

Thanks bakunin,

I did notice the dependency hell on perilz which prevented me from getting Samba installed on the AIX OS, I was finding that it needed dependency A which needed dependency B, and so on the chain was huge.

I will look over the link you showed as it seems to be the answer to my dependency issues.

---------- Post updated at 07:36 AM ---------- Previous update was at 07:35 AM ----------

I was also succesful at removing Samba, however I did notice that using..

lssrc -g Samba config. remained behind, showing the samba group (nmbd, winbindd, and smbd services). perhaps the previous admin manually created the service group thus the removal did not take care of it.

Michael Perzl is probably the most structured worker i ever came across. Yes, that means that "packageA" really contains only A and not a iota of B, which might create a dependency to B, but you will come to appreciate the robustness and dependability his packages offer. Something unexpected practically never happens. This is arguably the best site for third-party AIX software and the packages are way better than the rpm-packages IBM itself offers.

hmm....

"lssrc" ist listing running ("active") and stopped ("inoperative") subsystems (~=daemons), not files. It is the interface to the "System Resource Controller" (SRC), a sort-of super-daemon. You will find some information here if you search for it.

It might well be that the previous admin created some users/groups himself. There are some easy commands to find out what belongs to where:

"lslpp -l" lists all installed packages in a long list

"lslpp -f <package-name>" lists all the files/directories belonging to the package

"lslpp -w <file>" lists the package a file belongs to (if any)

You can even "take apart" lpp-packages and look into their pre-/post-install-scripts, which would be responsible for creating users, groups and the like.

I hope this helps.

bakunin

This is starting to all make sense now :slight_smile:

I am making progress, I have downloaded the "binary" version of the software from perlz.org and grabbed the dependency list and downloaded all using wget as described in the FAQ.

I put all the dependencies and the binary file I am trying to install (samba-3.6.22-1.aix7.1.ppc.rpm) in one directory and ran "rpm -Uvh *.rpm" and it returned with..

dr-host# rpm -Uvh *.rpm
error: failed dependencies:
        libX11.a(shr4.o) is needed by cairo-1.12.12-1
        libXext.a(shr.o) is needed by cairo-1.12.12-1
        libX11.a(shr4.o) is needed by cairo-1.12.14-1
        libXext.a(shr.o) is needed by cairo-1.12.14-1
        libX11.a(shr4.o) is needed by gtk2-2.20.1-2
        libXext.a(shr.o) is needed by gtk2-2.20.1-2
        libX11.a(shr4.o) is needed by libXcursor-1.1.14-1
        pkg-config is needed by libXcursor-devel-1.1.14-1
        libX11.a(shr4.o) is needed by libXrender-0.9.8-1
        libX11.a(shr4.o) is needed by pango-1.24.5-1

From what I've gathered this particular library is from AIX's X11 which I do not have installed as we don't use the GUI.

dr-host# lslpp -L | grep X11.base.rte
dr-host#

This returns nothing, so I need this installed.. I could not find the libraries or perlz.org so I assume this has to come directly from IBM.

Is there a way to install this using SUMA (to remotely get it from IBM web as I don't have CDs?).

My oslevel -r is 7100-01 and oslevel -g shows "Actual Level = 7.1.1.15".

Installing the X11 filesets, will this enable the GUI or just make the files available? This would be unwanted results as we try to keep the system resources to a minimum so things like X11 GUI not used.

Thanks for your help.

@c3rb3rus

Hi

its very easy to install and make it work. I did installed on AIX 7.1 LPAR like few months back. I don't think mine was a rpm package.

i got "samba.tar" from IBM. you can call IBM in case if you've support. and if you can google it for instructions. its very simple to setup and there are only few config files to update/change.

i will try to find the links for you.

Thanks,

I finally got it installed using my original method.. thank you bakunin your pointers were useful in making it a success, especially dealing with the many dependencies from perzl.org.

The problem was with my AIX OS, I accidently copied the content of /etc from another machine to this box and things like the ODM and other various errors were popping all over the place.

It was good practice as I've never installed AIX, pretty trivial with preserve mode to only re-install rootvg.

Now I am battling samba 3.6.22, when I try to start winbindd, smbd and nmbd I get..

Could not fetch our SID - did we join?

So my first though was to join the AIX server to AD, but it is not working..

ads_connect: no logon servers
Join to domain is not valid: no logon servers

My /etc/krb5/krb5.conf is setup correctly pretty sure as I can kinit and get a ticket and also login via SSH using AD account (sshd_config set to use Kerberos as well)..

So why I am getting the above error is beyond me right now..

I also tired..

net rpc testjoin
Unable to find a suitable server for domain WORKGROUP
Join to domain 'WORKGROUP' is not valid: NT_STATUS_UNSUCCESSFUL

My domain is not WORKGROUP, so confused where its getting that from?

In smb.conf I got..

workgroup = MYDOMAIN
realm = FQDN
netbios name = my-aix-hostname

More troubleshooting, this time with smbclient..

smbclient -U AD-USER-ID -L DC-IP

I am able to get list of shares on the WIN2008R2 box, however at the bottom I also see..

session request to 172.16.4.2 failed (called name not present)
session request to 172 failed (called name not present)
session request to *SMBSERVER failed (called name not present)
NetBIOS over TCP disabled -- no workgroup available