---------------------------------------------------------------------------- The Florida SunFlash S U N E R G Y E M A I L: NEWSLETTER 5 (2 of 3) SunFLASH Vol 45 #14 September 1992 ---------------------------------------------------------------------------- This is from Miyong.Byun@Corp.sun.com (Miyong Byun, User Programs). Because of its size, I have divided it into three parts. This is the second part. -johnj ---------------------------------------------------------------------------- NEWSLETTER 5 September, 1992 Distributed by the Press Relations, Sun Microsystems Computer Corporation, A Sun Microsystems, Inc. Business; all rights reserved. Director of PR: Kay Hart; Sunergy Manager: Larry Lettieri; Managing Editor: Miyong Byun. Contact the Sunergy editors over email at: sunergy_information@Sun.COM. =========================================================================== = CONTENTS - ISSUE #5 = =========================================================================== 1 or 2 indicates (1) in this SunFlash (45.13) or (2) in the next (45.14) or (3) the next (45.15) 1 1 1ROADMAPS TO RESOURCES *2* Book List 1 1 *3* New Book: "Global Software" by Dave Taylor 1 1 *4* "Hi-Tech Nomadness" Newsletter 1 1 1TECHNICAL TOPICS *5* Tips -N- Tricks: How to Program Your Function 1 Keys 1 1 *6* "SunWorld" Magazine: "The Myth of Ease of Use" 1 2 2 *7* Solaris 2.0 (White Paper) 2 2 3NEW PRODUCTS *8* SunPro - C Transition Pack 3 3 *9* SunExpress Announces Lower U.S. Prices 3 3 3SIG NEWS *10* SunPro Article:"Using Test Coverage Tools 3 Effectively" 3 3 3INDUSTRY NEWS *11* News From SPARC International 3 3 *12* "Lotus Shows The Way" 3 ("SunWorld" Magazine Reprint) 3 3 3UPCOMING EVENTS *13* Tradeshow Calendar ****************************** *7* Solaris 2 (White Paper) * ****************************** ---------------------------------------------------------------------------- This is a useful article for anyone considering converting to Solaris(R) 2.0. The author is an experienced system administrator who works at a Solaris 2.0 beta site. This three-part hands-on view of Solaris 2.0 was published in the June, July, and August issues of "SunWorld"and is copyrighted by "SunWorld," 1992. The author asked not to be identified. ---------------------------------------------------------------------------- Solaris 2: A whole new universe There is an episode of "The Twilight Zone" (the new one, not the old one) in which Robert Klein awakes to find that all the words he knows have changed meaning. Lunch is now called "dinosaur," a car is called an "umbrella," and so on. Klein's confusion reduces him to a child, forced to relearn everything from scratch. Having spent some time with Solaris 2.0, I now know how Klein's character felt. I have lived in a BSD world all of my life, a functioning UNIX citizen in the land of SunOS(TM) 4.1.1. Suddenly, I awoke in Solaris 2.0, where SVR4 rules, and all the words have changed. I no longer use dkinfo to check a disk partition named /dev/sd0g, I use prtvtoc to check a disk slice named /dev/dsk/c0t0d0s6. My fstab is a vfstab, and my exports file is now a dfstab. All my rc boot scripts have disappeared into several rc directories. While system administrators will be challenged by the many configuration changes in Solaris 2.0, they will love the new suite of administration tools. Gone are the days of editing password files and automounter maps directly. Now, OPEN LOOK(TM)-based tools let you manipulate your configuration files via the mouse and scrolling lists. Adding new users was never easier, and destroying your system due to a typo in a configuration file is finally a thing of the past. If they put /usr/ucb in their path, end users will see little or no difference between Solaris 1.0 and 2.0. The only problems that will arise are when users discovers that a favorite old command, like colrm, did not make the cut into System V. For the beta release, at least, Sun recommends that users start out including /usr/ucb and make an effort to migrate to the System V equivalent commands now located in /usr/bin. Eventually, users should remove /usr/ucb from their path when they become System V literate. Fortunately, most SunOS 4.x applications will run without recompilation under Solaris 2.0. Tools that are statically linked, access /dev/kmem, or try to write to system files will fail under Solaris 2.0, giving the not-at-all-helpful "bad system call" message. Most shell scripts should work, but some users may encounter problems with scripts that expect a BSD version of some command and get the System V incarnation instead. Expect to spend some time smoothing minor inconsistencies when you make the move to Solaris. Solaris 2.0 seemed to perform about as fast as SunOS 4.1.1 on my SPARCstation 2GX with 32 megabytes of RAM. Since at least some of the kernel had some diagnostic assertions enabled, I can only assume the final shipping version will perform as well or better than SunOS 4.1.1. The Solaris 2.0 beta package includes SunOS 5.0, OpenWindows(TM) 3.0.1, and AnswerBook(TM) 2.0. OpenWindows 3.0.1 seems to have minor bug fixes and enhancements, as compared with version 3.0, and ran with no discernlble problems. The AnswerBook is nothing short of a godsend, providing instant access to reams of documentation. Being able to do keyword searches for very specific problems is quite handy, especially when you try to find out why something that worked under 4.1.1 now seems to break under Solaris 2.0. You can solve more problems in a 10-minute AnswerBook session than you can in two hours of poring through stacks of paper manuals. Solaris 2.0 is a definite change for users of previous versions of SunOS, but it is, I think, an overall improvement. While you will relearn the names of many things, you will also benefit from better administration tools, slightly better performance, and the delightful AnswerBook. I recommend migrating your systems to Solaris 2.0. A first glance at system administration For SunOS users, moving to Solaris 2.0 means change and adaptation. Fortunately, regular users running on a correctly configured machine will see few if any differences between SunOS 4.1 and Solaris 2.0. Getting the systems configured correctly is the job of system administrators; they're the ones who will have to deal with the many differences underlying the new OS. The changes start when you begin installation. Solaris 2.0 wants four file systems: /, /usr, /export, and /opt. The first three contain a mixture of old and new UNIX features, while /opt is an entirely new file system for Sun folk. The / file system is reserved for system configuration information and single-user mode tools. As always, you'll find all configuration files in /etc. However, many files have changed names, and a few have been reorganized. Most notably, the rc.boot, rc, and rc.local boot scripts have been broken down into many little shell files stored in directories named /etc/rc[0-3].d. Each directory contains the scripts needed to bring the machine to a different "run level," with run level 0 corresponding to the monitor PROM; level 1 being single-user mode; level 2 being multiuser mode; and level 3 being multiuser with NFS, RFS, and NIS servers enabled. You'll find the system kernel in /ufsboot, but you'll never have to modify it. Solaris 2.0 uses dynamically loaded device drivers to assemble a kernel on the fly during the boot process. This means you'll never edit another configuration file or build another kernel. Within /usr you'll find the bin directory, which holds all of the System V user commands. If you're feeling a bit nostalgic, browse /usr/ucb, where the last vestiges of BSD UNIX are hiding. For some strange reason, obscure commands such as make and sccs have been hidden in /usr/ccs/bin, instead of in a more traditional spot such as /usr/bin. You'll also find all 83 megabytes of OpenWindows 3.0.1 in /usr/openwin. All told, set aside about 145 megabytes for a fully installed /usr file system. You'll find your home directories in /export/home, where they are ready for export to other machines. By default, Solaris 2.0 creates two automounter maps that mount file systems under /home and /net. The /home map is used to access any home directory of any user on a network, while the /net map gives access to all the exported file systems on any machine on a net. With the maps configured correctly, users can type /home/user on any network machine and access the correct home directory. The new file system in Solaris 2.0 is /opt, where Sun wants you to install all optional, unbundled software. By default, Solaris 2.0 will install the AnswerBook and unbundled compiler and language tools in /opt. My advice is to make /opt fairly large to accommodate future software packages. Packages are a nice new feature of Solaris 2.0. All software is now shipped as packages, and Solaris includes commands such as pkgadd, pkginfo, and pkgrm to add, inquire about, and remove software packages. Packages are fairly smart and will inspect your system before installation make sure the appropriate prerequisite packages have been installed. Packages also know where they should be installed, so they put their man pages in the right place and keep your system organized correctly. Most administration tasks, such as adding new users and groups, managing NIS and automounter maps, and maintaining your network, are now handled by a nice suite of OPEN LOOK-based administration tools. Instead of editing system files by hand, you open the appropriate system database and modify it. The tools worry about the filenames and formats, making an administrator's life much easier. In general, administrators should plan to spend some time learning the new features of Solaris 2.0 to make the transition from SunOS 4.1. Once users have made the leap, though, I'm betting they will find the new system better organized and easier to maintain. Solaris 2.0 and regular users If you've wandered by your system administrator's office lately, you may have found him or her collapsed over a box marked "Solaris 2.0," sobbing. Naturally, having witnessed such an emotional outburst, you'll find that your first inclination is to rush into the office and ask, "How will this new operating system affect me?" If you are a regular SunOS user, happily compiling things or running third-party software, the answer is "probably not much." If your administrator installs Solaris correctly and you adjust your environment slightly, you won't notice many differences between Solaris 2.0 and SunOS 4.x. The only real change you'll have to make is in your PATH environment variable. Under Solaris, all System V Release 4 user-level executables live in /usr/bin. Almost all, that is. For some inexplicable reason, a bunch of commands, including make, sccs, yacc, and lex, have been moved into /usr/ccs/bin. If you have a need for those commands, you'll want to put /usr/ccs/bin in your PATH. If you are familiar with the SVR4 versions of various commands, this is all you need to do. If you are still living in a BSD world, however, you'll be adding /usr/ucb to your PATH too, ahead of /usr/bin. This way, the BSD versions of things like ps will be found before the SVR4 variants are located. For real BSD aficionados, rummaging through /usr/ucb is like a trip down memory lane. "Look," you'll say. "There's lpr and lpq! And the old versions of test and ps! Those were the days...." In fact, Sun encourages users to start off with /usr/ucb in their path, but to make an effort to learn the new versions of commands. After getting up to speed, you can then remove /usr/ucb and switch over to a pure SVR4 world. One very nice feature of Solaris 2.0 is that most SunOS 4.x applications will run without recompilation. Only those programs that access system files or deal directly with the kernel will fail under Solaris 2.0, generating the cryptic "bad system call" message. I found that many common tools, such as olvwm and xrn, ran without a hitch under Solaris 2.0. A bigger problem will be the conversion of shell scripts. Many people have a tendency to hard-wire pathnames in shell scripts, and these scripts will probably break under Solaris 2.0. In addition, some commands are gone from Solaris 2.0, and you'll obviously have to rework shell scripts that relied on those commands. To help in the porting of shells scripts and source code, Sun includes an extensive conversion guide in the online Solaris 2.0 documentation. This guide details every SunOS 4.x command and what became of it in Solaris 2.0. A few quick searches with AnswerBook is usually all that's needed to fix an errant program or shell script. Solaris 2.0 includes a slightly modified version of Open Windows 3.0, designated as version 3.0.1. Presumably, some code was changed to conform to SVR4 specifications, but the only difference I could see was that mailtool now correctly sets the Subject field of forwarded mail. Everything else seemed to be identical to Open Windows 3.0. In terms of performance, Solaris 2.0 felt the same as SunOS 4.1.1. I was running a 32-megabyte SPARCstation 2GX, so users with less RAM might notice some performance penalty. As first customer shipment approached, Sun had Solaris 2.0 close to the performance benchmarks of SunOS 4.1.2. Overall, most users should not fear Solaris 2.0. The biggest factor preventing a switch to Solaris 2.0 will most likely be the lack of third-party tool vendors making the move right away. In most cases, it is reasonable to expect your favorite tools to be ready for Solaris 2.0 around the end of 1992, so plan to take the plunge early next year.