I've used one of the old boxes here to install Opensolaris as a testing environment. The idea behind it is that, because so much of our code is Java, it'd be interesting to see if we could tackle performance problems using dtrace, which isn't available under any non-solaris OS yet.
For the testing environment to get up and running, I needed to install an ldap server to feed authentication and identity info to our product. Opensolaris comes with a bunch of ldap client software installed, but like I said, I needed a server. Sun has a product called Directory Server, but that was way too much for my needs, and besides, I don't even know if that would work on Opensolaris.
On a bunch of linux machines we had been running OpenLDAP to act as an ldap server, and that seemed to work well enough. You can download the source and compile it yourself, but I'd rather have a packaged install. Luckily, one of the Opensolaris repositories, Blastwave, had a package that sounded promising: IPSoldap@0.5.11,5.10-2.6:20080514T173322Z.
By default, the Opensolaris package manager, IPS, isn't configured to use the Blastwave repository, you have to add it. This is accomplished by executing (as root) pkg set-authority -O http://blastwave.network.com:10000 Blastwave. The last argument is an arbitrary name that you can choose yourself, the url is the important thing. The docs then say to execute pkg refresh, but it's completely unclear to me what that does. You'd expect it to update the local catalog, but issuing a search command for openldap, without the -r switch, turns up nothing. A little disappointing and unintuitive.
Anyway, if you issue the same search command with the -r switch (pkg search -r openldap) you get the following results:
basename dir opt/csw/etc/openldap pkg:/IPSoldaprt@0.5.11-2.6
basename dir opt/csw/share/openldap pkg:/IPSoldapclient@0.5.11-2.6
basename dir opt/csw/var/openldap pkg:/IPSoldap@0.5.11-2.6
basename dir usr/sfw/lib/webmin/caldera/openldap pkg:/SUNWwebmin@1.340-0.86
basename dir usr/sfw/lib/webmin/caldera/openldap pkg:/SUNWwebmin@1.340-0.75
basename dir usr/sfw/lib/webmin/caldera/openldap pkg:/SUNWwebmin@1.340-0.86
basename dir usr/sfw/lib/webmin/caldera/openldap pkg:/SUNWwebmin@1.340-0.79
The first three results are from the Blastwave repo. To install, enter pkg install IPSoldap on the command line.
I was expecting that to be it, but my system hit a snag and returned OSError: [Errno 1] Not owner: '//opt/csw/lib/i386'.
To be honest, I don't know what the hell caused that, but after several unsuccessful attempts to find an answer on several opensolaris irc channels, I just delete the dir and everything worked fine.
In summary, IPS works, but, in my opinion, it has a long way to go before it can stand comparison with linux package management systems like yum. Under Centos, installing OpenLDAP was a matter of running yum install openldap, and that was it. No repositories to add, no obscure package names to figure out, just a completely intuitive command. The documentation for IPS also isn't all that great. The man page describes the basic commands well enough, but I've yet to figure out why pkg search -r openldap turns up the OpenLDAP packages, whereas pkg search -r oldap doesn't, even though the package is called IPSoldap. You would expect that last search to return the package. Searches are apparently performed over some sort of metadata that isn't explained anywhere. Also, the pkg info command doesn't list dependencies even though the repository must know about them.
Subscribe to:
Post Comments (Atom)

1 comment:
Installing IPScommon before IPSoldap worked cleanly for me. Don't know why. I agree that IPS has a ways to go to compete with something like dpkg. (Not a fan of RPMs.)
Post a Comment