Utilisez la commande pkg verify pour valider l'installation des packages sur l'image actuelle. Si la stratégie de signature en cours pour les éditeurs concernés n'est pas ignore, les signatures de chaque package sont validées en fonction de cette stratégie. Reportez-vous à Propriétés de l'image pour les packages signés pour une explication de la manière dont les stratégies de signature sont appliquées. La vérification du contenu des packages installés repose sur une analyse de contenu personnalisée dont les résultats peuvent différer de ceux des autres programmes.
Si vous ne fournissez pas un nom de package, tous les packages installés sont examinés. L'option -v fournit des messages d'information, au moins une ligne pour chaque package installé. L'exemple suivant présente uniquement un petit exemple de sortie. L'installation du package pkg/depot présente une erreur.
$ 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
Utilisez la commande pkg fix pour corriger les erreurs d'installation de package signalées par la commande pkg verify.
La sortie de pkg verify indique que des composants du package sudo installé sont différents des composants du package, mais ces différences ne sont pas signalés comme des erreurs de validation. La commande pkg fix n'apporte pas de modifications. Le fichier /etc/sudoers n' est pas remplacé.
$ pkg fix pkg://solaris/security/sudo No repairs for this image.
Si vous supprimez le fichier /etc/sudoers, la validation du package échoue, et le fichier est remplacé par pkg fix.
$ 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
Le fichier manquant est remplacé uniquement, comme indiqué par le fichier téléchargé le fichier et l'exécution d'une seule action (file ) a été modifiée. Le reste du contenu du package sudo reste intact. L'opération enregistre un instantané de l'installation en cours avant d'effectuer la réparation. Reportez-vous à la ligne "Instantané ZFS créée" dans la sortie pkg fix. La réparation a été effectuée sur l'image actuelle.
$ 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 sortie pkg verify affiche une erreur de propriété d'un répertoire dans le package pkg/depot installé. La sortie pkg fix affiche uniquement une erreur dans la section "Vérification". Les autres différences avec les composants en package ne sont pas affichées.
$ 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 sortie suivante indique que seul l'erreur a été corrigée. Les autres différences entre les composants en package et ceux installés subsistent.
$ 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