Solaris Express Developer Edition What's New
Previous Next

New Features in Solaris Express Developer Edition 9/07

Flash Player 9

This desktop tools enhancement is new in the Developer 9/07 release.

Stating with this release, the Solaris OS includes the Adobe Flash Player 9. For more information on this Flash Player, see http://www.adobe.com/products/flashplayer/productinfo/features/.

x86: Streamlined Installer

This desktop tools enhancement is new in the Developer 9/07 release.

The Developer 9/07 release provides a streamlined installation experience for x86 laptop users. A new graphical user interface guides you through a user-friendly installation of the latest Solaris Express Developer Edition release, including the most current developer tools.

For more information about this feature and step-by-step procedures, see the Solaris Express Developer Edition Installation Guide: Laptop Installations.

Desktop Notification

This desktop tools enhancement is new in the Developer 9/07 release.

Starting with this release, desktop notification is supported on Solaris. With the desktop notification support, users are notified when specific asynchronous events occur, for example, when a removable disk is plugged into the system.

For more information, see http://www.galago-project.org/news/index.php.

GNOME Devhelp

This desktop tools enhancement is new in the Developer 9/07 release.

Devhelp is a useful applet for developers to browse and search GNOME API references. The applet works natively with gtk-doc and is used to browse product documentation.

For more information, see the devhelp man pages.

GNOME 2.18

This desktop tools enhancement is new in the Developer 9/07 release.

The GNOME 2.18 enhancement has the following features:

  • Improved internationalization – Pango now supports vertical text layouts in Chinese and Japanese.

  • Ring chart view – The GNOME Disk Usage Analyzer has a new ring chart view.

  • Evince – This feature now supports thumbnails for PostScriptTM documents.

  • Glade 3 support – Glade 2 is upgraded to Glade 3 for faster performance.

  • Eye of GNOME – If you rotate your photos in the camera, they stay rotated when viewed with the Eye of GNOME image viewer.

  • Additional spell check support – Aspell is replaced by Enchant. Enchant shares dictionaries with Thunderbird and Firefox that enable Evolution and Gedit to support spell check for more languages.

  • Tracking recently opened files – GNOME now locates recently opened files so that you do not lose track of your work.

  • Deskbar applet search for new distractions – The deskbar applet provides an omnipresent, versatile search interface. Searches are handled by a series of plug-ins or handlers. Users can type keywords into the deskbar applet text box and the deskbar generates a list of search results. The search results include local files, applications, and web content similar to the Yahoo handler or the Mozilla handler. The search result depends on the handlers that are enabled by users.

  • Additional plug-in support – New rhythmbox plug-ins artdisplay or coverart, mmkeys, and visualizer are now available. The artdisplay rhythmbox plug-in is used to gather and display album covers from the Internet. The mmkeys plug-in controls rhythmbox by using shortcut keys. The visualizer plug-in provides an enhanced user experience.

  • Online games – Chess with a 3–D look and Sudoku are available.

Automatic Detection and Configuration of Local USB Printers

This desktop tools enhancement is new in the Developer 9/07 release.

The Developer 9/07 release includes desktop support for the Automatic Printing Configuration in the OpenSolaris Presto Project. The desktop support includes a GNOME applet, and configuration and preferences applet, capplet. The applet enables notification and processing of specific printer events such as hot-plug or error events on the GNOME panel. The capplet enables controlling the applet behavior. In this release, the desktop support is in combination with the HAL USB printer support which enables automatically detecting and configuring local USB printer support.

For more information, see Support for Automatic Printer Discovery and Configuration in the GNOME Desktop Environment in System Administration Guide: Solaris Printing.

Pidgin 2.0

This desktop tools enhancement is new in the Developer 9/07 release.

Pigdin is a popular open source instant messaging client. Pigdin 2.0 includes the following features:

  • Many improvements to the UI modules including status system, Buddy List, Conversation, and the chat window.

  • New Yahoo Features including Stealth Settings, Doodle, and the /list command.

  • Overall improvements to AIM and ICQ file transfers.

  • Improvements to the Log Viewer module.

  • Support for the new version of ICQ file transfer.

  • New IRC features including SSL support, and the new commands, /whowas, /nickserv, /memoserv, /chanserv, and /operserv.

  • Jabber features including support for SRV lookups, buddy icons, and Jabber User Directory searching.

