Utilice el comando pkg verify para validar la instalación de paquetes en la imagen. Si la política de firmas actual para los editores relacionados no es ignore, las firmas de cada paquete se validan en función de la política. Consulte Propiedades de imágenes para paquetes firmados para obtener una explicación de cómo se aplican las políticas de firmas. La verificación del contenido de paquetes instalados se basa en un análisis de contenido personalizado que podría devolver resultados distintos de los de otros programas.
Si no proporciona un nombre de paquete, se examinan todos los paquetes instalados. La opción -v proporciona mensajes informativos, al menos una línea para cada paquete instalado. En el siguiente ejemplo, se muestra únicamente una pequeña muestra de la salida. La instalación del paquete pkg/depot tiene un error.
$ pkg verify -v PACKAGE STATUS pkg://solaris/archiver/gnu-tar OK pkg://solaris/audio/audio-utilities OK pkg://solaris/benchmark/x11perf OK ... pkg://solaris/package/pkg/depot ERROR dir: var/cache/pkg/depot Group: 'pkg5srv (97)' should be 'bin (2)' file: var/log/pkg/depot/access_log editable file has been changed file: var/log/pkg/depot/error_log editable file has been changed ... pkg://solaris/security/sudo OK file: etc/sudoers editable file has been changed ... pkg://solaris/x11/xlock OK pkg://solaris/x11/xmag OK pkg://solaris/x11/xvidtune OK
Utilice el comando pkg fix para solucionar los errores del paquete informados por el comando pkg verify.
La salida de pkg verify muestra que los componentes del paquete sudo instalado son distintos a los componentes empaquetados, pero estas diferencias no se informan como errores de validación. pkg fix no realiza cambios. El archivo /etc/sudoers no se reemplaza.
$ pkg fix pkg://solaris/security/sudo No repairs for this image.
Si elimina el archivo /etc/sudoers, falla la validación del paquete y pkg fix reemplaza el archivo.
$ pkg fix pkg://solaris/security/sudo Verifying: pkg://solaris/security/sudo ERROR file: etc/sudoers Missing: regular file does not exist Created ZFS snapshot: 2014-03-13-22:05:42 Repairing: pkg://solaris/security/sudo Creating Plan (Evaluating mediators): DOWNLOAD PKGS FILES XFER (MB) SPEED Completed 1/1 1/1 0.0/0.0 990B/s PHASE ITEMS Updating modified actions 1/1 Updating package state database Done Updating package cache 0/0 Updating image state Done Creating fast lookup database Done
Únicamente se reemplaza el archivo faltante, como lo indica el único archivo descargado y la única acción (file) modificada. No se modificó otro contenido del paquete sudo. La operación guardó una instantánea de la instalación actual antes de realizar la reparación. Consulte la línea “Created ZFS snapshot” en la salida de pkg fix. La reparación se realizó en la imagen actual.
$ zfs list -r rpool/ROOT/s11 NAME USED AVAIL REFER MOUNTPOINT rpool/ROOT/s11 16.3G 22.5G 26.1G / rpool/ROOT/s11@2014-03-13-23:52:19 249M - 26.1G -
La salida de pkg verify muestra un error en la propiedad de un directorio en el paquete pkg/depot instalado. La salida de pkg fix muestra únicamente el error en la sección "Verifying". El resto de las diferencias con los componentes empaquetados no se muestran.
$ ls -ld /var/cache/pkg/depot drwxr-xr-x 3 pkg5srv pkg5srv 3 Dec 2 19:47 /var/cache/pkg/depot/ $ pkg fix pkg://solaris/package/pkg/depot Verifying: pkg://solaris/package/pkg/depot ERROR dir: var/cache/pkg/depot Group: 'pkg5srv (97)' should be 'bin (2)' Created ZFS snapshot: 2014-03-13-22:18:52 Repairing: pkg://solaris/package/pkg/depot Creating Plan (Evaluating mediators): PHASE ITEMS Updating modified actions 1/1 Updating package state database Done Updating package cache 0/0 Updating image state Done Creating fast lookup database Done
La siguiente salida muestra que únicamente se corrigió el error. El resto de las diferencias entre los componentes instalados y empaquetados permanecen.
$ ls -ld /var/cache/pkg/depot drwxr-xr-x 3 pkg5srv bin 3 Dec 2 19:47 /var/cache/pkg/depot/ $ pkg verify -v pkg://solaris/package/pkg/depot PACKAGE STATUS pkg://solaris/package/pkg/depot OK file: var/log/pkg/depot/access_log editable file has been changed file: var/log/pkg/depot/error_log editable file has been changed