Cómo crear un Repositorio IPS Local en Solaris 11 (Guía de Superusuario)
Tabla de contenido
Repositorio IPS Local (Image Packaging System)
En el ecosistema de infraestructura en México, especialmente bajo las normativas, es imperativo que los servidores productivos operen en zonas de red aisladas (air-gapped). La seguridad es la prioridad, pero esto suele convertirse en un dolor de cabeza cuando necesitas instalar dependencias o parches críticos de seguridad.
Para mantener la paz mental del SysAdmin, la solución no es abrir el firewall, sino implementar un Repositorio IPS Local. En esta bitácora, aprenderás a automatizar el servicio de paquetes en Solaris 11.4, asegurando que tu infraestructura sea soberana y cumpla con los estándares de residencia y control de datos.
[Análisis] El reto de operar sin Internet
Un servidor sin salida a WAN es un servidor protegido, pero también es un servidor difícil de mantener. En Solaris, el sistema de empaquetado IPS (Image Packaging System) depende nativamente de repositorios remotos. Configurar un repositorio local nos permite:
-
Cumplimiento Regulatorio: No violar políticas de seguridad perimetral.
-
Velocidad de Despliegue: Instalaciones a velocidad de red local (Gbps vs Mbps).
-
Consistencia: Asegurar que todos los nodos de un clúster tengan exactamente las mismas versiones de librerías.
[Paso 1] Requisitos y Descargas de Oracle
Para este procedimiento de infraestructura real, necesitamos los archivos fuente. Asegúrate de contar con al menos 15GB a 20GB de espacio libre en el sistema de archivos donde vivirá el repo.
Descarga desde el portal de soporte de Oracle (requiere cuenta) los siguientes elementos para Solaris 11.4:
Es común que un servidor productivo no cuente con acceso a Internet por motivos de seguridad, sin embargo, esto luego resulta ser un inconveniente cuando se requiere instalar paquetes y sus respectivas librerías, para el caso de Solaris (y en sistemas Linux en general) podemos optar por generar un repositorio local con todo el servicio automatizado.
[PASO 1] Descarga de componentes desde Oracle Support
Para ello es necesario descargar algunos archivos desde Oracle (Se requiere una cuenta)
install-repo.ksh(El script de orquestación)- sol-11_4-repo_1of5.zip
- sol-11_4-repo_2of5.zip
- sol-11_4-repo_3of5.zip
- sol-11_4-repo_4of5.zip
- sol-11_4-repo_5of5.zip
release de Solaris. Mezclar versiones en un entorno regulado es una receta para el desastre en producción.[Paso 2] Construcción del Repositorio Local
Una vez copiados los archivos al servidor, procedemos con la creación del contenedor y la descompresión automatizada.
1. Crear la carpeta donde vivirá todo el repositorio /repo
# mkdir /repo
2. Establecemos permisos de ejecución al script de instalación
# chmod +x install-repo.ksh
3. Ejecutamos el script de descompresión y verificación de integridad
./install-repo.ksh -d /repo -v
[epcl_box type=»information»]
Uso del script
install-repo.ksh -d dest [-s zipsrc] [-i image-name] [-c] [-v] [-I]
-d dest = Directorio de destino para contener el repositorio
-s zipsrc = Ruta completa al directorio que contiene archivos zip. Predeterminado: directorio actual
-i image = Nombre de la imagen: e.j. sol-11_2. Predeterminado: nombre encontrado en el directorio
-c = Comparar sumas de comprobación de archivos zip descargados
-v = Verificar el repositorio después de descomprimir
-I = Crear una imagen ISO
[/epcl_box]
[Paso 3] Configuración del Publisher
Ahora debemos indicarle al sistema que deje de buscar en los servidores globales de Oracle y mire hacia nuestro nuevo almacenamiento local.
1. Accedemos a la ruta donde descomprimimos los archivos
cd /repo
2. Verificamos el contenido de la carpeta
ls –l -rw-r--r-- 1 root root 347 Jun 25 05:25 pkg5.repository -rwxr-xr-x 1 root root 5970 Jun 25 10:15 README-repo-iso.txt -rw-r--r-- 1 root root 1625 Jun 25 10:15 NOTICES -rw-r--r-- 1 root root 3246 Jun 25 10:15 COPYRIGHT drwxr-xr-x 3 root root 3 Aug 10 20:41 publisher
3. Revisamos quién es el publisher actual (normalmente el remoto)
pkg publisher PUBLISHER TYPE STATUS P LOCATION solaris origin online F http://pkg.oracle.com/solaris/release/
4. Establecemos el nuevo repositorio local eliminando los anteriores
pkg set-publisher -G '*' -M '*' -g file:///repo solaris
5. Verificamos que el origen (LOCATION) apunte ahora a nuestra ruta local
pkg publisher PUBLISHER TYPE STATUS P LOCATION solaris origin online F file:///repo/
[Paso 4] Persistencia del Servicio y Refresh del Daemon
Para que el sistema de paquetes sea resiliente, actualizamos las propiedades del servicio y reiniciamos el daemon pkg.depotd.
1. Actualizamos la ruta raíz del servidor de paquetes
svccfg -s application/pkg/server setprop pkg/inst_root=/UAIPS/repo
2. Reiniciamos la configuración
# svcprop -p pkg/inst_root application/pkg/server
3. Actualizamos el daemon pkg.depotd
# svcadm refresh application/pkg/server
Con esto, el comando pkg install ahora buscará las librerías en tu propio disco, sin necesidad de un solo bit de salida a internet.
[Extra] Volver al Repositorio Global (Bridge)
Si por mantenimiento o actualización mayor necesitas conectar el servidor a la red global de Oracle temporalmente, usa este comando (requiere tus certificados de soporte):
[epcl_box type=»information»]Se requiere conexión a Internet para poder ejecutar el comando[/epcl_box]
# pkg set-publisher -k /var/pkg/ssl/Oracle_Solaris_11_Support.key.pem -c /var/pkg/ssl/Oracle_Solaris_11_Support.certificate.pem -g https://pkg.oracle.com/solaris/support/ -G http://pkg.oracle.com/solaris/release/ solaris
Verificamos el repositorio activo
# pkg publisher PUBLISHER TYPE STATUS URI solaris origin online https://pkg.oracle.com/solaris/support/
Conclusión
Muchos proveedores te dirán que «la nube es la solución» y que todo debe estar conectado. Pero el SysAdmin realista sabe que en México, la seguridad física y lógica de los datos a menudo requiere este tipo de arquitecturas aisladas. Implementar un repositorio IPS local no es un paso atrás, es un paso adelante en el control total de tu infraestructura.



Deja una respuesta