Cover V13, i04

Article
Sidebar

apr2004.tar

The Software Express from Sun

Peter Baer Galvin

There was a time when Sun customers could receive SunOS on floppies -- lots and lots of floppies. Loading that version was not much fun. Then Sun began allowing customers to download current versions of Solaris. And now, Sun has added to the fun by enabling downloads of "snapshots" of future Solaris releases. The Software Express for Solaris (SX) program allows existing Sun customers to download an evolving release of Solaris. While writing three CDs worth of downloads may not seem like fun to some, those of us who like experimenting with new features and evaluating new functions now have a new way to have a great time.

The difficult part of describing this new Sun access method is that it has no equivalents, so it defies easy labeling. For example, it's not a beta-test program. There is no application process, and the software is fully supported, although it is "early-release" software. The best way to consider this service is that, for free, you can download snapshots of Solaris. These snapshots are versions of Solaris that are not currently available any other way -- not beta, and certainly not in a Sun box. Periodically, however, Sun will capture one of these snapshots and package it, or something like it, as a full Solaris release.

This month, I'll look at the Software Express (SX) program in detail and explain how the program works, how well it works, and what's in those snapshots.

Brief History

The SX implementation has been used at Sun for more than two years, allowing engineers to exchange current versions of their code and allowing systems administrators at Sun to get the latest builds of Sun's software for installation on internal systems. In September 2003, Sun expanded its use to anyone outside the company who was interested in trying these early releases.

Since then, there has been a predictable release every month. There are more frequent internal releases but, of those, only the best ones are made available for public consumption. Each release must pass complete Sun release testing. At this time, more than 3000 individuals have registered and used SX.

How It Works

The software available includes SPARC and x86 snapshots of the Sun Solaris development cycle. The download and use of SX and the snapshots is under non-disclosure, because Sun wants to contain discussion of features and bugs. (I received permission for this column.) There are two access methods available. For free, the software can be downloaded. However, there is no technical support available, no discussion groups, no detailed roadmaps, and so on. It is strictly a "give it a try" arrangement. For $99 per year, a user gets access to the downloads as well as all of those other features. Bugs may be submitted through a Web site, but not via phone. With paid access, the operating system can even be used in commercial environments.

Note that with either package, feedback on bugs and features can be given to Sun. Sun indicated that some sites are running these releases in commercial, production environments. These customers apparently felt that the new features outweighed the risk of running a very new release. It is important to note that there will be no patches released against the downloadable software. Rather, customers are expected to download the next release, which should include fixes to most of the bugs in the previous release. Overall, the features of the $99 service are well worth the cost. One limit to joining the program is that you need an existing right-to-use license for Solaris on the machine(s) that will host SX releases. This is not a way to run Solaris for free.

The downloads themselves are easy to manage. Of course, the files are large, so a fast pipe is almost required. Sun provides a download tool, but on Windows XP I had no luck getting it to work. Rather, just using a Web browser and a cable modem brought the CD images to my hard disk within an hour or so. I used Easy CD Creator to write the images to CD, but any software that can create bootable CDs should work. For English-language deployments, three CD images are needed. Non-English language versions are also available and require extra downloads. No tools or extra CDs are available. Documentation is available from a password-protected section of http://docs.sun.com.

After the download, the rest of the installation looks just like a "normal" Solaris rollout. All of the standard features are included, plus the features Sun added after Solaris 9. The software can be used for an initial install or upgrade.

Solaris Next

Evaluating the newly installed software took quite a bit of time, as there are currently more than 200 features unavailable in Solaris 9. It includes the new TCP stack implementation (codenamed Fire Engine), NFS V4, and a cryptography framework. It also has DTrace, a wild new kernel trace facility. Of course, some things never change -- I still had to run catman -w to index the man pages installed on the system! According to the file /etc/release, the version I tested was "Solaris 10 s10_46 SPARC", build 46 of Solaris 10. There are several major new features in this release, including the following.

DTrace

