Last week I finished reading my book on Solaris 10. My next step was to create a Solaris Zone to get some experience with it. Zones allow mulitple applications to run in isolation from eachother on the same physical hardware. It's a lot like a virtual machine, except it's not a hardware emulator where you can install any OS on it. I don't really know how it works, but know it involves sharing the kernel, is stable and secure enough for the US DoD, and is faster than other types of virtualizations. Usually all zones you create are Solaris zones but there is something new called Branded Zones (BrandZ) where you can create Linux zones. You can install Red Hat Enterprise Linux or CentOS into it. It's still not quite the same as other virtualization technologies. The Linux kernel calls are passed through to the Solaris kernel for execution. There's no GUI, no device drivers, etc... It does let you run most Linux applications though.
My big plan has been to install the Scalix communication suite in a Linux zone. Scalix only runs on RHEL and CentOS. I learned that BrandZ won't be part of Solaris 10 until Update 4 which isn't out yet. To use it, I had to download Solaris Express Community Edition which is the bleeding edge development build of Solaris 11. I installed it and easily got a Linux zone built and booted. There is one problem though.... BrandZ only supports Linux 2.4 kernels, so I am stuck with CentOS 3.x and can't upgrade to 4.x or 5.x. The Scalix installer tells me that I need to install Postgres 7.4 or newer before it can continue. The only RHEL/CentOS 3.x compatible RPMs I can find are 7.3 and earlier!!! Actually there are newer versions of Postgres for RHEL/CentOS 3.x if you are using x64, but BrandZ doesn't do x64.
What I think really sucks is that with every major version of Linux that is released they change any and every API. This causes many programs to break. There has to be multiple builds of an application for different versions of a Linux. What's worse is that some applications force you to use a distro such as Red Hat because they depend on the versions of libraries installed on that distro. Solaris doesn't have this problem. Solaris is a real Enterprise OS because backwards compatibility is one of Sun's top priorities. A program build on Solaris 2 will run on Solaris 10 without recompiling.
So now what? I can't use Scalix because I can't find a Postgres 7.4 or newer RPM for it? I'll have to see if I can run a binary installer instead of an RPM.
Something else I read was that Sun is no longer paying for development to bring newer versions of CentOS into BrandZ, or to make other Linux distributions work with it. They are working on Xen support using Solaris as a host. BrandZ hasn't been released yet and they seem to be adbandoning development on it! One nice thing about Xen support will be that you can make use of Solaris' fault management monitoring tools with it. Xen seems to be quite popluar in the Linux world; it must be good. Also, it will be one more skill Linux administrators can bring with them when they switch to Solaris :)
I have a few more things to moan about. Solaris' installer lets me customize which packages will be installed, but does not automatically handle dependencies! It tells me what dependencies need to be installed and makes me fix them by hand. Also, I read a PDF where Sun recommends you use the "Everything" software group for production servers so that you get all of the administration tools etc... You also happen to get Star Office 8, games, video and audio players, IM, etc... Those don't belong on a server! I think Red Hat and CentOS also tells people to install everything for production servers.
I'll end this entry with something positive. When I booted into Gnome on Solaris 11 (Nevada), I really liked what they did in this version. There's a new theme that looks very sharp. They are using the latest version of Gnome (2.16!), latest Thunderbird and Firefox, and everything is layed out cleanly. There are some Solaris specific tools for managing SMF services, etc... As long as it works with all of my hardware, I would probably be just as happy using it as a desktop as I am with Ubuntu with the exception of package management. I did see a nice updates manager but since I have the bleeding edge version there were no updates for me to try.
Working from his home office in Toronto,
Ryan de Laplante can be found developing software in
Java by day, and obsessing with technology by night.
Ryan has been designing and writing software for
IJW since 1998 and is very passionate about his work.





