Sun Enhancements to OpenSolaris Take Aim at Linux
Sun Microsystems’ OpenSolaris 2008.11 includes improvements around software package management and incorporating community packaging efforts. The updates to the free Solaris-based OS shows that Sun will not follow IBM and HP in letting Linux take over the platform space once dominated by Unix.
OpenSolaris 2008.11, the second major release of Sun Microsystems’ freely-licensed, Solaris-based operating system, hit the Web late last year packed with feature enhancements that illustrate that Sun isn’t about to cede the platform stage to Linux, as brothers-in-Unix such as IBM’s AIX and Hewlett-Packard’s HP-UX have done.
Taking a cue from popular Linux distributions, Sun’s OpenSolaris improvements centre around a bolstered software package management framework that includes both client-side tools for installing and updating applications, and back-end facilities for channeling community packaging efforts into the project.
In my tests, I found Sun’s package management framework, which is anchored by the still-young Image Packaging System, much improved from the facilities that shipped with Solaris 10. However, while Sun is on the right track here, I found the software tools less streamlined and the breadth of available software packages less broad than what I’ve come to expect from Linux distributions such as Ubuntu.
The other key area in which OpenSolaris shows both improvement and the need for further improvement is in the repackaging of Sun’s industry-leading, server-focused technologies for use in more general-purpose scenarios. One of the most eye-catching features of OpenSolaris 2008.11 is its new Time Slider tool, which wraps the snapshotting capabilities of Sun’s ZFS file system in an elegant and useful tool for accessing previous versions of files and directories on one’s system.
For OpenSolaris to vie successfully for larger mind share among the Linux/Unix developer community at which it is aimed, Sun must expose more of Solaris’ unique functionality in the way that the company has done with Time Slider.
For instance, no matter how well Sun and the OpenSolaris community organise their software packaging efforts, there will be a significant amount of software that won’t run on Solaris. It’s possible to run Linux software from OpenSolaris using the platform’s branded containers feature, but this Linux-on-Solaris option, called BrandZ, requires a significant amount of fiddling to get up and running.
For those interested in learning more about Sun’s platform, OpenSolaris can serve well as a desktop or notebook workstation, provided that the system supports your hardware. The distribution’s installer disk is a LiveCD that makes it easy to test whether OpenSolaris supports your gear with very little investment.
OpenSolaris includes most of the default desktop software that ships with a Linux distribution, including the Firefox 3 Web browser, OpenOffice.org 3 productivity suite, and the GNOME desktop environment, with its range of included applications.
As with the Linux-based distributions from which OpenSolaris takes its organisational cues, OpenSolaris can also be used as a server operating system, running applications downloaded through IPS, installed via the traditional Solaris SVR4 package system, or compiled directly on the machine.
OpenSolaris is freely downloadable from opensolaris.com, but for those who wish to deploy OpenSolaris in production settings, Sun offers commercial support for the distribution in two levels: essential support, which starts at £228 per system per year, and production support, which starts at £1,520 per system per year. You can find the details of these support subscriptions here.
I tested OpenSolaris 2008.11 on a Lenovo Thinkpad T60 with 3GB of RAM and an ATI X1300 graphics adapter. Support for suspend-to-RAM—aka sleep mode—is a new feature of OpenSolaris 2008.11, but one that’s available on a limited range of notebook hardware, which apparently did not include my test machine. Also new in OpenSolaris is support for 3D acceleration and Compiz graphical eye candy on systems with Nvidia graphics adapters, but not on ATI systems, such as my test machine. The system supported my wired Ethernet adapter, an Intel 82573L, without issue, and for the most part, my Intel 3945ABG wireless adapter also worked well. However, I did experience some wireless issues with my somewhat aged home access point—after periods of connectivity of varying lengths, OpenSolaris would lose its link, requiring me to restart the system’s NWAM (Network Auto Magic) daemon and connect again. I’ve experienced no such issues with the same hardware and access point with Linux and Windows.
As I mentioned earlier, OpenSolaris ships with most of the same applications that grace the Linux desktop, with the notable exception of the Tomboy note taking tool (one of my favorite Linux applications) or any other applications based on Mono, the open-source implementation of Microsoft’s .NET framework. This is too bad, because a fair amount of the desktop application innovation occurring on Linux is Mono-based.
I found the Firefox 3 installation that ships by default with OpenSolaris noticeably pokey in its performance—typing status updates into Twitter, for instance, was practically too sluggish to stand. Early in my testing, I installed a beta version of Firefox 3.1, which delivered acceptable performance. Initially, I also missed Mozilla Prism, the project’s site-specific Web browser that I use for keeping my GMail isolated from the rest of my Web browsing for performance and security reasons. However, during my tests, Sun produced a build of Prism that suited my needs.
My experiences with Firefox and Prism on OpenSolaris offer a window into the current state of software packaging and availability on the platform, which is marked by a mix of new and old software management systems, unpackaged tarball binaries, and applications for which no Solaris version exists.
The poorly-performing version of Firefox that I started out with came from the OpenSolaris IPS repositories, which work more or less like the repository systems for Ubuntu or Fedora. I could configure my system with multiple software repositories, such as those for stable and development packages, or for contributed packages offered through the main OpenSolaris project and through the volunteer Blastwave packaging project.
I could access pre-packaged software either from the command line or through a graphical client that resembles Ubuntu’s Synaptic, but I couldn’t browse through available packages in all of my configured repositories at once, the way I can on Ubuntu or Fedora. Rather, when I searched for packages, I had to visit each of my configured repositories to see if the software I sought was available.
I would have preferred to stick exclusively to software in the system’s IPS repositories, but the faster Firefox 3.1 build was not available through these channels, but rather in a contributed builds folder on Mozilla’s FTP site.
What’s more, the package was not in IPS format, but in Sun’s older SRV4 format, which OpenSolaris still supports. As far as I could gather, SRV4 packages are unseen by OpenSolaris’ IPS system, and multiple package formats on a single machine lead, in my experience, to management headaches down the road. The Mozilla Prism build that I mentioned came in yet another format, a plain tarball that I extracted and ran from my home directory.
I expect this packaging fragmentation to improve over time—the current state of Solaris software management has improved dramatically in just the past year—but a tougher challenge to overcome involves applications that haven’t been ported to run on Solaris at all. As I write this, the piece of software that comes most quickly to mind is Google Gears, the offline Web app-enabling software that Google has just embraced for its GMail service.
As I mentioned earlier, it’s possible to run Linux software under the Solaris kernel using the system’s branded containers functionality, but the feature is no picnic to configure for graphical applications, and involves: creating a tarball of an existing Linux system; configuring a branded container, complete with a static IP address that’s bonded to a specific network adapter (an unwelcome proposition for notebook users who switch frequently between different wired and wireless networks); and configuring your Linux container and your host system to allow forwarding X over ssh.
I would like to see the OpenSolaris project streamline the process of installing and using Linux applications within a branded container, perhaps by making a bare-bones, relatively up-to-date installation of CentOS or Ubuntu through the OpenSolaris repositories for the purpose, and by turning the platform’s newly-introduced Crossbow network virtualization bits to the task of providing the Linux containers with the network connectivity they require as transparently as possible.