What's New in the Solaris 9 Operating Environment

Chapter 5 What's New: A Closer Look

The Solaris 9 operating environment provides many new features that improve an already powerful and stable operating environment. This chapter describes some of the new features of the Solaris 9 release in more detail:

For a complete list of Solaris 9 features with brief descriptions, see chapters 2-4.

Language Support

The Solaris 9 operating environment now includes support for 162 locale environments, covering 39 languages on the Solaris 9 DVD, the Solaris 9 Software CDs, and the Solaris 9 Languages CD. See an overview of the language support features in Chapter 4. The following section provides more detail on some of these features.

New Asian Locale Support

Support for the New Chinese GB18030-2000 Character Set

Beginning with the Solaris 8 2/02 release, the Solaris platform enables input, display, and print for the entire GB18030-2000 character set (including nearly 30,000 characters). Any application that runs on the Solaris platform can thus benefit from a wider set of Chinese characters. These glyphs are primarily Han characters, but the encoding also includes glyphs for minority languages such as Tibetan, Wei, Yi, and Mongolian.

GB18030-2000 support in the Solaris 9 release also includes backward compatibility to previous Chinese codesets (GBK and GB2312), as well as conversion to other codesets such as Unicode. Solaris developers do not need to change their procedures to access this new encoding support. Standard toolkits can use the new support.

For Java applications that need GB18030-2000 support, review J2SETM at the following Web site:


New Chinese and Korean Collation Locales

Collation locales provide different collation options to users, such as stroke count and radical, phonetic, and dictionary options.

Wordbreaker Modules for Thai

The wordbreaker module is used to correctly break the Thai text into proper paragraphs, sentences, and words within Motif.

New Asian UTF-8 (Unicode) Locales

The File System Safe Universal Transformation Format, or UTF-8, is an encoding that is defined by X/Open® as a multibyte representation of Unicode. UTF-8 encompasses almost all of the characters for traditional single-byte and multibyte locales for European and Asian languages for Solaris locales.

New Thai Input Method

The new Thai input method supports the Thai input standard, called the WIT, that is specified by the Thai government. The WIT has 3 levels: level 0, level 1, and level 2.

New Chinese input methods

More popular and powerful input methods (IM) in the Traditional Chinese and Simplified Chinese locales have been added for new character sets and new locales:

New Auxiliary Window for Chinese Input Methods

The Auxiliary window provides an input method user interface (UI) that is "friendly" and extensible for all Chinese locales. New functions that are supported by the auxiliary window are as follows:

New iconv Modules

iconv modules enable conversion between native encoded data and Unicode. The following new iconv modules have been added to support new character sets:

New zh_CN.GB18030 Locale Enhanced From zh_CN.GBK

This new zh_CN.GB18030 locale is provided to support the new GB18030 standard encoding that is required by a new law that the Chinese Government has enacted.

New zh_HK.BIG5HK Locale to Support HKSCS for Hong Kong, China

The new zh_HK.BIG5HK locale is provided to support the Hong Kong Supplementary Character Set (HKSCS). The HKSCS, as a supplementary character set of the Big-5 and ISO 10646 coding schemes, contains Chinese characters that are needed in Chinese computing in Hong Kong. However, these characters are not contained in either the Big-5 or ISO 10646 standard character sets.

Japanese Module Support

Additional Japanese iconv Modules

Additional Japanese language support includes iconv code conversions between Solaris Japanese locale codesets, such as eucJP, PCK, and UTF-8, and Japanese mainframe codesets, such as Fujitsu JEF, Hitachi KEIS, and NEC JIPS.

New European Locale Support

New Unicode (UTF-8) Locales for Europe and the Middle East

For the Solaris 8 10/00 release, Russian, Polish, and two new locales for Catalan were added to the European and Middle Eastern locales. For the Solaris 8 4/01 release, two additional languages, Turkish UTF-8 Codeset and Russian UTF-8 Codeset, were added.

In the Solaris 9 release, European and Middle Eastern language support also includes the addition of UTF-8 locales for Turkey, Egypt, Brazil, Finland, and Belgium-Walloon.

The locale names are as follows:

