Upgrading from OpenSolaris 2009.06 to OpenIndiana
I’ve written up instructions for this on the OpenIndiana Wiki, but am still seeing a number of questions on how to do this, so thought I’d stick a quick post up here as well, covering how to upgrade from OpenSolaris 2009.06 to OpenIndiana.
The first thing to remember is that, unlike lesser operating systems, Boot Evironments (BEs) mean that you an upgrade with impunity – if it all goes wrong, you just reboot, select the previous working BE, and carry on.
The majority of people will have OpenSolaris 2009.06, the last OpenSolaris distribution. This release snv_111, which wasn’t the last OpenSolaris project release. Confused? We all are.
The direct upgrade from snv_111 to OpenIndiana is problematic – a lot of things have changed, not least the updates to the packaging system. So this needs to be done in two stages – first, update to snv_134 (which would have become the OpenSolaris 2010.03/05/whatever distribution) and then jump to OpenIndiana (oi_147).
So, the first step is to tell OpenSolaris to look at the snv_134 repository hosted by OpenIndiana:
pfexec pkg set-publisher -O http://pkg.openindiana.org/legacy opensolaris.org
This is a snapshot of Sun’s snv_134 repository – as I’m not sure how long that will hang around, it’s best to go through the OpenIndiana repos instead.
Next, we need to tell OpenSolaris to do an image update – basically, dig through the list of local packages, the list of packages in the new repo, find the updates, and then install them:
pfexec pkg image-update
Once image-update has finished, you can reboot your machine. The new BE will have been selected as the default, so your machine should boot straight into snv_134.
Start up another terminal session, and we pretty much do the same thing.
pfexec pkg set-publisher --non-sticky opensolaris.org
pfexec pkg set-publisher -g http://pkg.openindiana.org/dev openindiana.org
Once we’ve setup which repos to use, we then need to tell pkg that we’d prefer to use the OpenIndiana ones:
pfexec pkg set-publisher -P openindiana.org
Then we purge anything old, and do a full image-update:
pfexec pkg uninstall entire
pfexec pkg image-update
Once again image-update will do it’s thing, and at the end you’ll be asked to reboot. You’ll find OpenIndiana now on the boot menu – enjoy!
Note that at every stage, you can reboot, select your old or previous BE from the boot menu, and boot back into a known, working environment. This makes testing updates and new releases much less hazardous, and means it’s very easy to get stuck in and try out OpenIndiana for yourself.