Repositorio Software

Aunque hay varias opciones para crear el repositorio para realizar un update la recomendación es utilizar un servidor que sirva como repositorio único para todos los servidores reales o virtuales. Este servidor para el repositorio puede ser un servidor virtual o ldom exclusivo para mantenimiento y servidor de repositorio.

La ventaja es que, con una única instalación, publicamos internamente la misma versión para todos los servidores reales y virtuales.

Descarga del software

En el siguiente link se puede ver la información de todas las versiones del sistema operativo Solaris:

Solaris 11.4

Solaris 11.3 y anteriores

Se debe tener en cuenta que hace falta un contrato de soporte para descargar el software. La opción que debemos escoger es la opción Repository en la columna IPS repository. A continuación seleccionamos Oracle Solaris on SPARC (64-bit) y descargamos todos los ficheros ZIP.

Una vez descargados todos los ficheros ZIP se descomprimen en la carpeta que tengamos designada para está versión.

Repositorio local al servidor

Se crea un ZFS exclusivo para el software de la nueva versión.

# mkdir /repos
# zfs create -o compression=on rpool/repos/repo11.4.77
# zfs list
NAME                       USED  AVAIL  REFER  MOUNTPOINT
rpool                     14.7G   168G    94K  /rpool
rpool/repos/repo11.4.77    31K   168G    31K  /repos/repo11.4.77

A continuación se copian los ficheros descargados en /repos/repo11.4.77 y se descomprimen con el comando unzip.

Por último se configura el repositorio para que esté listo para el update.

# pkg set-publisher -p /repos/repo11.4.77 solaris
# pkg publisher
PUBLISHER                   TYPE     STATUS P LOCATION
solaris                     origin   online F file:///repos/repo11.4.77/

Servidor de repositorios

El repositorio puede publicarse para que, desde otros servidores, se pueda montar el repositorio con la nueva versión. Esto evita el tener que replicar el software de la nueva versión en todos los servidores. Una vez publicado externamente todos los servidores virtuales y reales pueden montar el repositorio con un sencillo comando.

El primer paso es crear un nuevo servicio del tipo pkg/server

# svccfg
svc:> select pkg/server
svc:/application/pkg/server> list
:properties
default
svc:/application/pkg/server> add s11.4.77
svc:/application/pkg/server> select s11.4.77
svc:/application/pkg/server> setprop pkg/address=127.0.0.1
svc:/application/pkg/server:s11.4.77> setprop pkg/inst_root=/repos/repo11.4.77
svc:/application/pkg/server:s11.4.77> setprop pkg/log_access=/var/log/repo-server/repoS11.4.77_access
svc:/application/pkg/server:s11.4.77> setprop pkg/log_errors=/var/log/repo-server/repoS11.4.77_errors
svc:/application/pkg/server:s11.4.77> setprop pkg/port=82
svc:/application/pkg/server:s11.4.77> setprop pkg/threads=100
svc:/application/pkg/server:s11> unselect
svc:/application/pkg/server> 
svc:/application/pkg/server> list
:properties
default
s11.4.77
svc:/application/pkg/server> refresh
svc:/application/pkg/server> exit
#

El puerto elegido debe ser diferente al puerto 80 y diferente a cualquier puerto ya utilizado. Se pueden configurar varios servicios con distintas versiones seleccionando un puerto diferente para cada versión. Por último se activa el servicio.

# svcadm refresh pkg/server:s11.4.77
# svcadm enable pkg/server:s11.4.77

Ya en el resto de servidores se puede configurar el nuevo repositorio con el siguiente comando.

$ pkg set-publisher -g http://reposerver:82/ solaris

El servidor virtual o real se comunica con el servidor de repositorios utilizando el protocolo http.