miércoles, 18 de febrero de 2015

Creación de repositorio Solaris 11.3

Para la creación del repositorio de Solaris 11 necesitamos descargar los paquetes en la siguiente ruta (se requiere usuario y password para la descarga).



Para la práctica se utilizará una máquina virtual con Solaris 11.3 x86 instalado.
Los archivos descargados desde Oracle deben colocarse en una carpeta dentro de la máquina virtual, en nuestro caso utilizamos /var/tmp.



Los archivos de install-repo.ksh y MD5 Checksums, deben crearse con con el editor VI y con los nombres que se muestran a continuación:


-rwxr-xr-x   1 admin    staff      11612 Jul  7 12:53 install-repo.ksh
-rw-r--r--   1 admin    staff    1475997866 Jul 25 20:19 p23635596_1100_Solaris86-64_1of3.zip
-rw-r--r--   1 admin    staff    1625430414 Jul 25 20:21 p23635596_1100_Solaris86-64_2of3.zip
-rw-r--r--   1 admin    staff    1136404052 Jul 25 19:59 p23635596_1100_Solaris86-64_3of3.zip
-rw-r--r--   1 admin    staff      46854 Jul 26 02:08 p23635598_1100_Solaris86-64.zip
-rw-rw-r--   1 admin    staff      73527 Jul 19 16:46 readme-11_3_10_5_0.html
-rw-rw-r--   1 admin    staff      54031 Jul 19 16:46 readme-11_3_10_5_0.txt
-rw-r--r--   1 admin    staff       3922 Jul  7 12:53 README-zipped-repo.txt

-rw-r--r--   1 admin    staff        207 Jul  7 13:09 sol-11_3_10_5_0-incr-repo_md5sums.txt

Se debe crear una carpeta donde se guardará el repositorio, en nuestro caso creamos la carpeta siguiente: 


admin@reposol11:~$ mkdir /TECNIUX/repo

El siguiente paso es ejecutar el script para la creación del repositorio, el uso del comando se muestra a continuación:

USAGE:
install-repo.ksh -d dest [-s zipsrc] [-i image-name] [-c] [-v] [-I] [-y]

-d dest   = destination directory to hold repository
-s zipsrc = full path to directory holding zip files. default: current directory
-i image  = name of image: e.g. sol-11_2-repo. default: name found in directory
-c        = compare checksums of downloaded zip files
-v        = verify repo after unzipping (minimum Solaris 11.1.7 required)
-I        = create an ISO image
-y        = add to existing repository without prompting for yes or no. Use
            with caution.

Destination directory will contain top-level ISO files including README.
Repository is directly under destination.
ISO image is created in current directory, or zipsrc directory from -s argument.


En nuestro caso utilizamos la siguiente sintaxis:

$ sudo ./install-repo.ksh -d /TECNIUX/repo -I -c -v

La salida es muy similar a la siguiente:

Comparing checksums of downloaded files...done. Checksums match.
IPS repository exists at destination /tank/repos/dev
Current version: 0.175.3.0.0.25
Do you want to add to this repository? (y/n) y
Uncompressing sol-11_3-repo_1of5.zip...done.
Uncompressing sol-11_3-repo_2of5.zip...done.
Uncompressing sol-11_3-repo_3of5.zip...done.
Uncompressing sol-11_3-repo_4of5.zip...done.
Uncompressing sol-11_3-repo_5of5.zip...done.
Repository can be found in /tank/repos/dev.
Initiating repository rebuild.
Initiating repository verification.
Building ISO image...done.
ISO image can be found at:
/tank/downloads/sol-11_3-repo.iso
Instructions for using the ISO image can be found at:
/tank/repos/dev/README-repo-iso.txt

Para comprobar la versión de repositorio utilizamos el siguiente comando:


admin@reposol11:~$ pkgrepo -s /TECNIUX/repo info
PUBLISHER PACKAGES STATUS           UPDATED

solaris   5891     online           2016-07-26T15:20:22.693447Z

El siguiente paso es configurar el publisher para que apunte al repositorio local que hemos creado:


admin@reposol11:~$ pkg set-publisher -G '*' -M '*' -g file:///TECNIUX/repo solaris

Comprobamos que el publisher apunta hacia el repositorio local:

admin@reposol11:~$ pkg publisher
PUBLISHER                   TYPE     STATUS P LOCATION
solaris                     origin   online F file:///TECNIUX/repo/

El siguiente paso consiste en validar las actualizaciones de paquetes disponibles, al usar la opción -n se realiza la comprobación de paquetes sin aplicarlos:

admin@reposol11:~$ sudo pkg update -n
Password: 
No updates available for this image.

* En este caso ya se encuentra actualizada por lo cual no reporta paquetes adicionales.

Al terminar la actualización se realiza un reboot, posteriormente es posible comprobar versiones a través del siguiente comando:

admin@reposol11:~$ pkg info entire 
             Name: entire
          Summary: entire incorporation including Support Repository Update (Oracle Solaris 11.3.10.5.0).
      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=2045311.1
         Category: Meta Packages/Incorporations
            State: Installed
        Publisher: solaris
          Version: 0.5.11 (Oracle Solaris 11.3.10.5.0)
    Build Release: 5.11
           Branch: 0.175.3.10.0.5.0
   Packaging Date: July  6, 2016 06:45:49 PM 
             Size: 5.46 kB
             FMRI: pkg://solaris/entire@0.5.11,5.11-0.175.3.10.0.5.0:20160706T184549Z

El siguiente paso consiste en dar permisos al repositorio para que otros equipos puedan utilizarlo, esta configuración se encuentra en el siguiente link Permiso server externo a repositorio local

REFERENCIAS: Estas referencias contienen muchos detalles útiles adicionales a la información que tenemos aquí. 
  • http://www.unixarena.com/2014/08/solaris-11-ips-repository-issues-and-fixes.html
  • https://docs.oracle.com/cd/E36784_01/html/E36802/tspkginstall.html











    





No hay comentarios.:

Publicar un comentario