Euro Default Currency Support

The following locales have changed from their national currency unit (NCU) to the euro currency glyph:

ca_ES.ISO8859-15 (Spain)

de_AT.ISO8859-15 (Austria)

de_DE.ISO8859-15 (Germany)

de_DE.UTF-8 (Germany)

en_IE.ISO8859-15 (Ireland)

es_ES.ISO8859-15 (Spain)

es_ES.UTF-8 (Spain)

fr_BE.ISO8859-15 (Belgium)

fr_BE.UTF-8 (Belgium)

fi_FI.ISO8859-15 (Finland)

fi_FI.UTF-8 (Finland)

fr_FR.ISO8859-15 (France)

fr_FR.UTF-8 (France)

it_IT.ISO8859-15 (Italy)

it_IT.UTF-8 (Italy)

nl_BE.ISO8859-15 (Belgium)

nl_NL.ISO8859-15 (Netherlands)

pt_PT.ISO8859-15 (Portugal)

Enhanced Dtpad File Open/Save Codeset Conversion

Enhancements include the addition of an "encoding" option to the File Open/Save dialog box that supports file encoding changes with iconv(3C). This option enables users to open or save files in various encodings, such as UTF-8 and UTF-16.

Role-Based Access Control

Role-based access control (RBAC) was updated in the Solaris 8 1/01 software release. RBAC databases can now be managed through the User tool in the Solaris Management Console graphical interface. A terminology change has made the term execution profiles obsolete. The term has been replaced with rights profiles, also referred to as rights (in the graphical interface) and profiles (on the command line and in files).

In addition to authorizations and commands with security attributes, a rights profile can now include other rights profiles. If the same command appears in more than one subordinate rights profile, the first occurrence in the file assumes precedence.

The policy.conf(4) file now recognizes the keyword PROFS_GRANTED, which lets you assign rights profiles by default.

The following figure illustrates how the extended user attributes are supplied to the user.

Figure 5-1 Extended Attribute Databases


The user_attr database contains the attributes that are shown, including a comma-separated list of profile names. The contents of the profiles are split between the prof_attr file and the exec_attr file. The prof_attr file contains rights profile identification information, authorizations that are assigned to the rights profile, and rights profiles that are nested. The exec_attr file identifies the policy and contains commands with their associated security attributes. The auth_attr file supplies authorization information to the Solaris Management Console tools.

Note -

Although you can assign authorizations directly to users through user_attr, this practice is discouraged.

The policy.conf file supplies default attributes to be applied to all users. For example, if the Printer Management rights profile is assigned to a user or role, the user_attr entry for that user or role contains the keyword/value pair: profiles=Printer Management. The prof_attr file defines this profile, which also specifies the help file and authorizations, with the following line:

Printer Management:::Manage printers, daemons, 
/ solaris.admin.printer.modify,solaris.admion.printer.delete

In the exec_attr file, the following line assigns an effective user ID = lp to the command /usr/sbin/accept within the Printer Management profile:

Printer Management:suser:cmd:::/usr/sbin/accept:euid=lp

The following table lists commands that use authorizations.

Table 5-1 RBAC Commands


Associated Authorizations 








solaris.jobs.user, solaris.jobs.admin 


solaris.device.allocate, solaris.device.revoke 


solaris.device.allocate, solaris.device.revoke 




solaris.jobs.admin, solaris.jobs.user 


solaris.admin.dcmgr.clients, solaris.admin.dcmgr.read 


solaris.profmgr.read, solaris.profmgr.write 


solaris.admin.usermgr.read, solaris.admin.usermgr.write 

smmultiuser(1M), smuser(1M)

solaris.admin.usermgr.pswd, solaris.admin.usermgr.read, solaris.admin.usermgr.write, solaris.profmgr.assign, solaris.profmgr.delegate, solaris.role.assign, solaris.role.delegate 


solaris.admin.usermgr.read, solaris.admin.usermgr.write 


solaris.admin.dcmgr.admin, solaris.admin.dcmgr.read 


solaris.profmgr.read, solaris.profmgr.write 