GNU Automake

This developer tools enhancement is new in the Developer 9/07 release.

Starting with this release, GNU Automake 1.9.6 and GNU Automake 1.10 have been integrated into the Solaris OS. GNU Automake is a tool which is used for generating makefiles and is commonly used by developers working on open-source projects.

For more information, see http://sourceware.org/automake/

Solaris ZFS File System Features

This section describes new ZFS features in the Solaris Express Developer Edition 9/07 release.

  • ZFS command history enhancements (zpool history) – The zpool history command has been enhanced with new options that provide ZFS file system event logging and a long format that includes the user name, the hostname, and the zone in which the operation was performed.

    For example, the zpool history -i option provides zpool command events and zfs command events.

    # zpool history -i users
    History for 'users':
    2007-04-26.12:44:02 zpool create users mirror c0t8d0 c0t9d0 c0t10d0
    2007-04-26.12:46:13 zfs create users/home
    2007-04-26.12:46:18 zfs create users/home/markm
    2007-04-26.12:46:23 zfs create users/home/marks
    2007-04-26.12:46:30 zfs create users/home/neil
    2007-04-26.12:47:15 zfs snapshot -r users/home@yesterday
    2007-04-26.12:54:50 zfs snapshot -r users/home@today
    2007-04-26.13:29:13 zfs create users/snapshots

    The zpool history -l option provides a long format. For example:

    # zpool history -l tank
    History for 'tank':
    2007-07-19.10:55:13 zpool create tank mirror c0t1d0 c0t11d0
    [user root on neo:global]
    2007-07-19.10:55:19 zfs create tank/cindys
    [user root on neo:global]
    2007-07-19.10:55:49 zfs allow cindys create,destroy,mount,snapshot tank/cindys
    [user root on neo:global]
    2007-07-19.10:56:24 zfs create tank/cindys/data
    [user cindys on neo:global]

    For more information, see zpool(1M).

  • Upgrading ZFS File Systems (zfs upgrade) – Starting with this release, the zfs upgrade command is included to provide future file system enhancements to existing ZFS file systems. ZFS storage pools have a similar upgrade feature to provide pool enhancements to existing storage pools.

    For example:

    # zfs upgrade
    This system is currently running ZFS filesystem version 2.
    
    The following filesystems are out of date, and can be upgraded.  After being
    upgraded, these filesystems (and any 'zfs send' streams generated from
    subsequent snapshots) will no longer be accessible by older software versions.
    
    VER  FILESYSTEM
    ---  ------------
      1   datab
      1   datab/users
      1   datab/users/area51

    However, no new ZFS file system upgrade features are provided in this release.

  • ZFS delegated administration – Starting with this release, you can delegate fine-grained permissions to perform ZFS administration tasks to non-privileged users. You can use the zfs allow and zfs unallow commands to grant and remove permissions.

    The following example shows how to set permissions so that user cindys can create, destroy, mount and take snapshots on tank/cindys. The permissions on tank/cindys are also displayed.

    # zfs allow cindys create,destroy,mount,snapshot tank/cindys
    # zfs allow tank/cindys
           -------------------------------------------------------------
             Local+Descendent permissions on (tank/cindys)
                     user cindys create,destroy,mount,snapshot
           -------------------------------------------------------------

    Because the tank/cindys mount point permission is set to 755 by default, user cindys will be unable to mount file systems under tank/cindys. Set an ACL similar to the following syntax to provide mount point access.

    # chmod A+user:cindys:add_subdirectory:allow /tank/cindys

    You can modify the ability to use ZFS delegated administration with the pool's delegation property. For example:

    # zpool get delegation users
    NAME  PROPERTY    VALUE       SOURCE
    users  delegation  on          default
    # zpool set delegation=off users
    # zpool get delegation users
    NAME  PROPERTY    VALUE       SOURCE
    users  delegation  off         local

    By default, the delegation property is enabled.

    For more information, see Chapter 8, ZFS Delegated Administration, in ZFS Administration Guide.

  • Setting up separate ZFS logging devices – The ZFS intent log (ZIL) is provided to satisfy POSIX requirements for synchronous transactions. For example, databases often require their transactions to be on stable storage devices when returning from a system call. NFS and other applications can also use fsync() to ensure data stability. By default, the ZIL is allocated from blocks within the main storage pool. However, better performance might be possible by using separate intent log devices in your ZFS storage pool, such as with NVRAM or a dedicated disk.

    Log devices for the ZFS intent log are not related to database log files.

    You can set up separate ZFS logging devices in the following ways:

    • When the ZFS storage pool is created or after the pool is created.

    • You can attach a log device to an existing log device to create a mirrored log device. This operation is identical to attaching a device in a unmirrored storage pool.

    For examples on setting up log devices, see Creating a ZFS Storage Pool with Log Devices in ZFS Administration Guide andAdding Devices to a Storage Pool in ZFS Administration Guide.

    For information about whether using separate ZFS logging devices is appropriate for your environment, see Setting Up Separate ZFS Logging Devices in ZFS Administration Guide.

  • Creating intermediate ZFS datasets – You can use the -p option with the zfs create, zfs clone, and zfs rename commands to quickly create a non-existent intermediate dataset, if it doesn't already exist.

    For example, create ZFS datasets (users/area51) in the datab storage pool.

    # zfs list
    NAME                        USED  AVAIL  REFER  MOUNTPOINT
    datab                       106K  16.5G    18K  /datab
    # zfs create -p -o compression=on datab/users/area51

    If the intermediate dataset exists during the create operation, the operation completes successfully.

    Properties specified apply to the target dataset, not to the intermediate datasets. For example:

    # zfs get mountpoint,compression datab/users/area51
    NAME                PROPERTY     VALUE                SOURCE
    datab/users/area51  mountpoint   /datab/users/area51  default
    datab/users/area51  compression  on                   local

    The intermediate dataset is created with the default mount point. Any additional properties are disabled for the intermediate dataset. For example:

    # zfs get mountpoint,compression datab/users
    NAME         PROPERTY     VALUE         SOURCE
    datab/users  mountpoint   /datab/users  default
    datab/users  compression  off           default

    For more information, see zfs(1M).

  • ZFS hotplugging enhancements – Starting with this release, ZFS more effectively responds to devices that are removed. ZFS also provides a mechanism to automatically identify devices that are inserted with the following enhancements:

    • You can replace an existing device with an equivalent device without having to use the zpool replace command.

      The autoreplace property controls automatic device replacement. If the property is set to off, device replacement must be initiated by the administrator by using the zpool replace command. If the property is set to on, any new device which is found in the same physical location as a device that previously belonged to the pool, is automatically formatted and replaced. The default value for the autoreplace property is off.

    • The storage pool state REMOVED is provided when a device or hot spare has been removed if the device was physically removed while the system was running. A hot-spare device is substituted for the removed device, if available.

    • If a device is removed and then inserted, the device is placed online. If a hot-spare was activated when the device is re-inserted, the spare is removed when the online operation completes.

    • Automatic detection when devices are removed or inserted is hardware-dependent and might not be supported on all platforms.

    • Hot spares are checked periodically to make sure they are online and available.

    For more information, see zpool(1M).

