LWN.net Logo

Solaris Express - A review

February 28, 2006

This article was contributed by Ravi Kumar

Solaris Express is the latest version of SunOS, which draws its roots from BSD 4.1. In fact Solaris Express is actually "SunOS release 5.11 version snv_27." Over the years Sun Microsystems has put in a great deal of work building on the original Unix code base by introducing more features as well as improving the overall security of the operating system. Until a few years back, Solaris enjoyed a major share of the commercial Unix market with many enterprises opting to run it on their servers. But the popularity of GNU/Linux gradually started eating up the market share of most Unix flavors, including Solaris. Last year, with an eye on regaining the lost ground, Sun finally opened up the code of Solaris and released it as OpenSolaris under Sun's Common Development and Distribution License (CDDL).

Solaris Express is the developmental version of Solaris built using the OpenSolaris code and has a release cycle of 6 months. The most recent version is 1/06; it is made available for free download but Sun provides technical support for an annual subscription fee of $99 which allows one to use it in a commercial setup. Solaris Express is released for both Intel and Sparc platforms.

Installation details

I have been using Sun Solaris for the past year but it was only recently that I decided to download and try out the latest developmental version. I downloaded all five CD images from their website with an aim of installing the OS on my PC. Out of the five CDs, the first one is the installation CD, the 2nd, 3rd and 4th contain the software and the last CD contains the multi-language pack.

You can install Solaris using either the GUI installer or the text installer. The computer on which I was installing Solaris was a Pentium IV 2.0 GHz, 256 MB DDR RAM PC. For using the GUI installer though, the minimum requirement is 350 MB RAM. I suspect this high memory usage could be because the GUI installer has been created using the Java language. Keeping these constraints in mind, I opted for the text installation method.

The first job of the installer is to collect system information, such as the choice of language, whether to use services like LDAP, NIS, or Kerberos authentication, the date and time settings, networking, root password and so on. After this, you are provided with two choices of installation. Them being :

  1. Standard - which allows one to choose between initial install and an upgrade and
  2. Flash - Which installs from one or more flash archives.

I chose the standard installation and, after the obligatory license agreement, I was provided the option of installing additional software. In fact, you can opt to install the full Solaris 10 documentation, a set of early access software, the Java Enterprise System and publicly available tools and utilities which will complement the Solaris environment. I was also given the choice of installing all the software or a subset of it targeted at different user groups like developers, end-users or a bare bones networking core installation tailored for gateways.

Solaris Express insists on being installed on a primary partition and it takes up space of around 4.4 GB to install the entire distribution including the OEM support. But, as noted above, the user is given the choice of installing just a subset of the packages, in which case the space utilized will be less. I already had a primary partition lying vacant and so I did not have to go through the hassle of repartitioning my hard disk. That said, the fdisk utility which the installer provides to partition one's hard disk is quite easy to use.

Once the partitioning has been completed, the copying of system files takes place and then the system is rebooted. Solaris Express automatically detected the Windows XP OS on my machine and accordingly configured and installed the GRUB boot loader. It failed to recognize the Linux and FreeBSD systems installed in other partitions on my hard disk though.

Solaris Express is foremost an operating system designed to be used as a server system. Sun has, however, tried to make it more user friendly on the desktop by bundling the Java Desktop System, which is based on GNOME but with a layer of Java underneath. The Java Desktop System is really slick and is a pleasure to use. It contains almost all the GUI tools and software that come with GNOME 2.6 as well as a few others like Star Office 7 and system configuration tools like the Java Desktop System Configuration Manager, which provides user settings as well as the ability to lock down user desktop systems. I really liked the Sun Control Station which is a GUI tool for such jobs as software updating, resolving dependencies and monitoring the health of the system just to name a few.