solaris.admin.usermgr.pswd, solaris.admin.usermgr.read, solaris.admin.usermgr.write, solaris.profmgr.assign, solaris.profmgr.delegate, solaris.role.assign, solaris.role.delegate 

For more information on the Solaris Management Console, see "System Administration Tools".

Live Upgrade Command-Line Features

In the Solaris 9 release, the following Solaris Live Upgrade new features apply to the command-line interface only.

Progress Reporting

When using Solaris Live Upgrade to upgrade or install a Web Start Flash archive, the percentage of the upgrade or install completed is reported.

Changes to the lumount and luumount Commands

The lumount command mounts all the boot environment's file systems. If you do not explicitly specify a mount point, lumount creates a mount point that uses the boot environment name, rather than a random set of numbers. This change prevents a proliferation of mount points and aids in using the luumount command.

Here is an example of the old and new mount point naming:

The luumount command unmounts the boot environment's root file system. The luumount command now accepts a mount point as well as the boot environment name. And with the -f option, a boot environment's file system can be forcibly unmounted.

See the man pages, lumount(1M) and luumount(1M).

Scheduling Priorities

Solaris Live Upgrade's main purpose is to minimize production environment downtime while migrating to a new operating system. Some Solaris Live Upgrade operations, such as upgrading and copying file systems, can cause significant load to a system. Solaris Live Upgrade now has the tools to control scheduling priorities, which helps prevent degrading of performance on the production system. You can change the defaults in the /etc/default/lu file.

Naming Boot Environments

To allow long names for boot environments, Solaris Live Upgrade commands that accept a boot environment name can now associate a description of any length with that name.

For further information, see the Solaris 9 Installation Guide or the man page, ludesc(1M).

pargs and preap Commands

The pargs command enables you to display all the arguments that are passed to a process. Use the pargs command in combination with the pgrep command to display the arguments that are passed to a process, as follows:

# pargs `pgrep ttymon`
579:	/usr/lib/saf/ttymon -g -h -p system-name console login:  
-T sun -d /dev/console -l 
argv[0]: /usr/lib/saf/ttymon
argv[1]: -g
argv[2]: -h
argv[3]: -p
argv[4]: system-name console login: 
argv[5]: -T
argv[6]: sun
argv[7]: -d
argv[8]: /dev/console
argv[9]: -l
argv[10]: console
argv[11]: -m
argv[12]: ldterm,ttcompat
548:	/usr/lib/saf/ttymon
argv[0]: /usr/lib/saf/ttymon

Use pargs -e to display the environment variables that are associated with a process, as in the following example:

$ pargs -e 6763
6763: tcsh
envp[0]: DISPLAY=:0.0

You can use the pargs and preap commands to examine any process you have privileges to look at. As superuser, you can examine any process.

You can use the preap command to clean up a defunct (also called a zombie) process. A zombie process is one that has not yet had its exit status reaped (or claimed) by its parent. These processes are generally harmless, but they can consume system resources if they are numerous.

New df, du, and ls Options

The df, du, and ls commands have a new h option for displaying disk usage and file or file system sizes that are easy to understand.

The default form of the df command displays file system size in blocks (512 bytes). The df output, in kilobytes, follows:

$ df -k / /usr
Filesystem            kbytes    used   avail capacity  Mounted on
/dev/dsk/c0t0d0s0     192056   94788   78063    55%    /
/dev/dsk/c0t0d0s6    1982988  829966 1093533    44%    /usr

The same file system sizes displayed in powers of 1024 follows:

$ df -h / /usr
Filesystem             size   used  avail capacity  Mounted on
/dev/dsk/c0t0d0s0      188M    93M    76M    55%    /
/dev/dsk/c0t0d0s6      1.9G   811M   1.0G    44%    /usr

The default form of the du command displays disk space in blocks (512 bytes). The du output, in blocks, follows:

% du -s k*
100     kadmin
98      kadmin.local
98      kdb5_util
90      keyserv
10      killall

The same disk space displayed in powers of 1024 follows:

% du -h k*
  50K   kadmin
  49K   kadmin.local
  49K   kdb5_util
  45K   keyserv
   5K   killall

