Upgrading to a more recent release may require using a new repository and may require a few update steps to satisfy intermediate dependencies.

Remove extra or legacy publishers

If you currently have the opensolaris.org publisher set, we would highly recommend unsetting it by running:

# pfexec pkg unset-publisher opensolaris.org

If you use SFE packages, you may need to uninstall them and unset the publishers as such packages may not satisfy dependencies required with newer repositories.

Upgrade to the latest revision of the current repository

If you are currently running OpenIndiana oi_147 or oi_148, the main publisher should be set to:

# pfexec pkg publisher
PUBLISHER                             TYPE     STATUS   URI
openindiana.org          (preferred)  origin   online   http://pkg.openindiana.org/dev/

If you are currently running OpenIndiana Hipster 2015, the main publisher should be set to:

# pfexec pkg publisher
PUBLISHER                             TYPE     STATUS   URI
openindiana.org          (preferred)  origin   online   http://pkg.openindiana.org/hipster-2015/

Before upgrading from a new release repository, your system should be updated to the latest revision of the current release:

# pfexec pkg image-update -v

For example, if your system uses the 'hipster-2015' repository, you need to update to the latest revision before updating to more recent ''hipster'.

Set the publisher to the new repository

If your openindiana.org publisher is set to a different URI, for example http://pkg.openindiana.org/dev/ (the development branch), you can correct this with:

# pfexec pkg set-publisher -O http://pkg.openindiana.org/hipster/ openindiana.org

Upgrade

You may want to update your packages fully in case of a bad pkg cache:

# pfexec pkg refresh --full

You can now identify what will be upgraded by issuing the command:

# pfexec pkg image-update -nv

The -n flag specifies to perform no action (i.e. perform a trial run), and the -v flag is the verbose option, to provide additional output.

If you are satisfied with the actions to be taken, you can perform the upgrade by typing:

# pfexec pkg image-update -v

You may want to consider also passing the "--be-name" flag to give the new boot environment created a more memorable name, such as hipster-201610.

Known issues

SSH

Update may fail due to a conflict triggered by a bug in pkg(5):

Action upgrade failed for 'etc/ssh/sshd_config' (pkg://openindiana.org/service/network/ssh):
TypeError: 'NoneType' object is not callable

Edit /etc/ssh/sshd_config (for example, add empty line) and retry updating.

Reference:

https://www.openindiana.org/2016/08/29/possible-ssh-update-issue/

CIFS

NOTE: After booting into the new BE, for servers running the in-kernel CIFS service (svc:/network/smb/server:default) in conjunction with AD, the service may fail to connect to your Active Directory domain controller running Windows Server 2008 R2, and thus clients will not be able to connect to network shares.

The solution is to set the lmauthlevel to 4:

sharectl set -p lmauth_level=4 smb

(previously on b148 and lower this needed to be set to level 2 to work correctly with Win2K8R2)