Unique strengths of Solaris Some of the advantages of Solaris Express over its predecessors (Solaris 9 and down) are as follows:
  • Solaris comes bundled with DTrace - a tool kit which can be used to tune the performance of processes running on the system. The language that DTrace uses, named "D," has a lot of similarities with C/C++. Using DTrace, one can monitor over 32,000 points of instrumentation (also called probes) which give feed back useful for tracking down problems.
  • Another area where Solaris excels is in the power and sophistication of its security features. They are:

    • RBAC (Role Based Access Control) - Administrators use RBAC to delegate limited authority to a subset of users. Central to RBAC is what is called a role. A role is similar to a user in that it has a user ID, a password, and even a home directory. Roles also have associations to specific tasks or capabilities assigned to them. A user that is authorized to assume a role simply switches to that role using the 'su' command just as they would traditionally switch user to root. While Linux has sudo to achieve similar goals, RBAC has a distinct advantage in that it is fully integrated into Solaris.
    • Process Right Management - The administrators can grant individual processes only the privileges they need to perform the work assigned to them using this tool.
    • System partitioning using containers - Containers have been long touted as a principal advantage Solaris has over Linux. Though the gap is closing quickly with the development of virtualization technologies like User-mode Linux and Xen. But containers are well integrated in Solaris and are said to have superior performance and resource efficiency over virtual machines, which require an entirely separate instance of the operating system for each virtual unit. For example, you can run your DNS, LDAP and other servers in separate containers, all acting as independent systems. And since each container can have its own IP address, it opens up endless possibilities for the administrator.
Drawbacks of Solaris

If those are the strengths of Solaris, then it has its own set of drawbacks too. I found the memory requirements for using the graphical installer of Solaris Express quite high when compared with those of Red Hat or SuSE. The hardware compatibility is some thing which needs to be improved and, even though it detected most of the devices on my Intel machine, its hardware support is nowhere near that supported by Linux. No doubt, Solaris has a lot of strengths as a server system, but it needs to improve on the variety of hardware support and bring down the minimum memory requirements for using the graphical installer


(Log in to post comments)

Solaris Express - A review

Posted Mar 2, 2006 14:27 UTC (Thu) by nix (subscriber, #2304) [Link]

UML actually predates Solaris containers.

You might want to look at kprobes as well.

(And of course Linux has long had RBAC stuff if you want it. Not as long as Solaris has had it, though: anyone else remember Trusted Solaris?)

Solaris Express - A review

Posted Mar 2, 2006 15:05 UTC (Thu) by smoogen (subscriber, #97) [Link]

Thanks for the article.

The first sentance is a bit confusing. SunOS <5.0 draws its roots from various BSD versions. SunOS >= 5.0 draws its roots from SySV. The huge system administration and programming differences in SunOS 4.1.2 and SunOS-5.0 (Solaris 2.0) and Solaris-2.0 instability caused Sun to keep updating the SunOS line to run on the various Sparc 4M chips that had been listed as Solaris only. [Too many SunOS 4.x sites could not jump over to SunOS 5.{0,1,2} because programs had to be rewritten and even system adminining was "different"].

Solaris Express - A review

Posted Mar 4, 2006 19:04 UTC (Sat) by job (guest, #670) [Link]

This article was a bit thin. "I installed it. There's stuff in there." I'd be more interested in diving into how dtrace works, or benchmarks versus a Linux server distro, or explaining a bit more how the Java desktop tools work and how they compare to the KDE lockdown tools, or something else.

containers = vservers ?

Posted Mar 8, 2006 7:59 UTC (Wed) by Klavs (subscriber, #10563) [Link]

Not that I have researched what containers actually do - but if they perform better than XEN/UML - it would seem they share the same kernel as the primary - and ie. works similarly to the vserver project? where you can firewall each , on the primary host. (dom 0 in XEN speak afaik :)

containers = vservers ?

Posted Mar 11, 2006 15:27 UTC (Sat) by movement (guest, #871) [Link]

They're similar in terms of implementation, yes. Solaris zones are
considerably better integrated, however.

Copyright © 2006, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds