En está página os mostraremos los pasos para realizar una actualización del software de Solaris. Para ello primero tenemos que hacer disponible el software de la nueva versión de solaris. Esto está explicado en la página Repositorio Software que también indica el comando en el servidor que se quiere actualizar para hacer referencia al respositorio con la nueva versión.
Comprobaciones previas
El primer paso es hacer una serie de comprobaciones para asegurar un correcto proceso de actualización del software. El primer paso es comprobar a qué versión se va a realizar la actualización.
# pkg info -r entire
Name: entire
Summary: entire incorporation including Support Repository Update (Oracle
Solaris 11.4.84.201.1).
Description: This package constrains system package versions to the same
build. WARNING: Proper system update and correct package
selection depend on the presence of this incorporation.
Removing this package will result in an unsupported system. For
more information see:
https://support.oracle.com/rs?type=doc&id=2433412.1
Category: Meta Packages/Incorporations
State: Not installed
Publisher: solaris
Version: 11.4 (Oracle Solaris 11.4.84.201.1)
Branch: 11.4.84.0.1.201.1
Packaging Date: August 4, 2025 at 11:12:06 PM
Size: 2.52 kB
FMRI: pkg://solaris/entire@11.4-11.4.84.0.1.201.1:20250804T231206Z
#
La opción «-r» indica la versión más alta disponible en los repositorios. En este ejemplo se puede ver que se va a realizar una actualización a la versión 11.4.84.
A continuación vamos a realizar una prueba de actualización
# pkg update -nv
Esta comprobación se puede realizar en cualquier momento ya que no modifica el sistema, solo es una prueba para comprobar si tendríamos errores en la actualización. Si esta prueba de actualización finaliza sin errores podemos continuar con las pruebas previas.
# fmadm faulty
# svcs -xv
# zpool status -xv
all pools are healthy
#
Estas pruebas comprueban si hay fallos en el sistema, servicios con errores o problemas en el almacenamiento. Si todo va bien comprobamos el espacio disponible
# zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
app-pool 4.34T 2.37T 1.97T 54% 1.00x ONLINE -
rpool 1.09T 231G 881G 20% 1.00x ONLINE -
#
El pool rpool debe tener, por lo menos, 30 GB libres.
Si todo está correcto podemos proceder al update.
Update del sistema
El comando para realizar el update se muestra a continuación. El comando creará un nuevo boot enviroment con el nombre sol11.4.84. Podemos elegir cualquier nombre para este boot enviroment.
# pkg update --be-name sol11.4.84 --accept
Packages to remove: 325
Packages to install: 133
Packages to update: 516
Packages to change: 1
Mediators to change: 10
Create boot environment: Yes
Activate boot environment: Yes
Name of boot environment: sol11.4.84
Create backup boot environment: No
....
DOWNLOAD PKGS FILES XFER (MB) SPEED
Completed 975/975 60449/60449 1072/1072 4.1M/s
PHASE ITEMS
Removing old actions 58874/58874
Installing new actions 48924/48924
Updating modified actions 31368/31368
Updating package state database Done
Updating package cache 841/841
Updating image state Done
Creating fast lookup database Done
Updating package cache 1/1
A clone of sol114sru25 exists and has been updated and activated.
On the next boot the Boot Environment be://rpool/sol11.4.84 will be
mounted on '/'. Reboot when ready to switch to this updated BE.
Updating package cache 1/1
#
Después de un perido de varias decenas de minutos el proceso termina con dos boot enviroments. El activo con la versión actual y uno nuevo con la nueva versión y que será activo en el siguiente reinicio. Por lo tanto reiniciamos el servidor
# shutdown -i6 -g0
Una vez reiniciado comprobamos que todo está correcto. Con el comando beadm podemos ver el boot enviroment antiguo y el nuevo con la nueva versión que es el activo.
# beadm list
BE Name Flags Mountpoint Space Policy Created
------------ ----- ---------- ------ ------ ----------------
sol11.4.42 - - 2.26G static 2020-10-19 22:44
sol11.4.84 NR / 15.13G static 2025-09-08 10:05
#
Comprobamos la versión actual. Sin la opción «-r».
# pkg info entire
Name: entire
Summary: entire incorporation including Support Repository Update (Oracle
Solaris 11.4.84.201.1).
Description: This package constrains system package versions to the same
build. WARNING: Proper system update and correct package
selection depend on the presence of this incorporation.
Removing this package will result in an unsupported system. For
more information see:
https://support.oracle.com/rs?type=doc&id=2433412.1
Category: Meta Packages/Incorporations
State: Not installed
Publisher: solaris
Version: 11.4 (Oracle Solaris 11.4.84.201.1)
Branch: 11.4.84.0.1.201.1
Packaging Date: August 4, 2025 at 11:12:06 PM
Size: 2.52 kB
FMRI: pkg://solaris/entire@11.4-11.4.84.0.1.201.1:20250804T231206Z
#
También comprobamos que todo está correcto
# fmadm faulty
# svcs -xv
# zpool status -xv
all pools are healthy
#
Y que queda suficiente espacio en rpool
# zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
app-pool 4.34T 2.37T 1.97T 54% 1.00x ONLINE -
rpool 1.09T 231G 881G 20% 1.00x ONLINE -
#
Si todo está correcto, la actualización del sistema, estará terminada.
Vuelta atrás
Puede ocurrir que, con la nueva versión, el sistema no funcione correctamente y sea necesario volver a la versión anterior. El procedimiento es activar el boot enviroment anterior y reiniciar.
# beadm activate sol11.4.42
# init 6
Una vez reiniciado el sistema se volverá al estado anterior a la actualización de software.