For more information about these ZFS file system enhancements, see the ZFS Administration Guide.

uid_t and gid_t Type Changes

This developer tools enhancement is new in the Developer 9/07 release.

Starting with this release, the uid_t and gid_t types have been changed from long (32-bit binaries) and int (64-bit binaries) types to the uint32_t type. This type is used for both 32-bit and 64-bit binaries. This change promotes compatibility with other operating systems.

As part of changing the type of uid_t and gid_t, the Solaris implementation also reserves the uid_t and gid_t values that range from 231 to 232 - 2. The value 232 - 1 continues to be reserved for use as a sentinel value. Values that are assigned in this new range are temporary assignments made by the new identity mapping service. Note that, these values do not persist over a system reboot. Therefore, applications should not write UID or GID values to persistent files in the file system. Nor should applications send these values across a network connection as a means of referring to a persistent identity. For persistence, use the corresponding identity name. Solaris utilities, such as the tar command, and the NFSv4 network protocol, already follow these best practices.

Because the new and old uid_t and gid_t types occupy the same amount of space, existing binaries are not affected. For example, binaries that are compiled with older definitions. In these instances, there is no need to recompile the code. Binaries, object files, as well as shared libraries including libraries that are linked against Solaris shared libraries, are also not affected.

The impact of these changes are as following:

  • For Newly-compiled C binaries – When code is recompiled, standard development practices should catch any problems that are caused by changes in the uid_t and gid_t type. In cases where the change of sign might have implications for the semantics of the code, the C compiler and, or, the lint process produce certain warnings. Developers should note that any warnings generated as a result of this change should be inspected.

  • For C++ code – As part of the function's symbol name, C++ compilers employ a technique that is called “name mangling”. This technique encodes the primitive type names that are used in function call signatures. The change in the uid_t and gid_t type results in different name mangling for C++ functions and objects.

    As with C binaries, C++ binaries and libraries continue to function as before. The exception is when libraries contain interfaces that use uid_t and gid_t.

    The Solaris OS does not expose C++ interfaces of this nature. Therefore, no incompatibilities with Solaris libraries are expected.

    For details on the consequences of this change, including warnings, see Changes to uid_t and gid_t Types in the Developer 9/07 Release in Solaris Express Developer Edition Release Notes.