The engineering team that worked on the DTrace system functionality is proud of their new baby, as well they should be. They are running a discussion group at BigAdmin (http://www.sun.com/bigadmin/content/dtrace) and have posted some examples of DTrace use at comp.unix.solaris. This tool should be invaluable to systems programmers and developers who are debugging, performance tuning, or performance profiling their programs. It will also help systems administrators determine exactly what is happening on their systems. Of course, there is a bit of work to be done first. DTrace is not simple to use and requires an understanding of the "D" programming language to really drive it. Its power is impressive, though, making the learning effort worthwhile. The developers at Sun believe this tool makes Solaris the most observable operating system in history. With DTrace, the innards of Solaris are now available to debugging and probing.

"Fire Engine" Performance Enhancements

This major project is a re-architecture of the networking stack to improve performance and scalability. The implementation involves decreasing the number of locks involved in the network kernel code. Some performance improvement is already evident (estimated at 10%), with more coming as other aspects of the kernel are tuned to take advantage of the new stack. The net result of these changes is that the kernel will be able to drive fast networking HBAs at close to theoretically maximum speeds -- a welcome improvement.

Solaris Cryptographic Framework

Solaris now has a core set of APIs and SPIs (service provider interfaces) for user and kernel access to cryptography. It is based on open standards (PKCS#11) and allows for general access to both standard crypto libraries and crypto accelerators. Even without the accelerators, the new facility improves encryption performance significantly. The use of cryptography with Solaris should be easier and more uniform in the future based on this new feature. Also, Simple Authentication and Security Layer (SASL) is implemented, as described in RFC 2222.

NFS Version 4

This release implements a new standard NFS protocol, as specified in RFC 3530. It solves lots of long-standing issues in NFS, including file locking, NFS through firewalls, and security. It's also integrated with Kerberos V5 (SEAM).

Solaris Privileges

This new security implementation requires appropriate privileges for administrative tasks, not just superuser rights. It restricts processes to only those privileges that are required to perform a task. Sys admins can limit a program's access using the least privilege capability. There is also an API to access the privileges. Unmodified programs that run as root still have all privileges, but programs written to use this new facility are more secure and have fewer access rights. Many native programs have already been rewritten, so there are fewer setuid and setgid programs. A quick count showed 79 setuid and 26 setgid on the new system. This is far fewer than previous releases, believe it or not. Furthermore, devices now have a separate security policy. Permissions on a device file do not fully determine access to the device. Privileges might also be required for access to the device.

Many smaller changes to Solaris 9 can also be found in the latest SX release as listed in the accompanying sidebar. Amazingly, this is just a partial list of the new features found in SX that are headed for the official "Solaris Next" operating system release.

Conclusions

With the Software Express program, Sun has given systems administrators and developers a powerful new tool -- access to the future, today. The SX program is easy and cheap, and therefore very likable. The releases seem solid, with plenty of new features. Early access to these features will aid developers in writing more secure, efficient code, and aid administrators in planning future Solaris deployment and testing new features. Some folks find enough value in the new features to use these releases in production, which is certainly a strong vote of confidence.

Future snapshots will include performance improvements, Trusted Containers, and a new file system, plus quite a bit more. It's certainly worth the time, money, and effort to be involved in this program if your site is a heavy user of Solaris or is thinking about switching to or expanding use of Solaris.

For more information about SX, see:

http://wwws.sun.com/software/solaris/solaris-express/sol_index.html
Acknowledgements

Some information for this column was provided by very helpful people at Sun. They want to get the word out about SX and hope its success will lead to other software being included in the Software Express program. They include Bill Moffitt, Group Manager for Solaris Product Management; Jackie Bao, Product Line Manager for Software Express for Solaris' and Jill Berman, PR Manager at Sun.

Peter Baer Galvin (http://www.petergalvin.info) is the Chief Technologist for Corporate Technologies (www.cptech.com), a premier systems integrator and VAR. Before that, Peter was the systems manager for Brown University's Computer Science Department. He has written articles for Byte and other magazines, and previously wrote Pete's Wicked World, the security column, and Pete's Super Systems, the systems management column for Unix Insider (http://www.unixinsider.com). Peter is coauthor of the Operating Systems Concepts and Applied Operating Systems Concepts textbooks. As a consultant and trainer, Peter has taught tutorials and given talks on security and systems administration worldwide.