Solaris 11 upgrade, to Solaris 11.1
I recently had the need to upgrade some Solaris 11 machines, to the newer
version of Solaris, 11.1
There are instructions on
however, I found them difficult to follow.
I've thus put together a streamlined procedure of how to get from an older
Solaris 11, to the newer one.
Working from the Oracle public repository
Instructions in this section presume that you have set your solaris
repository to the public repo, or some equivalent(perhaps a local one, or
perhaps the support one. Doesn't matter). If you need to reset it,
a quick way to replace all other solaris repos is:
# pkg publisher >~/pkg.publisher.save
# pkg set-publisher -O http://pkg.oracle.com/solaris/release
Solaris 11 has a magic package, that locks in the "pkg" program to only
install packages associated with a particular version of Solaris.
This is called the "entire" package. Check your version of it,
with "pkg list entire".
The output should look something like the following:
$ pkg list entire
NAME (PUBLISHER) VERSION IFO
entire 0.5.11-0.175.0.13.0.4.0 i--
What you most care about, is the four fields under VERSION, to the right
There are two main categories of Solaris 11 installs: Those older than
"0.175.0.10", and those newer.
Requirements for older versions of Solaris 11
If your version of the "entire" package, is older than 0.175.0.10, you
first have to update specifically to that version. To do that, you should
use the following command:
pkg update --accept email@example.com,5.11-0.175.0.10
Once this has completed, you must first reboot
, before continuing
The next step is to update your pkg pkg. (no that's not a typo).
pkg update pkg
Once this is accomplished, you can at last move on to the final update
Requirements for more recent versions of Solaris 11
If your version of the "entire" package, is 0.175.0.10 or newer, you
can in theory upgrade to Solaris 11.1, by simply doing
pkg update --accept
This will create a new BE for you, with a very generic name, unless you
choose to override it with an extra pkg flag, such as "--be-name sol11_1",
Once you have done this, and rebooted, your machine should now be at
Solaris 11.1, as shown by either
$ uname -v
or noticing that the output of "pkg list entire" will show a version of
It should be noted that unlike subpoint releases like Solaris 2.5.1, the
output of "uname -r" will not show the point release.
You must use either "uname -v", or "uname -a", to see 11.1 mentioned
Older Solaris 11, and downloaded repositories
Oracle allows downloading of its repositories to a local server, for those
who are bandwidth constrained. There are two separate downloadable repos:
1 for "pre-0.175.0.10" systems, and then the more general solaris 11.1
Some people have had difficulty attempting to merge the two, even though
it should be possible. As such, it is
probably simpler to mount the update repo (sol-11_1-upgrade-repo.iso)
as its own separate repo, update from that, and then change your pkg
publisher configuration to point to a newer one, once that intermediate
upgrade is complete.
Some errors, and solutions, I have run into:
No update happening
If you are at the correct version of "entire" (greater than 0.175.0.10),
AND you have verified that your repo actually has the newer version,
but "pkg update" won't show you any updates available to upgrade to Solaris
11.1 (aka rev 0.175.1),
try forcing the update to the newer version, with
# pkg update --accept firstname.lastname@example.org,5.11-0.175.1.0
### (or perhaps 0.175.1.1 now)
Complaints about dns/bind
If you see
Creating Plan \
pkg update: The installed package network/dns/bind is not permissible.
This is technically a known issue, mentioned on the page above.
The simplest way to fix it, particularly if you don't actively run a BIND
name service, is to just remove the dns/bind package, then do the update
root@its-zones6:~# pkg uninstall dns/bind
root@its-zones6:~# pkg update --accept email@example.com,5.11-0.175.1.0
This material is copyrighted by
Bolthole Top -
Solaris Top -