The default form of the ls -l command displays file size in bytes. Use the ls -lh command to display file size in powers of 1024:

% ls -lh k
-r-xr-xr-x   1 root     bin          49K Nov 30 03:32 kadmin
-r-xr-xr-x   1 root     bin          49K Nov 30 03:32 kadmin.local
-r-xr-xr-x   1 root     bin          49K Nov 30 03:32 kdb5_util
-r-xr-xr-x   1 root     sys          44K Nov 25 04:37 keyserv
-r-xr-xr-x   1 root     bin         4.3K Nov 25 04:36 killall

Other Software

Additional Software

The Solaris 9 software release includes an ExtraValue directory that contains two subdirectories, CoBundled and Early Access. The CoBundled directory contains software that previously shipped separately, such as SunScreen 3.2 and Web Start Wizards SDK 3.0.1. The Early Access directory contains preliminary evaluation software, such as Netscape 6.2.1.

The CoBundled and Early Access directories are in the Solaris_9 directory at Solaris_9/ExtraValue/EarlyAccess and Solaris_9/ExtraValue/CoBundled. The directories are located on the Solaris 9 DVD and the Solaris Software 2 of 2 CD.

For further information about Solaris Web Start Wizards SDK 3.0.1, see "Installation".

SunScreen 3.2

SunScreen 3.2 is a stateful, dynamic, packet-filtering firewall that offers high-speed protection to your Solaris server. Some of the features of SunScreen 3.2 are as follows:

SunScreen 3.2 offers stealth mode, operating without any visible IP address. SunScreen also offers a traditional routing mode, with each interface protecting individual subnets. Sun recommends that customers deploy firewalls in multiple points throughout their network architecture, including on individual hosts and servers.

Netscape 6.2.1 for the Solaris Operating Environment

Netscape 6.2.1 Enterprise, the most customizable, convenient, and connected browser, is available in the Early Access directory for the Solaris 9 release. In addition, it will be available for the Solaris 7 and Solaris 8 operating environments. Netscape 6.2.1 is the first Internet software to seamlessly integrate browsing, email, and instant messaging.

Netscape 6.2.1 includes the following new features:

Further information is available at the following Web site:



Several freeware tools and libraries are included in the Solaris 9 release. The following freeware packages have been updated for the Solaris 9 release:

Note -

To view license terms, attribution, and copyright statements for freeware in this list, the default license path is /usr/share/src/<freeware name>. If the Solaris operating environment has been installed anywhere other than the default, modify the given path to access the file at the installed location.

The following libraries have also been included in the Solaris 9 release:

Note -

To view license terms, attribution, and copyright statements for the freeware libraries in this list, the default license path is /usr/sfw/share/src/<freeware name>. If the Solaris operating environment has been installed anywhere other than the default, modify the given path to access the file at the installed location.

The following commands and utilities have also been included in the Solaris 9 release:

Note -

To view license terms, attribution, and copyright statements for the freeware commands and utilities in this list, the default license path is /usr/sfw/share/src/<freeware name>. If the Solaris operating environment has been installed anywhere other than the default, modify the given path to access the file at the installed location.

Available With the Solaris 9 Release

GNOME 2.0 is an upcoming feature that is planned for the Solaris 9 operating environment and is currently available for preview on the web.

GNOME 2.0 Desktop for the Solaris Operating Environment

GNOME 2.0 is an advanced new user desktop planned for inclusion in the Solaris 9 operating environment. GNOME 2.0 is designed to integrate seamlessly with the Internet. GNOME 2.0 provides a user experience that will increase personal productivity. Built on free source software, GNOME is evolving into a standard across multiple UNIX platforms.

The GNOME 2.0 desktop provides powerful new features, which include:

Early Preview of the GNOME Desktop - Sun has made "Exploring the GNOME 1.4 Desktop," available for free download at http://www.sun.com/gnome. The free download enables you to explore and evaluate the capabilities of the GNOME 2.0 desktop, which is to be supported and distributed with future versions of the Solaris operating environment.

Companion CD

The Solaris 9 media includes a Companion CD with the following supplemental software:

This freeware can also be downloaded at the following Web site: