Installing a Package Into a New Boot Environment

Tip:

Explicitly specifying a new BE is the safest way to install or update. See Boot Environment Policy Image Properties for information about when BEs are created.

The new BE is a clone of the current BE with the specified install, uninstall, or update changes applied. The current BE is not modified. The system is not automatically restarted. The new BE is the default boot selection the next time you restart the system. The current BE is still available to be booted.

If you specify the --no-be-activate option, the new BE is not the default boot selection the next time you reboot.

Use the --be-name option to force a new BE to be created or to give the new BE a meaningful name if a new BE would be created by default.

The example in Previewing Package Installation showed that a new BE would not be created by default when you install the oracle-rdbms-server-18c-preinstall package. In the following partial output, a new BE is created because the --be-name option is specified:

$ pkg install --be-name rdbms oracle-rdbms-server-18c-preinstall
           Packages to install:   4
       Create boot environment: Yes
Create backup boot environment:  No

The number of packages to install is still only four because the new BE starts as a copy of the current BE.

The following message displays at the end of the installation operation:

A clone of 11.4.0 exists and has been updated and activated.
On the next boot the Boot Environment be://rpool/rdbms will be
mounted on '/'.  Reboot when ready to switch to this updated BE.

The pkg list command reports that the oracle-rdbms-server-18c-preinstall package is not installed because the oracle-rdbms-server-18c-preinstall package is not installed in the current BE. The oracle-rdbms-server-18c-preinstall package is installed in the new rdbms BE.

$ pkg list oracle-rdbms-server-18c-preinstall
pkg list: no packages matching the following patterns are installed:
  oracle-rdbms-server-18c-preinstall

Use the beadm list command to check that the system has a new active BE named rdbms. The N BE is currently booted. The R BE is the default on reboot. Use the beadm activate command to change which BE is the default on reboot.

$ beadm list
BE Name          Flags Mountpoint Space   Policy Created
---------------- ----- ---------- ------- ------ ----------------
11.4.0           N     /          221.09M static 2018-07-24 15:18
rdbms            R     -          18.93G  static 2018-08-06 12:37

Check that the oracle-rdbms-server-18c-preinstall package is installed in the new BE. Mount the new BE, and use the -R option to operate on the mounted BE. The i in the I column indicates that the oracle-rdbms-server-18c-preinstall package is installed.

$ beadm mount rdbms /mnt
$ beadm list
BE Name          Flags Mountpoint Space   Policy Created
---------------- ----- ---------- ------- ------ ----------------
11.4.0           N     /          221.09M static 2018-07-24 15:18
rdbms            R     /mnt       18.93G  static 2018-08-06 12:37
$ pkg -R /mnt list oracle-rdbms-server-18c-preinstall
NAME (PUBLISHER)                                             VERSION              IFO
group/prerequisite/oracle/oracle-rdbms-server-18c-preinstall 11.4-11.4.0.0.1.10.0 i--

Remember to unmount the rdbms BE.

$ beadm unmount rdbms

If you continue to work in the current BE and make changes to the image configuration, you will see reminders such as the following because the current BE is not the activated BE:

WARNING: The boot environment being modified is not the active one.  Changes
made in the active BE will not be reflected on the next boot.