Ignorer les liens de navigation | |
Quitter l'aperu | |
Ajout et mise à jour de packages logiciels Oracle Solaris 11.1 Oracle Solaris 11.1 Information Library (Français) |
1. Introduction à Image Packaging System
3. Obtention d'informations sur les packages logiciels
4. Installation et mise à jour des packages logiciels
5. Configuration des images installées
Affichage des informations sur les éditeurs
Ajout, modification ou suppression des éditeurs de packages
Contrôle de l'installation des composants optionnels
Verrouillage de packages en une version spécifiée
Assouplissement des contraintes de version spécifiées par les incorporations
Spécification d'une implémentation d'application par défaut
Annulation de l'installation de certains packages compris dans un package de groupe
Meilleures pratiques de mise à jour d'images
Spécification de la version à installer
Spécification d'une contrainte de version avant la mise à jour
Imposition de contraintes sur les packages disponibles
Retour à la version antérieure d'une image
Options supplémentaires de la commande de mise à jour
Configuration des propriétés d'image et d'éditeur
Propriétés d'image de la stratégie d'environnement d'initialisation
Propriétés de signature de packages
Propriétés de l'image pour les packages signés
Propriétés de l'éditeur pour les packages signés
Configuration des propriétés de signature de package
Propriétés de l'image supplémentaires
Définitions des propriétés d'image
Affichage des valeurs des propriétés de l'image
Définition de la valeur d'une propriété d'image
Les logiciels peuvent avoir des composants optionnels et des composants incompatibles. Les environnements linguistiques et la documentation sont des exemples de composants optionnels. Les binaires SPARC ou x86 et les binaires de débogage et de non-débogage sont des exemples de composants incompatibles. Dans IPS, les composants optionnels sont appelés des facettes et les composants incompatibles sont appelés des variantes.
Les facettes et les variantes sont des propriétés spéciales définies sur l'image et des balises définies sur des actions au sein d'un package. La plupart des balises de variantes peuvent avoir plusieurs valeurs. Les balises de facettes définies sur une action peuvent uniquement avoir la valeur true. L'interaction des valeurs des balises de facettes et de variantes définies sur une action et des valeurs des facettes et des variantes définies sur l'image déterminent si l'action de package concernée peut être installée. Par exemple, si vous définissez sur false une facette d'environnement linguistique particulière, tous les fichiers ou autres actions qui spécifient cette facette ne seront pas installés, et les fichiers actuellement installés qui spécifient cette facette sont désinstallés.
Pour afficher les valeurs actuelles des facettes et des variantes définies sur l'image, exécutez les commandes pkg facet et pkg variant. Pour modifier les valeurs des facettes et variantes définies sur l'image, exécutez les commandes pkg change-facet et pkg change-variant. Reportez-vous à la page de manuel pkg(1) et aux exemples ci-dessous.
Chaque balise de facette et de variante possède un nom et une valeur. Une seule action peut avoir plusieurs balises de facettes et de variantes. Un fichier d'en-tête spécifique à une architecture utilisé par des développeurs ou un composant uniquement destiné à une zone globale SPARC sont des exemples de composants à balises de facettes et de variantes multiples.
variant.arch=sparc est un exemple de balise de variante. Voici un exemple de balise de facette : facet.devel=true. Il est souvent fait référence aux facettes et variantes sans les faire précéder de facet. et variant..
Les facettes sont booléennes : elles peuvent uniquement être définies sur true (activé) ou false (désactivé). Par défaut, toutes les facettes sont considérées comme définies sur true dans une image. Une balise de facette sur une action doit uniquement avoir la valeur true ; les autres valeurs ont des comportements indéterminés. Une facette définie sur l'image peut être une facette complète telle que doc.man ou un modèle tel que locale.*. L'intérêt de cette flexibilité est qu'elle vous permet de désactiver une partie de l'espace de noms d'une facette et de n'activer que des facettes individuelles en son sein. Par exemple, vous pouvez désactiver tous les environnements linguistiques, puis n'activer qu'un ou deux environnements linguistiques particuliers, comme illustré dans l'exemple suivant :
$ pfexec pkg change-facet 'locale.*=false' [output about packages being updated] $ pfexec pkg change-facet locale.en_US=true [output about packages being updated]
La plupart des variantes peuvent avoir un nombre de valeurs quelconque. Par exemple, il est possible de définir la variante arch sur i386, sparc, ppc, arm ou une autre architecture prise en charge par la distribution. (Seules les valeurs i386 et sparc sont utilisées dans Oracle Solaris.) Les variantes debug constituent une exception. Il est possible de définir les variantes debug uniquement sur true ou false. Toute autre valeur correspond à un comportement indéfini. Si une action sur un fichier présente à la fois des versions avec et sans débogage, il faut définir explicitement la variante debug pour les deux versions, comme illustré dans l'exemple suivant :
file group=sys mode=0644 overlay=allow owner=root \ path=etc/motd pkg.csize=115 pkg.size=103 preserve=true \ variant.debug.osnet=true file group=sys mode=0644 overlay=allow owner=root \ path=etc/motd pkg.csize=68 pkg.size=48 preserve=true \ variant.debug.osnet=false
Pour qu'un package utilisant une variante donnée puisse être installé, il faut que cette variante soit définie sur l'image. Les variantes arch et zone sont définies par le programme qui crée l'image et installe son contenu initial. Les variantes debug.* sont définies sur false dans l'image par défaut.
L'algorithme suivant décrit la manière dont les facettes et variantes définies sur une image déterminent si une action donnée est installée.
Les actions sans balise de facette ou de variante sont toujours installées.
Les actions avec balises de facettes sont installées, sauf si toutes les facettes ou tous les modèles de facettes correspondant aux balises sont définis sur false dans l'image. Si une seule facette est définie sur true ou n'est pas explicitement définie (true est la valeur par défaut), l'action est installée.
Les actions avec balises de variantes sont uniquement installées si les valeurs des balises de variantes sont les mêmes que celles définies dans l'image.
Les actions comportant à la fois des balises de facettes et des balises de variantes sont installées si les facettes et les variantes autorisent l'installation des actions concernées.
Vous pouvez créer vos propres balises de facettes et de variantes. Les balises suivantes sont couramment utilisées dans Oracle Solaris.
|
La liste suivante présente quelques exemples de balises de facettes utilisées dans Oracle Solaris :
facet.devel facet.doc facet.doc.html facet.doc.info facet.doc.man facet.doc.pdf facet.locale.de facet.locale.en_GB facet.locale.en_US facet.locale.fr facet.locale.ja_JP facet.locale.zh_CN
Vous pouvez afficher les valeurs des variantes et des facettes qui sont définies sur l'image actuelle et vous pouvez modifier les variantes et facettes dans l'image actuelle. La modification de variantes et de facettes peut entraîner la mise à jour d'un grand nombre de packages et peuvent nécessiter un nouvel environnement d'initialisation. Utilisez -nv pour passer en revue les modifications qui seront effectuées avant de les réaliser.
Utilisez la commande pkg variant pour afficher les valeurs des variantes définies.
/usr/bin/pkg variant [-H] [variant_nsmr ...]
$ pkg variant VARIANT VALUE variant.opensolaris.zone global variant.arch i386 $ pkg variant -H variant.arch variant.arch i386
Utilisez la commande pkg change-variant pour modifier la valeur d'une variante.
/usr/bin/pkg change-variant [-nvq] [-C n] [-g path_or_uri ...] [--accept] [--licenses] [--no-be-activate] [--no-backup-be | --require-backup-be] [--backup-be-name name] [--deny-new-be | --require-new-be] [--be-name name] variant_name=value ...
La commande suivante produit une sortie de données de grand volume, car de nombreux packages seraient concernés. Notez qu'un nouvel environnement d'initialisation ne serait pas créé par défaut, mais qu'un nouvel environnement d'initialisation de secours serait créé. Reportez-vous à la section Propriétés d'image de la stratégie d'environnement d'initialisation pour obtenir des informations sur la création des environnements d'initialisation.
Utilisez l'option -C pour modifier les variantes dans les zones non globales n simultanément avec la zone globale. Reportez-vous à la section Mise à jour simultanée de plusieurs zones non globales pour voir un exemple d'utilisation de l'option -C.
Utilisez l'option -n pour voir ce qui serait modifié si vous aviez effectué l'opération sans -n, mais sans effectuer de modification réelle.
$ pfexec pkg change-variant -nv --accept 'variant.debug.*=true' Packages to update: 851 Variants/Facets to change: 3 Estimated space available: 49.88 GB Estimated space to be consumed: 270.57 MB Create boot environment: No Create backup boot environment: Yes Rebuild boot archive: No Changed variants/facets: variant variant.debug.*: true facet facet.locale.en_US: None facet facet.locale.*: None Changed packages: solaris ...
Utilisez la commande pkg facet pour afficher les valeurs des facettes qui sont définies.
/usr/bin/pkg facet [-H] [facet_name ...]
$ pkg facet FACETS VALUE facet.locale.en_US True facet.locale.en True facet.locale.* False $ pkg facet -H 'facet.locale.*' facet.locale.* False
Utilisez la commande pkg change-facet pour modifier la valeur d'une facette.
/usr/bin/pkg change-facet [-nvq] [-C n] [-g path_or_uri ...] [--accept] [--licenses] [--no-be-activate] [--no-backup-be | --require-backup-be] [--backup-be-name name] [--deny-new-be | --require-new-be] [--be-name name] facet_name=[True|False|None] ...
Utilisez l'option -C pour modifier les facettes dans les zones non globales n simultanément avec la zone globale. Reportez-vous à la section Mise à jour simultanée de plusieurs zones non globales pour voir un exemple d'utilisation de l'option -C.
Utilisez l'option -n pour voir ce qui serait modifié si vous aviez effectué l'opération sans -n, mais sans effectuer de modification réelle.
Si la valeur de la facette est None, sa spécification est supprimée de l'image active.
La commande suivante produit une sortie de données de grand volume, car de nombreux packages seraient concernés. Cette opération peut nécessiter une grande quantité de temps et entraîner une grande quantité de trafic réseau entre cette image et le référentiel de packages. Notez qu'un nouvel environnement d'initialisation ne serait pas créé par défaut, mais qu'un nouvel environnement d'initialisation de secours serait créé. Reportez-vous à la section Propriétés d'image de la stratégie d'environnement d'initialisation pour obtenir des informations sur la création des environnements d'initialisation.
$ pfexec pkg change-facet -nv 'facet.locale.*=true' Packages to update: 851 Variants/Facets to change: 1 Estimated space available: 49.88 GB Estimated space to be consumed: 3.13 GB Create boot environment: No Create backup boot environment: Yes Rebuild boot archive: No Changed variants/facets: facet facet.locale.*: True Changed packages: solaris ...