Copia y creación de repositorios de paquetes en Oracle® Solaris 11.2

Salir de la Vista de impresión

Actualización: Septiembre de 2014
 
 

Cómo actualizar un repositorio de paquetes IPS local


Notas -  No es necesario realizar este procedimiento si utiliza el svc:/application/pkg/mirror servicio SMF para actualizar periódicamente el repositorio. Consulte Cómo copiar un repositorio de Internet de forma automática para obtener instrucciones sobre cómo utilizar el servicio de reflejo.
  1. Realice una instantánea de ZFS del repositorio del paquete.

    Asegúrese de que dispone de una instantánea actual del repositorio que se va a actualizar.

    $ zfs list -t all -r rpool/export/IPSpkgrepos/Solaris
    NAME                                          USED  AVAIL  REFER  MOUNTPOINT
    rpool/export/IPSpkgrepos/Solaris             17.6G  78.4G    34K  /export/IPSpkgrepos/Solaris
    rpool/export/IPSpkgrepos/Solaris@initial         0      -  17.6G  -

    Si ya dispone de una instantánea del repositorio, utilice el comando zfs diff para comprobar si la instantánea es la misma que el conjunto de datos del repositorio.

    $ zfs diff rpool/export/IPSpkgrepos/Solaris@initial
    $

    Si el comando zfs diff no produce ninguna salida, la instantánea es la misma que su conjunto de datos principal, y puede utilizarla instantánea para la actualización.

    Si el comando zfs diff genera una salida, o si no dispone de una instantánea del repositorio, realice una nueva instantánea como se muestra en el paso 6 de Step 6 in Cómo copiar un repositorio de Internet de forma explícita. Utilice esta nueva instantánea para la actualización.

  2. Realice una clonación ZFS del repositorio del paquete.

    Clone la instantánea para crear una copia del repositorio que puede actualizar.

    $ zfs clone rpool/export/IPSpkgrepos/Solaris@initial rpool/export/IPSpkgrepos/Solaris_tmp
    $ zfs list -r rpool/export/IPSpkgrepos/Solaris/
    NAME                                          USED  AVAIL  REFER  MOUNTPOINT
    rpool/export/IPSpkgrepos/Solaris             17.6G  78.4G    34K  /export/IPSpkgrepos/Solaris
    rpool/export/IPSpkgrepos/Solaris@initial         0      -  17.6G  -
    rpool/export/IPSpkgrepos/Solaris_tmp           76K  78.4G  17.6G  /export/IPSpkgrepos/Solaris_tmp
  3. Actualice la clonación ZFS del repositorio del paquete.

    De la misma manera que creó el repositorio original desde un archivo o desde una ubicación HTTP, puede actualizar un repositorio desde un archivo o desde una ubicación HTTP.

    • Actualice desde un archivo zip.

      Consulte Example 2–2. Si el destino especificado ya contiene un repositorio de paquetes, el contenido del archivo zip se agrega al contenido del repositorio existente.

    • Actualice desde un archivo ISO.
      1. Monte la imagen ISO.
        $ mount -F hsfs ./sol-11_2-incr-repo.iso /mnt
      2. Copie el contenido del archivo ISO al clon del repositorio.

        Utilice rsync o tar como se muestra en Cómo copiar un repositorio desde un archivo iso.

        $ rsync -aP /mnt/repo/ /export/IPSpkgrepos/Solaris_tmp
      3. Desmonte la imagen ISO.
    • Actualice desde un repositorio.

      Copie el contenido desde otro repositorio al clon del repositorio. Si va a copiar desde un sitio seguro, asegúrese de que el certificado SSL y la clave requeridos estén instalados, y especifique las opciones del certificado y la clave.

      $ pkgrecv -s https://pkg.oracle.com/solaris/support \
      -d /export/IPSpkgrepos/Solaris_tmp \
      --key /path-to-ssl_key --cert /path-to-ssl_cert '*'

      Consulte la página del comando man pkgrecv(1) para obtener más información sobre el comando pkgrecv. Solamente se actualizan los paquetes que han cambiado, de modo que el tiempo para actualizar el repositorio puede ser mucho menor que el tiempo para rellenar el repositorio original. Consulte las sugerencias de rendimiento en Consideraciones de rendimiento para la copia de repositorios.

      Si la operación pkgrecv se interrumpe, siga las instrucciones en Reanudación de una recepción de paquete interrumpida.

  4. Sustituya el repositorio que está funcionando por el clon actualizado.
    $ svcadm disable -st pkg/server:solaris
    $ zfs promote rpool/export/IPSpkgrepos/Solaris_tmp
    $ zfs rename rpool/export/IPSpkgrepos/Solaris rpool/export/IPSpkgrepos/Solaris_old
    $ zfs rename rpool/export/IPSpkgrepos/Solaris_tmp rpool/export/IPSpkgrepos/Solaris

    Consulte la página del comando man svcadm(1M) para obtener más información sobre el comando svcadm.

  5. Verifique el repositorio actualizado.

    Utilice el comando pkgrepo verify para verificar el repositorio actualizado. Consulte la página del comando man pkgrepo(1) para obtener más información sobre los comandos pkgrepo verify y pkgrepo fix.

  6. Catalogue los paquetes nuevos y actualice los índices de búsqueda.

    Catalogue los paquetes nuevos encontrados en el repositorio recientemente actualizado y actualice todos los índices de búsqueda.

    $ pkgrepo refresh -s rpool/export/IPSpkgrepos/Solaris
  7. Realice una instantánea ZFS del clon recientemente actualizado del repositorio de paquetes.
    $ zfs snapshot rpool/export/IPSpkgrepos/Solaris@S11U2SRU1
  8. Reinicie el servicio de la SMF.

    Si está proporcionado el repositorio a través de una interfaz HTTP, reinicie el servicio SMF. Asegúrese de especificar la instancia de servicio correspondiente al reiniciar el servicio.

    $ svcadm restart pkg/server:solaris
  9. Elimine el repositorio antiguo.

    Cuando crea que el repositorio actualizado funciona correctamente, puede eliminar el repositorio antiguo.

    $ zfs destroy rpool/export/IPSpkgrepos/Solaris_old