Locale Creator

This language support enhancement is new in the Developer 9/07 release.

Locale Creator is a command line and Graphical User Interface tool which enables users to create and customize Solaris locales. This tool enables users to create installable Solaris packages containing customized locale data of a specific locale. Once the created package has been installed, the user has a fully working locale available on the system. For more information, see:

x86: MONITOR and MWAIT CPU Idle Loop

This kernel functions enhancement is new in the Developer 9/07 release.

The Solaris OS uses the SSE3 MONITOR and MWAIT instructions in x86 processor idle loop. Using the SSE3 instructions in the processor idle loop eliminates the overhead of sending and receiving an interrupt to wake up a halted processor. MONITOR is used to specify a memory range to “monitor”. MWAIT halts the processor until the address previously specified with MONITOR is accessed. With the new idle loop a processor only has to write to memory to wake up a halted processor.

IPsec and IKE Are Managed as SMF Services

This networking enhancement is new in the Developer 9/07 release.

Starting with this release, the service management facility (SMF) manages IPsec and IKE as a set of services:

  • svc:/network/ipsec/policy:default

  • svc:/network/ipsec/ipsecalgs:default

  • svc:/network/ipsec/manual-key:default

  • svc:/network/ipsec/ike:default

By default, the policy and ipsecalgs services are enabled, and the manual-key and ike services are disabled. For traffic to be protected by IPsec, configure either manual keying or IKE, and populate the /etc/inet/ipsecinit.conf file. This enables the appropriate key management service before refreshing the policy service. For more information, see Chapter 19, IP Security Architecture (Overview), in System Administration Guide: IP Services.

The Network IPsec Management profile is added for managing IPsec in a role. Also, the ipsecconf and ipseckey commands can check the syntax of their respective configuration files. For more information, see the ipsecconf(1M) and ipseckey(1M) man pages.

CPU Caps

This system resources enhancement is new in the Developer 9/07 release.

CPU caps provide absolute fine-grained limits on the amount of CPU resources that can be consumed by a project or a zone. CPU caps are provided as a zonecfg resource, and as project and zone-wide resource controls.

  • The zonecfg capped-cpu resource provides an absolute limit on the amount of CPU that can be consumed by a project or a zone.

  • The following resource controls are available:

    zone.cpu-cap

    Absolute limit on the amount of CPU resources that can be consumed by a non-global zone.

    project.cpu-cap

    Absolute limit on the amount of CPU resources that can be consumed by a project.

