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 https://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 https://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 https://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.
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 https://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 https://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 https://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 https://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 https://tidy.sourceforge.net/.