Utilisez la commande pkg freeze pour contraindre une version de package.
Si aucune version n'est fournie dans l'opérande du package, le package nommé doit être installé, et il est limité à la version installée sur le système. Si la version est fournie dans l'opérande du package, cette contrainte ou ce blocage agit comme si une dépendance incorporate avait été installée là où l'attribut fmri avait la valeur de la version du package fourni.
Lorsqu'un package figé est installé ou mis à jour, sa version doit correspondre à celle à laquelle il a été figé. Par exemple, si un package a été figé à la version 1.2, il peut être mis à jour vers 1.2.1, 1.2.9, 1.2.0.0.1, et ainsi de suite. Ce package ne peut pas avoir un numéro de version correspondant à 1.3 ou 1.1.
Un éditeur spécifié dans le package opérande est utilisé pour trouver des packages correspondants. Cependant, les informations de l'éditeur ne sont pas enregistrées dans le cadre de l'opération de blocage. Un package est figé par rapport à sa version uniquement, et non son éditeur.
Le blocage d'un package qui est déjà figé remplace la version figée par la nouvelle version spécifiée.
Si aucun package n'est spécifié, les informations suivantes relatives aux packages actuellement figés s'affichent : noms de package, de version figée, date du blocage du package et la raison pour laquelle le package a été figé.
Le fait de figer un package n'empêche pas la suppression du package. Aucun avertissement n'est affiché si le package est supprimé.
Dans l'exemple suivant, le package est figé à la version installée. L'argument d'option -c est la cause du blocage du package. La raison est affichée si un blocage empêche l'installation ou la mise à jour de réussir. La lettre "f" qui s'affiche dans la liste de packages indique que le package est figé.
$ pkg freeze -c "Downgrade to avoid bug" library/security/openssl library/security/openssl was frozen at 1.0.0.10-0.175.1.0.0.18.0:20120611T201116Z $ pkg freeze NAME VERSION DATE COMMENT library/security/openssl 1.0.0.10-0.175.1.0.0.19.0:20120625T171753Z 29 Jul 2012 17:45:44 PDT Downgrade to avoid bug $ pkg list library/security/openssl NAME (PUBLISHER) VERSION IFO library/security/openssl 1.0.0.10-0.175.1.0.0.18.0 if-
Lorsque vous essayez d'installer une version différente du package figé, un message s'affiche rappelant le blocage.
$ pkg update library/security/openssl@1.0.0.10-0.175.1.0.0.20.0 Creating Plan (Solver setup): - pkg update: No matching version of library/security/openssl can be installed: Reject: pkg://solaris/library/security/openssl@1.0.0.10,5.11-0.175.1.0.0.20.0:20120709T180243Z Reason: This version is excluded by a freeze on library/security/openssl at version 1.0.0.10,5.11-0.175.1.0.0.18.0:20120611T201116Z. The reason for the freeze is: Downgrade to avoid bug
Un blocage n'est jamais annulé automatiquement par le système d'empaquetage. Utilisez la commande pkg unfreeze permettant de supprimer les contraintes imposées par le blocage des packages spécifiés. Les versions éventuellement fournies sont ignorées.