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.
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
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.
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.
$ mount -F hsfs ./sol-11_2-incr-repo.iso /mnt
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
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.
$ 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.
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.
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
$ zfs snapshot rpool/export/IPSpkgrepos/Solaris@S11U2SRU1
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
Cuando crea que el repositorio actualizado funciona correctamente, puede eliminar el repositorio antiguo.
$ zfs destroy rpool/export/IPSpkgrepos/Solaris_old