Es una de las operaciones más frecuentes. Habitualmente cada mes Oracle genera una nueva versión del sistema operativo Solaris con nuevas funciones y con la resolución de determinados problemas. Aunque un update mensual es algo exagerado, la recomendación de actualización del sistema es de uno o dos updates al año. Para recibir mensualmente las nuevas versiones es necesario un contrato de soporte con Oracle.
Pruebas previas
Versión actual
root@server:~# pkg info entire
Repositorios
root@server:~# pkg publishers
PUBLISHER TYPE STATUS URI
solaris origin online http://pkg.oracle.com/solaris11/release/
root@server:~#
Versión disponible en los repositorios.
root@server:~# pkg info -r entire
Se puede probar la nueva versión sin realizar el update. Esta prueba se suele hacer con anterioridad para comprobar que no hay problemas con la nueva versión
root@server:~# pkg update -nv
Este comando comprueba la actualización del software sin aplicarla.
Comprobar que no hay problemas hardware o software
root@server:~# fmadm faulty
root@server:~#
Comprobar que no hay servicios caídos
root@server:~# svcs -xv
root@server:~#
Espacio libre en rpool
root@server:~# zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
rpool 186G 75.2G 111G 40% 1.00x ONLINE -
Debemos tener más de 30G libres en rpool para evitar que se llene durante el proceso de actualización.
Actualización del software
Antes de comenzar se crea un nuevo boot enviroment que puedes servir para volver al estado previo si hay problemas. Normalmente, el comando de actualización, crea automáticamente un boot enviroment previo al update, pero por si acaso es mejor que también lo creemos nosotros
root@server:~# beadm create sol11.4.54prev
Este boot enviroment guarda el estado del zpool rpool donde está instalado el sistema operativo. No afecta a ningún otro zpool.
Para realizar la actualización se ejecuta el siguiente comando. Se crea un boot enviroment con el nombre sol11.4.72 en el que estará la nueva versión.
root@server:~# pkg update --accept --be-name sol11.4.72
Una vez terminado sin errores, para que aplique el nuevo boot enviroment es necesario reiniciar el sevidor
root@server:~# init 6
Una vez reiniciado el sistema arrancará con el nuevo boot enviroment activo y la nueva versión.
Chequeos posteriores
Comprobar la nueva versión
root@server:~# pkg info entire
Comprobar que no hay fallos
root@server:~# fmadm faulty
Comprobar que no se han caído ningún servicio
root@server:~# svcs -xv
Vuelta atrás
En el caso de que encontremos problemas podemos volver a la versión anterior gracias al boot enviroment que hemos salvado al principio. Lo primero es activar el boot enviroment
root@server:~# beadm activate sol11.4.54prev
A continuación reiniciamos el servidor para volver al estado cuando se creo el boot enviroment.
init 6
Esto afecta exclusivamente al zpool rpool que es donde está instalado el sistema operativo. No afecta a ningún otro zpool