Migrating from Solaris 10 to OpenSolaris
One of the goals of the OpenSolaris operating system is to be minimal - to fit on one CD, downloadable for people who do not have the bandwidth to download gigabytes of data. This means that many applications that are installed with the Solaris OS or with other operating systems that you might be used to are not installed with the OpenSolaris OS, although most of these applications and tools are quite readily available and easy to obtain IPS (Image Packaging System) package repositories.
Another goal of the OpenSolaris OS is to present an environment that is more familiar to Linux users.
This page attempts to describe differences between the Solaris 10 OS and the OpenSolaris OS and how you can get your OpenSolaris environment set up the way you want it.
Help
For help with the OpenSolaris OS, see the following resources:
- Learn OpenSolaris
- Use OpenSolaris
- OpenSolaris Forums
- Select the Start Here shortcut on your OpenSolaris desktop
- On your OpenSolaris desktop, click your right mouse button, and select the Help option from the pop-up menu to display the Desktop User Guide
Getting Started
- Getting Started With OpenSolaris 2009.06
- OpenSolaris 2009.06 Package Manager screencast
- OpenSolaris 2009.06 Image Packaging System Guide
- Package Management Comparison: comparison of Solaris IPS commands with Linux apt-get commands
- OpenSolaris Update Manager
- OpenSolaris System Administration Guide
- Setting Up Your Development Environment on OpenSolaris
- Introduction to the Solaris Developer Documentation
New Features
The OpenSolaris OS contains many new features that are not available in the Solaris 10 OS. These new features include an easy-to-use graphical installation experience, ZFS as the default root file system, rollback via ZFS snapshots and Time Slider, fast reboot, AMP stack with integrated DTrace probes, a network-based image package management system (IPS) with access to a full suite of software, the ability to more easily update between releases of the operating system, and a more familiar environment for users who are familiar with Linux operating environments.
Some of these changes are summarized in the following table and described more fully below.
| Component | Solaris 10 | OpenSolaris | More Information |
|---|---|---|---|
| Hardware | x86 and SPARC | x86 and SPARC | |
| Media | 6 CDs or 1 DVD | 1 Live CD | Use package repository to get more |
| Default user shell | /usr/bin/sh | /usr/bin/bash | Default shell |
| Default user path | /usr/bin before GNU | GNU before /usr/bin | Default path |
| Default desktop | JDS | GNOME | Default desktop |
| Default X server | Xsun | Xorg | Default X server |
| Default file system | UFS | ZFS | Default file system |
| Additional software | Companion CD | Image Packaging System | Additional software |
| CD path | /cdrom | /media | |
| Upgrade | Solaris Live Upgrade | Image Update | Upgrade differences |
| Reboot | Fast Reboot | Using Fast Reboot | |
| Binary compatibility | guarantee | Binary compatibility | |
| Root login | Allowed | RBAC | Root login |
| Sun Ray Server Software | Supported | Coming soon | Sun Ray Server Software |
Differences in Default Environments
Default Shell
Of course, you can change your shell to whatever you like, but note that the default shell for the Solaris 10 OS and the OpenSolaris OS are different.
- Solaris 10: /usr/bin/sh
- OpenSolaris: /usr/bin/bash
In the OpenSolaris OS, /bin/sh is implemented by ksh93, specifically /usr/bin/i86/ksh93.
To change your default shell, use the -s shell option of the usermod(1M) command (or the useradd(1M) command if you are adding a new user).
To get more information about a shell, enter, for example:
$ man sh
Default Path
Of course, you can change your path as you like, but note that the default path for the Solaris 10 OS and the OpenSolaris OS are different.
- Solaris 10: The /usr/bin/ path is listed before the /usr/gnu/bin/ path.
- OpenSolaris: The /usr/gnu/bin/ path is listed before the /usr/bin/ path.
This change could cause you to access tools and utilities that are slightly different from the ones you are familiar with. For example, when you access grep, by default you get /usr/bin/ggrep (/usr/gnu/bin/grep is a link to /usr/bin/ggrep) instead of /usr/bin/grep.
Default Desktop
The default desktop for OpenSolaris 2009.06 is GNOME 2.24.0. For more information, see the Desktop User Guide. On your OpenSolaris desktop, click your right mouse button, and select the Help option from the pop-up menu.
Motif is not part of the OpenSolaris OS base distribution.
CDE is not open source and the binaries are not re-distributable, so they cannot be included in the OpenSolaris OS.
One of the primary goals of the OpenSolaris OS is to make sure all software is re-distributable. As much software as possible is included on the Live CD, but you need to get additional software from package repositories.
Default X Server
The default X server for the OpenSolaris OS is the Xorg X server. Xorg support is provided for x86 local graphics devices.
The Xsun X server is obsolete. The Xsun server for the X Window System might not be included in a future release of the Solaris OS. Features found in Xsun but not in Xorg, such as Display Postscript and X Image Extension (XIE), also might not be included in a future release of the Solaris OS.
The dtlogin(1X) display manager is not part of the OpenSolaris OS base distribution.
Default Root File System
The default root file system for the OpenSolaris OS is ZFS. ZFS can snapshot the file system, enabling you to easily revert changes, for example, if a you decide your current development experiment isn't working and you would like to reset your entire system to a prior state. For more information, see the following resources:
- OpenSolaris ZFS Community and the OpenSolaris ZFS Documentation
- ZFS snapshot visualization in GNOME
- ZFS Basics screencast shows snapshot and rollback, mirroring
- Time Slider demo
- Setting Up Automated Backups
Additional Software
For the Solaris 10 OS, additional software comes on the Companion CD. For the OpenSolaris OS, additional software is available for one-click download and install from software package repositories.
For the Solaris 10 OS, utilities from the Solaris 10 companion CD are installed into /usr/sfw.
For the OpenSolaris OS, these utilities from the package repository are installed into /usr/bin.
Find and Install More Applications
The easiest way to search a package repository or list all installed packages or all packages that have updates available is to use the Package Manager tool that comes with the OpenSolaris OS. For information about how to use the Package Manager, see OpenSolaris 2009.06 Package Manager screencast and Package Manager for OpenSolaris 2009.06. The Package Manager utility is available as a shortcut on the desktop ("Add More Software"), as an icon in the desktop menu bar, and from the System menu in the desktop menu bar (System > Administration > Package Manager). Package Manager enables you to show all packages in the selected repository or a subset of packages. You can choose a category of packages to list such as All, Applications, Development, Web Services, and others. You can choose to list all packages, all installed packages, all packages that have updates available. You can search for packages, and you can easily install, update, or remove packages.
The Image Packaging System (IPS) command line interface (CLI) also is easy to use. See OpenSolaris 2009.06 Image Packaging System Guide.
Package Repositories
For descriptions of some of the available package repositories, see How To Add IPS Repositories.
For a list of development tools that are available for the OpenSolaris OS, see Application Development Packages. To see the complete list of packages that are installed with the OpenSolaris 2009.06 OS, go to http://src.opensolaris.org/source/xref/pkg/gate/src/util/distro-import/111a/slim_cluster.
To see the list of all packages that are available for you to install, use the Package Manager GUI or go to http://pkg.opensolaris.org/.
You can install existing Solaris packages in the OpenSolaris OS. The pkgadd(1M) command and associated SVR4 packaging utilities are provided for backward compatibility.
Upgrading OpenSolaris Compared to Upgrading Solaris 10
Upgrading the OpenSolaris OS and upgrading the Solaris 10 OS and Updates are similar processes. Both upgrade systems create a clone of your boot environment, upgrade the clone, and enable you to choose which boot environment you want to use.
The Solaris 10 OS and Updates use an upgrade system called Solaris Live Upgrade. Solaris Live Upgrade consists of a set of tools that enable you to create an alternate boot environment that is a copy of the current boot environment. You can then upgrade or patch the newly created boot environment while the system is running. After the copy is upgraded or patched, the new boot environment can be booted. Beginning in Solaris 10 10/08 (Update 6), Solaris Live Upgrade can migrate from a UFS file system to a ZFS file system. Also, you can create new boot environments in a ZFS root pool.
The OpenSolaris OS has an upgrade system that is similar to Solaris Live Upgrade. The OpenSolaris OS uses the Update Manager (System > Administration > Update Manager) utility, the Package Manager Update All option, the pkg image-update command, or the beadm(1M) command to upgrade. See OpenSolaris Update Manager and Using Different OpenSolaris Boot Environments. When you upgrade your OpenSolaris OS, a new boot environment is created, and the new boot environment is upgraded and is the new default choice on the GRUB menu when you reboot. The original boot environment is available on the GRUB menu if fallback is needed. This is all done in ZFS file systems.
The benefits of using either of these upgrade systems are the following:
- Decrease downtime. The only downtime is the time to boot between the currently running boot environment and the newly upgraded or patched boot environment. Upgrading or patching is not done on the currently running boot environment, so the system can remain in production until the timing is suitable to boot to the newly upgraded or patched boot environment.
- Fall back to the original boot environment. If a problem occurs, you can boot back to the original boot environment. You reactivate the original boot environment and reboot. The updates do not need to be removed.
A clone of the boot environment includes everything hierarchically under the main root dataset of the original boot environment. Shared file systems are not under the root dataset and are not cloned. Instead, the boot environment accesses the original shared file systems. An older boot environment is not a backup. To back up and restore your data files, see Setting Up Automated Backups.
For more information, see:
- OpenSolaris Update Manager
- Using Different OpenSolaris Boot Environments
- "Upgrading and Migrating With Solaris Live Upgrade to a ZFS Root Pool" in Solaris 10 10/08 Installation Guide: Solaris Live Upgrade and Upgrade Planning
Binary Compatibility
The Solaris 10 OS has a binary compatibility guarantee.
For the OpenSolaris OS, you will not have a problem if you use standard public system interfaces. However, scripting, default shell, and post-install packaging have changed.
Root Login
Root login is not enabled either on the Live CD or on the installed system. The OpenSolaris OS sets root to be a role using the Solaris RBAC (Roles Based Authentication) framework and is intentionally set up to prevent direct root login if another user is present. You must log in as the user that you created during the installation. After you log in, you can then become root. See "User Accounts and Roles" in Getting Started With OpenSolaris 2009.06 for more information.
For temporary privileged access, use the pfexec command. See Creating a Zone for usage examples. See "Introducing pfexec, a Convenient Utility in the OpenSolaris OS" for more information. See also the following man pages: profiles(1), sh(1), exec_attr(4), prof_attr(4), user_attr(4), attributes(5).
Sun Ray Server Software
The OpenSolaris OS is not yet supported by the Sun Ray product. Currently, SRSS depends on Xsun. See Default X Server. See also the Sun Ray Community wiki.


Comments (1)
Nov 18, 2008
pkasper says:
I really like this document. Won't this be useful for both Developers and Sys A...I really like this document. Won't this be useful for both Developers and Sys Admins? If there are no objections, I'd like to link to this from the Admin landing page.