For more information, see the following:

iSNS Support in the Solaris iSCSI Target

This device management enhancement is new in the Developer 9/07 release.

This Solaris release provides support for the Internet Storage Name Service (iSNS) protocol in the Solaris iSCSI target software. The iSNS protocol enables automated discovery, management, and configuration of iSCSI devices on a TCP/IP network.

Currently, the Solaris iSCSI software does not include native iSNS server support, but in this Solaris release, you can use the iscsitadm command to add access to an existing iSNS server to automatically discover the iSCSI devices in your network. The iSNS server can be specified by hostname or IP address. After you add the iSNS server information, you will need to enable access to the server.

For more information, see iscsitadm(1M) and Chapter 14, Configuring Solaris iSCSI Targets and Initiators (Tasks), in System Administration Guide: Devices and File Systems.

SPARC: Shared Contexts Support

This system performance enhancement is new in the Developer 9/07 release.

The context mechanism, which is used by the Memory Management Unit (MMU) hardware to distinguish between the use of the same virtual address in different process address spaces, introduces some inefficiencies when shared memory is used. The inefficiencies are because the data at a particular shared memory the address in different processes may really be identical, but the context number associated with each process is different. Therefore, the MMU hardware will not be able to recognize a match. This results in mappings being unnecessarily evicted from the MMU translation cache, Translation Lookaside Buffer (TLB), to be replaced by identical mappings with a different context number.

The UltraSPARC T2 (Niagara 2) system has an additional “shared” context, which is a hardware feature which can be used to prevent the inefficiency in handling shared memory. When the TLB is searched for mapping a match on either the private or the shared context results in a TLB hit. The current software support for shared context activates the feature for processes which use Dynamic Intimate Shared Memory (DISM). In this case the process text segment and DISM segments mapped at the same virtual address and with the same permissions for each process will use the shared context.

x86: CPUID-based Cache Hierarchy Awareness

This system performance enhancement is new in the Developer 9/07 release.

Modern Intel processors provide an interface for discovering information about the processor's cache hierarchy through the CPUID instruction.

Flash Update Tool

This system administration enhancement is new in the Developer 9/07 release.

fwflash(1M) is a new Solaris command for the manipulation of firmware for PCI-X, and PCI-Express HBA and HCA cards. Currently the command enables listing, reading, and writing the firmware for the InfiniBand HCA cards.

For more information about this command, see the fwflash(1M) man page.

The audit_user(4) Database Is Not Access-restricted

This security enhancement is new in the Developer 9/07 release.

The audit_user(4) database is no longer an access-restricted database. Existing Network Information Service Plus (NIS+) name servers can be updated with the command:

# nischmod nw+r audit_user

Ensure the following conditions:

  • The SolarisAuditUser object class entries should be publicly readable. Existing LDAP directory name servers should not modify the SolarisAuditUser object class entries, SolarisAuditAlways and SolarisAuditNever acis, from the default, idsconfig(1M).

  • If the /usr/lib/ldap/idsconfig file has customized acis for the SolarisAuditAlways and SolarisAuditNever object class entries, the customized acis should allow anonymous read access.

Creating a new NIS name server using the installed ypmake(1M) creates an unrestricted audit_user database. Similarly, creating a new NIS+ name server using nissetup(1M) also creates an unrestricted audit_user database.

For more information, see the following:

x86: Graphics Support for i945 and i965 Cards

This driver enhancement is new in the Developer 9/07 release.

Starting with this release, 2-D and accelerated 3-D graphics are supported for Intel integrated i945 and i965 series graphics cards. This support includes the kernel agpgart and Direct Rendering Manager (DRM) drivers, user level Xorg DDX drivers and corresponding Mesa 3–D drivers.

The graphics support feature enables high resolution and accelerated 3–D rendering on the i945 and i965 graphics cards.

rge Driver

This driver enhancement is new in the Developer 9/07 release.

Starting with this release, support is provided for the RTL8110SC/RTL8169SC chipset in the Realtek Gigabit Ethernet driver rge.

