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:
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:
If you are currently running OpenIndiana Hipster 2015, the main publisher should be set to:
Before upgrading from a new release repository, your system should be updated to the latest revision of the current release:
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:
You may want to update your packages fully in case of a bad pkg cache:
You can now identify what will be upgraded by issuing the command:
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:
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.
Update may fail due to a conflict triggered by a bug in pkg(5):
Edit /etc/ssh/sshd_config (for example, add empty line) and retry updating.
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)