Solaris 11 is binary compatible to Solaris 10 and application binaries are working well on Solaris 11. It's as well different to Solaris 10 (surprise...) and Solaris 11 Express since it's providing all the innovation which happened in the last 6 years. Users who are deeply entrenched with Solaris 10 (like me) have to cope with a number of changes which have the following background
New Solaris 11 Philosophies
Generational Change in regards of UNIX Search Paths
Solaris 10 is adhering to the first Unix generation (1970- mid nineties) command philosophy
- I use commands and shells dependent on my personal preference
- Software is being installed in many different places on the system.
- I configure my command search path and precedence depend on my personal need in my login environments
- I'm maintaining all my individual settings on new systems and accounts.
- I grew up with csh and sh
This first generation of Unix users has been succeeded by users who grew up with Linux and Windows systems. Their approach is different:
- I'm familiar with the GNU tools
- I expect all important commands to be found in /usr/bin
- bash or ksh are the shells of my preference
- I'm less familiar with account and system specific environment configuration. New software will introduce itself to /usr/bin
Solaris 11 is embracing this new generation of users
OS Boundaries: What can I expect to be found on my System?
Solaris 10 has been a traditional operation system which got installed by most users from a DVD with three major choices
- Solaris 10 Runtime only
- Full OS
- Full OS plus OEM
Adding packages to Solaris has been a more heavy weight process:
- Find install medium with the correct processor architecture
- Copy it to system
- Add System V package (cross fingers and hope that all dependencies are being met)
- Go back to step one if your packages requested more packages
Solaris 11 comes with the Image Packaging Systems (IPS) which allows to
- simplify the discovery and installation process through online network repositories
- enforces and supports automatic installation of all required and dependent packages
- increase the security of an installation by only installing the components required to perform the job
The one and only downside for software and scripts written for Solaris 10 is that some packages are not guaranteed to be installed upfront. Application developers of applications are strongly advised to check the existence of all required components before installation. IPS itself will be happy to answer these questions. Installing your software trough IPS technology itself is actually the way to go.
Solaris 10 has been configured in such a way that it installed System V commands as "preferred" commands. XPG4 standardized commands have been installed by default in order to adhere to standards. BSD commands have been installed for backward compatibility reasons. GNU tools didn't belong to the standard installation.
Solaris 11 is following the philosophy that all important commands can be found in /usr/bin and the GNU tools are being installed by default. XPG4 compliant commands are now as well in the default location. BSD commands (/usr/ucb) are deprecated and their usage is being discouraged by making the package optional. The BSD commands are however available and supported.
Mitigating the Changes
The general problem of most users is, that they don't care a lot for the origin of a command. They check the different flavors. They use the first command which is solving the problem and they move on with their life...
The Solaris engineering did an outstanding job in rearranging the directories, commands and soft and hard links in such a way that almost everything works like before.
The collection below is an incomplete, yet growing list of technical articles which help to implement applications in a uniform way to operate them on Solaris 10 and Solaris 11 with a single source base.