x86: bnx II Ethernet Driver

This driver enhancement is new in the Developer 9/07 release.

Starting with this release, support is provided for the Broadcom NetXtreme (bnx) II Ethernet chipset, which includes BRCM5706C, BRCM5706S, BRCM5708C, and BRCM5708S.

For more information, see the bnx(7D) man page.

x86: Ralink RT2500 802.11b/g Wireless Driver

This driver enhancement is new in the Developer 9/07 release.

Starting with this release, a new wireless driver ral is integrated into the Solaris OS. The new driver provides support for the Ralink RT2500 802.11b/g chipset. The driver increases the coverage of WiFi support in Solaris and enhances user experience on Solaris WiFi.

For more information, see http://opensolaris.org/os/community/laptop/.

x86: RealTek 8180L 802.11b Wireless Driver

This driver enhancement is new in the Developer 9/07 release.

Starting with this release, rtw(7D) is the driver for RealTek 8180L 802.11b PCMCIA wireless adapter. The driver increases the coverage of WiFi support in Solaris and enhances user-experience on Solaris WiFi.

For more information, see the following:

x86: 3945 WiFi Driver

This driver enhancement is new in the Developer 9/07 release.

The new 3945 WiFi driver supports the Intel Centrino 3945 WiFi chip. The new driver is useful to laptop users with the 3945 chip in them.

libchewing 0.3.0

This language support enhancement is new in the Developer 9/07 release.

Chewing input method (IM) is based on libchewing which is an open source library for Traditional Chinese input. libchewing has been upgraded to the libchewing 0.3.0 version. Some of the features of the new version include:

  • Incompatibility with API/ABI.

  • UTF-8 based language engine core for common Unicode environment.

  • UTF-8 based language engine core for common Unicode environment.

  • UTF-8 based language engine core for common Unicode environment.

  • Zuin fixes and symbol improvements.

  • Some fixed internal memory management bugs and leaks.

  • New binary-form of user hash data to speed up loading and solving hash data corruption.

  • Better calculating of internal tree and phone constants.

  • Revised tsi.src for richer phrases and avoiding crashes.

  • Merge phone and phrase from CNS11643.

  • Improved Han-Yu PinYin to use table-lookup implementation.

  • Experimental frequency-evaluation which recomputes chewing lifetime.

  • Implementation of the choice mechanism for symbol pairs.

  • Experimental memory-mapping based binary data handling to speed up data loading.

For further information, see the International Language Environments Guide.

C-URL Wrappers Library

This freeware enhancement is new in the Developer 9/07 release.

C-URL is a utility library that provides programmatic access to the most common Internet protocols such as HTTP, FTP, TFTP, SFTP, and TELNET. C-URL is also extensively used in various applications.

For more information, see http://curl.haxx.se/.

Libidn - Internationalized Domain Library

This freeware enhancement is new in the Developer 9/07 release.

Libidn provides implementations of the Stringprep (RFC 3454), Nameprep (RFC 3491), Punycode (RFC 3492) and IDNA (RFC 3490) specifications. This library provides new functionality and facilities to the Solaris OS.

For more information, see the following:

LibGD - The Graphics Draw Library

This freeware enhancement is new in the Developer 9/07 release.

LibGD is a graphics conversion and manipulation utility library. This library is used extensively in web-based application frameworks. The command line utilities of LibGD provide easy-to-use graphics conversion facilities.

For more information, see http://www.libgd.org/.

Perl-Compatible Regular Expressions

This freeware enhancement is new in the Developer 9/07 release.

PCREs enable programmatic access to Perl-Compatible Regular Expressions. Prior to PCRE, Perl regular expressions were only available through Perl.

For more information, see http://www.pcre.org/.

TIDY HTML Library

This freeware enhancement is new in the Developer 9/07 release.

TIDY is a HTML parser. It is the HTML equivalent of lint(1). TIDY is useful in validating the accuracy of static and dynamic HTML pages.

For more information, see http://tidy.sourceforge.net/.

Previous Next