Solaris 10 1/06 : ce chapitre a été entièrement revu.
Ce chapitre traite de la maintenance du système d'exploitation Solaris lorsque des zones y sont installées. Il fournit également des informations concernant l'ajout de packages et de patchs à la zone globale et à toutes les zones non globales installées, et contient des informations sur la suppression de ces packages et de ces patchs. Le contenu de ce chapitre remplace la documentation existante relative à l'installation et aux patchs Solaris. Pour plus d'informations, reportez-vous à Solaris 10 Release and Installation Collection et au System Administration Guide: Basic Administration.
Ce chapitre comprend les sections suivantes :
Nouveautés en matière de packages et de patchs dans les zones installées
Présentation des outils de gestion des packages et des patchs
Application de patchs sur un système Solaris comportant des zones installées
Suppression de patchs sur un système Solaris comportant des zones installées
Solaris 10 1/06 : ce chapitre a été réécrit depuis Solaris 10 afin de documenter le comportement actuel des commandes de packages et de patchs pour les systèmes sur lesquels des zones non globales sont installées.
Solaris 10 6/06 : les informations concernant les paramètres SUNW_PKG_ALLZONES, SUNW_PKG_HOLLOW et SUNW_PKG_THISZONE des packages ont été revues. Reportez-vous aux sections Présentation des outils de gestion des packages et des patchs et Informations sur les paramètres des packages.
Solaris 10 6/06 et versions ultérieures : pour savoir comment enregistrer votre système ou comment utiliser Sun Connection (anciennement Sun Update Connection) pour gérer vos mises à jour logicielles, reportez-vous à la section Sun Connection hub on BigAdmin (en anglais).
Solaris 10 8/07 et versions ultérieures :
Lorsque la commande patchadd est utilisée pour ajouter un patch à un package installé à l'aide de la commande pkgadd et l'option -G, l'option -G de patchadd devient superflue.
Un tableau décrivant ce qui se produit lorsque les commandes pkgadd, pkgrm, patchadd et patchrm sont exécutées sur un système comportant des zones non globales dans différents états a été ajouté. Reportez-vous à la section Impact de l'état des zones sur les opérations sur les patchs et les packages.
Des éclaircissements concernant l'interaction entre patchadd -G et la variable pkginfo ont été ajoutés. Reportez-vous à la section Interaction de patchadd -G et de la variable pkginfo sur un système comportant des zones.
Des informations sur l'application de patchs à activation différée ont été ajoutées. Reportez-vous à la section Solaris 10 8/07 : application de patchs à activation différée.
Des informations concernant l'option -G de la commande pkgrm ont été supprimées.
Solaris 10 5/08 et mises à jour de version ultérieures : EOF de PatchPro. Depuis septembre 2007, PatchPro, qui utilise la base de données et les outils de gestion de patchs afin de corriger des logiciels installés dans les zones globales et non globales, n'est plus pris en charge. Pour obtenir des informations sur le processus actuel, consultez le site Sun xVM Ops Center.
Solaris 10 5/08 : bien qu'elles aient été ajoutées dans la version Solaris 10 5/08, ces informations s'appliquent à tous les systèmes Solaris 10.
Pour enregistrer votre système Solaris, allez à la page https://inventory.sun.com/inventory/. Pour de plus amples informations sur l'utilisation de Sun Inventory pour enregistrer votre matériel, vos logiciels et vos systèmes d'exploitation, consultez le centre d'informations Sun Inventory.
Si vous utilisez Sun xVM Ops Center pour créer, mettre à jour et gérer les systèmes de votre centre de données, reportez-vous au centre d'informations Sun xVM pour obtenir des informations relatives à l'enregistrement de votre logiciel par le biais du Sun xVM Ops Center.
Solaris 10 10/09 : l'application de patchs en parallèle à des zones est une amélioration apportée aux utilitaires de patch standard de Solaris 10. Pour les versions antérieures à Solaris 10 10/09, le patch est fourni dans les correctifs des utilitaires de patch, 119254-66 ou révision ultérieure (SPARC) et 119255-66 ou révision ultérieure (x86). Reportez-vous aux sections Solaris 10 10/09 : Application de patchs en parallèle pour réduire le temps d'application de patchs et Solaris 10 10/09: How to Patch Non-Global Zones in Parallel. Pour savoir comment mettre à jour rapidement les patchs sur un système comportant des zones, reportez-vous également à la section Utilisation de la mise à jour lors du rattachement en tant que solution d'application de patch.
Vous trouverez une liste complète des nouvelles fonctionnalités de Solaris 10 et la description des différentes versions de Solaris dans le guide Nouveautés apportées à Oracle Solaris 10 9/10.
Les outils de gestion de packages Solaris permettent d'administrer l'environnement des zones. La mise à niveau d'un système vers une nouvelle version de Solaris entraîne la mise à jour de la zone globale et des zones non globales. Cette mise à niveau est effectuée par l'administrateur global.
Pour mettre à niveau un système incluant des zones non globales, vous avez le choix entre le programme d'installation interactif standard Solaris Live Upgrade et le programme d'installation personnalisé JumpStart. Les restrictions suivantes s'appliquent à un zonepath résidant sur un ZFS :
La prise en charge de Solaris Live Upgrade sur les systèmes dont zonepath réside sur un ZFS est disponible à partir de la version Solaris 10 10/08.
Seul Solaris Live Upgrade peut être utilisé pour mettre le système de fichiers à niveau.
Pour plus d'informations, reportez-vous à la section Utilisation d’Oracle Solaris Live Upgrade pour migrer ou mettre à jour un système comportant des zones (Solaris 10 10/08) du Guide d’administration Oracle Solaris ZFS.
L'administrateur de zone peut employer les outils de gestion de packages pour administrer tout logiciel installé dans une zone non globale, dans les limites décrites dans ce document.
Les principes généraux suivants s'appliquent lorsque des zones sont installées :
L'administrateur global peut administrer les logiciels dans toute zone du système.
Le système de fichiers racine d'une zone non globale peut être administré depuis la zone globale grâce aux outils de gestion de packages et de patchs Solaris. Les outils de gestion de packages et de patchs Solaris sont pris en charge à l'intérieur des zones non globales pour administrer les produits intégrés (fournis en standard), les produits autonomes (non fournis en standard) et les produits tiers.
Les outils de gestion de packages et de patchs fonctionnent dans un environnement compatible avec les zones. Grâce à ces outils, les packages ou patchs installés dans une zone globale peuvent également être installés dans une zone non globale.
Le paramètre SUNW_PKG_ALLZONES définit la portée du package en termes de zone. Il détermine le type de zone dans lequel un package peut être installé. Pour plus d'informations sur ce paramètre, reportez-vous à la section Paramètre de package SUNW_PKG_ALLZONES.
Le paramètre SUNW_PKG_HOLLOW définit la visibilité de tout package devant être installé et être identique dans toutes les zones. Pour plus d'informations sur ce paramètre, reportez-vous à la section Paramètre de package SUNW_PKG_HOLLOW.
Le paramètre SUNW_PKG_THISZONE détermine si un package doit être installé dans la zone actuelle uniquement. Pour plus d'informations sur ce paramètre, reportez-vous à la section Paramètre de package SUNW_PKG_THISZONE.
La valeur par défaut des packages ne définissant pas de valeur pour les paramètres de package de zone est false.
Les informations relatives aux packages visibles à l'intérieur d'une zone non globale sont cohérentes avec les fichiers qui ont été installés dans cette zone à l'aide des outils de gestion de packages et de patchs Solaris. Ces informations sont synchronisées avec les répertoires inherit-pkg-dir.
Toute modification, par exemple l'ajout d'un patch ou d'un package à la zone globale, peut être étendue à toutes les zones. Cette fonctionnalité garantit la cohérence entre la zone globale et les zones non globales.
Les commandes applicables aux packages permettent d'ajouter, de supprimer et d'interroger les packages. Les commandes applicables aux patchs permettent d'ajouter et de supprimer des patchs.
Lors de l'exécution de certaines opérations concernant les packages et les patchs, les zones sont temporairement verrouillées à d'autres opérations du même type. Dans certains cas, le système demande également confirmation auprès de l'administrateur avant d'exécuter l'opération requise.
Seul un sous-ensemble des packages Solaris installés dans la zone globale est entièrement répliqué lors de l'installation d'une zone non globale. Par exemple, bon nombre des packages contenant le noyau Solaris ne sont pas nécessaires dans les zones non globales, qui partagent toutes implicitement le même noyau Solaris dans la zone globale. Toutefois, même si les données d'un package ne sont pas nécessaires ou utiles dans une zone non globale, il peut s'avérer indispensable de savoir s'il est installé dans la zone globale. Cela permet de résoudre correctement les dépendances des packages des zones non globales avec la zone globale.
Les packages possèdent des paramètres qui contrôlent la distribution et la visibilité de leur contenu sur un système comportant des zones non globales. SUNW_PKG_ALLZONES , SUNW_PKG_HOLLOW et SUNW_PKG_THISZONE définissent les caractéristiques des packages d'un système sur lequel des zones sont installées. Au besoin, l'administrateur système peut vérifier la configuration de ces paramètres pour s'assurer que les packages sont applicables lors de leur installation ou de leur suppression dans un environnement de zone. La commande pkgparam permet d'afficher les valeurs de ces paramètres. Pour plus d'informations sur les paramètres, reportez-vous à la section Informations sur les paramètres des packages. Pour en savoir plus sur leur utilisation, reportez-vous à la section Vérification de la configuration des paramètres des packages sur un système comportant des zones installées.
Pour plus de détails sur les caractéristiques et les paramètres des packages, reportez-vous à la page de manuel pkginfo(4) Pour plus d'informations sur l'affichage des valeurs des paramètres de packages, reportez-vous à la page de manuel pkgparam(1).
Lorsqu'un patch est généré pour un package, les paramètres doivent être définis sur les mêmes valeurs que pour le package d'origine.
Tout package destiné à être interactif, c'est-à-dire possédant un script de requête, est uniquement ajouté à la zone en cours. Il n'est pas propagé à d'autres zones. Tout package interactif ajouté à la zone globale est traité comme s'il avait été ajouté à l'aide de la commande pkgadd et de l'option -G. Pour plus d'informations sur cette option, reportez-vous à la section À propos de l'ajout de packages à des zones.
Il est recommandé de conserver les logiciels installés dans les zones non globales aussi synchronisés que possible avec ceux qui sont installés dans la zone globale. Cela facilite l'administration des systèmes comportant de nombreuses zones installées.
Pour atteindre cet objectif, les outils de gestion des packages mettent en oeuvre les règles suivantes lors de l'ajout et de la suppression de packages d'une zone globale.
Si le package n'est actuellement installé ni dans la zone globale, ni dans les zones non globales, il peut être installé :
uniquement dans la zone globale si SUNW_PKG_ALLZONES=false ;
uniquement dans la zone (globale) actuelle si SUNW_PKG_THISZONE=true ;
dans la zone globale et toutes les zones non globales.
Si le package est déjà installé dans la zone globale :
Il peut être installé dans toutes les zones non globales.
Il peut être supprimé de la zone globale.
Si le package est déjà installé dans la zone globale et dans un sous-ensemble des zones non globales :
SUNW_PKG_ALLZONES doit être défini sur false.
Il peut être installé dans toutes les zones non globales. Les instances présentes dans toute zone non globale sont mises à jour vers la révision en cours d'installation.
Il peut être supprimé de la zone globale.
Le package peut être supprimé de la zone globale et de toutes les zones non globales.
Si le package est déjà installé dans la zone globale et dans toutes les zones non globales, il peut être supprimé de la zone globale et de toutes les zones non globales.
Ces règles garantissent que :
Les packages installés dans la zone globale sont soit uniquement installés dans celle-ci, soit installée dans celle-ci et dans toutes les zones non globales.
Les packages installés dans la zone globale et dans toute zone non globale sont identiques.
Les opérations possibles dans toute zone non globale sont les suivantes :
Tout package non installé dans la zone non globale ne peut l'être que si SUNW_PKG_ALLZONES=false.
Tout package peut être installé dans la zone (non globale) actuelle si SUNW_PKG_THISZONE=true.
Si le package est déjà installé dans la zone non globale :
Il ne peut être installé sur l'instance existante que si SUNW_PKG_ALLZONES=false.
Il ne peut être supprimé d'une zone non globale que si SUNW_PKG_ALLZONES=false.
Le tableau ci-dessous décrit ce qui se produit lorsque les commandes pkgadd, pkgrm, patchadd et patchrm sont exécutées sur un système comportant des zones non globales dans différents états.
Notez que la description de l'état installé a été révisée dans le tableau pour la version Solaris 10 5/08.
État de la zone |
Effet sur les opérations sur les packages et les patchs |
---|---|
Configuré |
Les outils de gestion des patchs et des packages peuvent être exécutés. Aucun logiciel n'a encore été installé. |
Installée |
Les outils de gestion des patchs et des packages peuvent être exécutés. Lors de l'application de patch ou de package, le système remplace l'état Installé d'une zone par le nouvel état interne Monté. Après application du patch, l'état Installé de la zone est rétabli. Notez que l'état Installé de la zone est rétabli immédiatement après la fin du processus zoneadm - z zonename install. Il est impossible d'appliquer un patch ou d'exécuter des commandes de packaging sur une zone en état Installé qui n'a jamais été initialisée. La zone doit être initialisée à l'état d'exécution au moins une fois. Une fois la zone initialisée, puis remise en état Installé à l'aide de la commande zoneadm halt, les commandes d'application de patch et de package peuvent être exécutées. |
Prêt |
Les outils de gestion des patchs et des packages peuvent être exécutés. |
En cours d'exécution |
Les outils de gestion des patchs et des packages peuvent être exécutés. |
Incomplet |
Zone en cours d'installation ou de suppression à l'aide de zoneadm. Les outils de gestion des patchs et des packages ne peuvent pas être exécutés. La zone ne peut pas être placée dans un état permettant d'utiliser ces outils. |
L'utilitaire système pkgadd décrit dans la page de manuel pkgadd(1M) s'emploie pour ajouter des packages à un système Solaris comportant des zones installées.
Utilisé avec l'option -G dans la zone globale, pkgadd permet de n'ajouter un package qu'à cette zone, sans qu'il soit propagé à d'autres zones. Notez que si SUNW_PKG_THISZONE=true, il n'est pas nécessaire que vous utilisiez l'option -G. Si SUNW_PKG_THISZONE=false, l'option -G l'ignore.
Lorsque vous exécutez l'utilitaire pkgadd dans la zone globale :
pkgadd peut ajouter un package :
uniquement à la zone globale, excepté si SUNW_PKG_ALLZONES=true ;
à la zone globale et à toutes les zones non globales ;
uniquement aux zones non globales si le package est déjà installé dans la zone globale ;
uniquement à la zone actuelle si SUNW_PKG_THISZONE=true.
L'utilitaire pkgadd ne peut ajouter de package :
à un sous-ensemble de zones non globales ;
à toutes les zones non globales, excepté s'il est déjà installé dans la zone globale.
Si l'utilitaire pkgadd est exécuté sans l'option - G et si SUNW_PKG_THISZONE=false , le package spécifié est ajouté à toutes les zones par défaut. Il n'est pas marqué comme installé dans la zone globale uniquement.
Si l'utilitaire pkgadd est exécuté sans l'option -G et si SUNW_PKG_THISZONE=true, le package spécifié est ajouté à la zone (globale) actuelle par défaut. Il est marqué comme installé dans la zone globale uniquement.
Si l'option -G est spécifiée, pkgadd ajoute le package indiqué uniquement à la zone globale. Il est marqué comme installé dans la zone globale uniquement. Il n'est pas installé si une zone non globale l'est.
Pour ajouter un package à la zone globale et à toutes les zones non globales, exécutez l'utilitaire pkgadd dans la zone globale. Exécutez pkgadd sans l'option -G en tant qu'administrateur global.
Un package peut être ajouté à la zone globale et à toutes les zones non globales, indépendamment de la portion de zone affectée par le package.
L'utilitaire pkgadd exécute les actions suivantes :
Les dépendances du package sont contrôlées dans la zone globale et dans toutes les zones non globales. Si les packages requis ne sont pas installés dans chacune des zones, le contrôle de dépendance échoue. Le système prévient l'administrateur global, qui doit confirmer s'il souhaite continuer.
Le package est ajouté à la zone globale.
La base de données de packages de la zone globale est mise à jour.
Le package est ajouté à chaque zone non globale et la base de données de la zone globale est mise à jour.
La base de données de packages de chaque zone non globale est mise à jour.
Pour ajouter un package uniquement à la zone globale, exécutez l'utilitaire pkgadd avec l'option -G en tant qu'administrateur global dans la zone globale.
Un package peut être ajouté à la zone globale s'il répond aux exigences suivantes :
Son contenu n'affecte aucune portion de zone globale partagée avec une zone non globale.
Le paramètre SUNW_PKG_ALLZONES=false.
L'utilitaire pkgadd exécute les actions suivantes :
Si le contenu du package affecte une portion quelconque de zone globale partagée avec une zone non globale ou si SUNW_PKG_ALLZONES=true, pkgadd échoue. Le message d'erreur indique que le package doit être ajouté à la zone globale et à toutes les zones non globales.
Les dépendances du package sont uniquement contrôlées dans la zone globale. Si les packages requis ne sont pas installés, le contrôle de dépendance échoue. Le système prévient l'administrateur global, qui doit confirmer s'il souhaite continuer.
Le package est ajouté à la zone globale.
La base de données de packages de la zone globale est mise à jour.
Les informations concernant le package sont annotées pour indiquer qu'il est uniquement installé dans la zone globale. En cas d'installation ultérieure d'une zone non globale, ce package n'y est pas installé.
Pour ajouter un package déjà installé dans la zone globale à toutes les zones non globales, vous devez le supprimer de la zone globale et le réinstaller dans toutes les zones.
Procédez de la manière suivante :
Exécutez pkgrm dans la zone globale pour supprimer le package.
Ajoutez le package sans utiliser l'option -G.
Pour ajouter un package à une zone non globale donnée, exécutez l'utilitaire pkgadd sans option en tant qu'administrateur de zone. Les conditions suivantes s'appliquent :
L'utilitaire pkgadd peut uniquement ajouter des packages à la zone non globale dans laquelle il est exécuté.
Le package n'affecte aucune portion de zone partagée avec la zone globale.
Le paramètre SUNW_PKG_ALLZONES=false.
L'utilitaire pkgadd exécute les actions suivantes :
Avant que le package soit ajouté, ses dépendances sont contrôlées dans la base de données des zones non globales. Si les packages requis ne sont pas installés, le contrôle de dépendance échoue. Le système prévient l'administrateur de la zone non globale, qui doit confirmer s'il souhaite continuer. Le contrôle échoue si l'une des conditions suivantes est vraie.
L'un des composants du package affecte une portion quelconque de la zone partagée avec la zone globale.
Le paramètre SUNW_PKG_ALLZONES=true.
Le package est ajouté à la zone.
La base de données de packages de la zone est mise à jour.
L'utilitaire pkgrm décrit dans la page de manuel pkgrm(1M) prend en charge la suppression des packages sur les systèmes Solaris comportant des zones installées.
Lorsque vous exécutez l'utilitaire pkgrm dans la zone globale :
pkgrm peut supprimer un package de la zone globale et de toutes les zones non globales ou, de la zone globale seulement lorsque le package est uniquement installé dans la zone globale.
pkgrm ne peut ni supprimer un package uniquement de la zone globale si ce package est également installé dans une zone non globale, ni supprimer un package de tout sous-ensemble des zones non globales.
Notez qu'un package peut uniquement être supprimé d'une zone non globale par un administrateur de zone travaillant dans cette zone si :
Le package n'affecte aucune portion de zone non globale partagée avec la zone globale.
Le paramètre SUNW_PKG_ALLZONES=false.
Pour supprimer un package de la zone globale et de toutes les zones non globales, exécutez l'utilitaire pkgrm dans la zone globale en tant qu'administrateur global.
Un package peut être supprimé de la zone globale et de toutes les zones non globales, indépendamment de la portion de zone affectée par le package.
L'utilitaire pkgrm exécute les actions suivantes :
Les dépendances du package sont contrôlées dans la zone globale et dans toutes les zones non globales. Si le contrôle de dépendances échoue, pkgrm échoue aussi. Le système prévient l'administrateur global, qui doit confirmer s'il souhaite continuer.
Le package est supprimé de chaque zone non globale.
La base de données de packages de chaque zone non globale est mise à jour.
Le package est supprimé de la zone globale.
La base de données de packages de la zone globale est mise à jour.
Pour supprimer un package dans une zone non globale, utilisez pkgrm. Les limitations suivantes s'appliquent :
pkgrm peut uniquement supprimer des packages de la zone non globale.
Le package n'affecte aucune portion de zone partagée avec la zone globale.
Le paramètre SUNW_PKG_ALLZONES=false.
L'utilitaire pkgrm exécute les actions suivantes :
Les dépendances sont contrôlées dans la base de données de packages de la zone non globale. Si le contrôle des dépendances échoue, pkgrm échoue aussi et l'administrateur de zone est prévenu. Le contrôle échoue si l'une des conditions suivantes est vraie.
L'un des composants du package affecte une portion quelconque de la zone partagée avec la zone globale.
Le paramètre SUNW_PKG_ALLZONES=true.
Le package est supprimé de la zone.
La base de données de packages de la zone est mise à jour.
SUNW_PKG_ALLZONES , SUNW_PKG_HOLLOW et SUNW_PKG_THISZONE définissent les caractéristiques des packages d'un système sur lequel des zones sont installées. Vous devez configurer ces paramètres pour permettre l'administration de ces packages dans un système comportant des zones non globales installées.
Le tableau suivant répertorie les quatre combinaisons valides de configuration des paramètres des packages. Si vous choisissez d'autres combinaisons que celles mentionnées, ces paramètres ne sont pas valides et l'installation du package échoue.
Veillez à configurer les trois paramètres des packages. Vous pouvez également n'en définir aucun. Les outils de gestion des packages interprètent l'absence d'un paramètre de package de zone comme une valeur false, mais il est vivement conseillé de régler les paramètres. En définissant les trois paramètres de package, vous indiquez aux outils le comportement à adopter lors de l'installation ou de la suppression du package.
Tableau 25–1 Configurations valides des paramètres de packages
Le paramètre optionnel SUNW_PKG_ALLZONES décrit la portée d'un package en termes de zone. Ce paramètre indique :
si le package doit être installé dans toutes les zones ;
si le package doit être identique dans toutes les zones.
Le paramètre SUNW_PKG_ALLZONES peut prendre deux valeurs, true et false. La valeur par défaut est false. S'il n'est pas défini ou s'il a été défini sur une valeur autre que true ou false, il est considéré comme possédant la valeur false.
Pour les packages dont la version et le niveau de révision de patchs doivent être identiques dans toutes les zones, le paramètre SUNW_PKG_ALLZONES doit être défini sur true. Pour tout package dont la fonctionnalité dépend d'un noyau Solaris particulier, par exemple Solaris 10, ce paramètre doit être défini sur true. Pour tout patch de package, le paramètre SUNW_PKG_ALLZONES doit être défini sur la même valeur que dans le package installé pour lequel l'application de patch est en cours. Le niveau de révision de patch de tout package pour lequel ce paramètre est défini sur true doit être identique dans toutes les zones.
Pour les packages dont la fonctionnalité ne dépend pas d'un noyau Solaris particulier, par exemple les packages tiers ou les compilateurs Sun, ce paramètre doit être défini sur false. Si le paramètre du package auquel un patch doit être appliqué est défini sur false, celui du patch doit également être défini sur false. La version du package et le niveau de révision de patch de tout package pour lequel ce paramètre est défini sur false peuvent différer selon les zones. Les versions de serveur Web installées dans deux zones non globales peuvent par exemple être différentes.
Les valeurs du paramètre de package SUNW_PKG_ALLZONES sont décrites dans le tableau ci-dessous.
Tableau 25–2 Valeurs du paramètre de package SUNW_PKG_ALLZONES
Le paramètre SUNW_PKG_HOLLOW détermine si un package doit être visible dans chaque zone non globale lorsqu'il doit être installé et identique dans toutes les zones.
Le paramètre SUNW_PKG_HOLLOW peut prendre deux valeurs, true ou false.
Si SUNW_PKG_HOLLOW n'est pas défini ou s'il a été défini sur une valeur autre que true ou false, il est considéré comme possédant la valeur false.
Si SUNW_PKG_ALLZONES est défini sur false, SUNW_PKG_HOLLOW est ignoré.
Si SUNW_PKG_ALLZONES est défini sur false, SUNW_PKG_HOLLOW ne peut pas être défini sur true.
Les valeurs du paramètre de package SUNW_PKG_ALLZONES sont décrites dans le tableau ci-dessous.
Tableau 25–3 Valeurs du paramètre de package SUNW_PKG_HOLLOW
Le paramètre SUNW_PKG_THISZONE détermine si un package doit uniquement être installé dans la zone actuelle (globale ou non globale). Le paramètre SUNW_PKG_THISZONE peut prendre deux valeurs, true et false. La valeur par défaut est false.
Les valeurs du paramètre de package SUNW_PKG_THISZONE sont décrites dans le tableau ci-dessous.
Tableau 25–4 Valeurs du paramètre de package SUNW_PKG_THISZONE
L'utilitaire pkginfo décrit dans la page de manuel pkginfo(1) prend en charge l'interrogation de la base de données des packages logiciels sur les systèmes Solaris comportant des zones installées. Pour plus d'informations sur la base de données, reportez-vous à la section Base de données de produits.
Dans la zone globale, l'utilitaire pkginfo ne permet d'interroger que la base de données des packages logiciels de la zone globale. Dans une zone non globale, l'utilitaire pkginfo ne permet d'interroger que la base de données des packages logiciels de la zone non globale.
En règle générale, les patchs possèdent les composants suivants :
des informations sur le patch :
identification : la version du patch et son ID ;
conditions d'application : type et version de système d'exploitation et architecture ;
dépendances : par exemple requises et obsolètes ;
propriétés : par exemple requiert une réinitialisation ultérieure.
un ou plusieurs packages à patcher, chacun d'entre eux contenant :
la version du package auquel les patchs peuvent être appliqués ;
des informations sur le patch, par exemple son ID ou le fait qu'il est obsolète ou requis ;
un ou plusieurs composants du package à patcher.
Lorsqu'un patch est appliqué à l'aide de la commande patchadd, les informations concernant ce patch sont utilisées pour déterminer s'il est applicable au système en cours d'exécution. Si le patch est jugé non applicable, il n'est pas appliqué. Les dépendances du patch sont également contrôlées pour toutes les zones du système. Si l'une des dépendances requises n'est pas vérifiée, le patch n'est pas appliqué. Cela peut se produire lorsqu'une version ultérieure du patch est déjà installée.
Tous les packages du patch sont contrôlés. Si le package n'est installé dans aucune zone, il est contourné et n'est pas patché.
Si toutes les dépendances sont vérifiées, tous les packages du patch installés dans les zones sont utilisés pour patcher le système. Les bases de données de packages et de patchs sont également mis à jour.
De Solaris 10 3/05 à Solaris 10 11/06 : si un package est installé à l'aide de la commande pkgadd -G ou si sa configuration pkginfo est SUNW_PKG_THISZONE=true, il peut uniquement être patché à l'aide de patchadd - G. Cette restriction a disparu dans la version Solaris 8/07.
À partir des patchs 119254-41 et 119255-41, les utilitaires d'installation patchadd et patchrm ont été modifiés pour changer la manière dont certaines prestations des patchs sont gérées. Cette modification affecte l'installation de ces patchs sur toutes les versions de Solaris 10. Les patchs à activation différée gèrent plus efficacement les changements apportés aux patchs de fonctions tels que les patchs de noyau associés aux versions de Solaris 10 après Solaris 10 3/05.
Les patchs à activation différée utilisent le système de fichiers loopback (LOFS) pour garantir la stabilité du système en cours d'exécution. Lorsqu'un patch est appliqué au système en cours d'exécution, le LOFS reste stable pendant l'application de patch. Ces grands patchs de noyau ont toujours demandé un réinitialisation. Cette réinitialisation active désormais les changements effectués par les LOFS. Le patch README contient des instructions sur les patchs nécessitant une réinitialisation.
Si vous exécutez des zones non globales ou si les LOFS sont désactivés, tenez compte des indications ci-dessous lors de l'installation et de la suppression de patchs à activation différée.
Toutes les zones non globales doivent être arrêtées pour que vous puissiez réaliser cette opération. Vous devez arrêter la zone non globale avant d'appliquer le patch.
Les patchs à activation différée utilisent le système de fichiers loopback (LOFS). Les LOFS des systèmes équipés de Sun Cluster 3.1 ou de Sun Cluster 3.2 sont généralement désactivés, car ils limitent les fonctionnalités HA-NFS lorsqu'ils sont activés. Avant d'installer un patch à activation différée, vous devez donc réactiver le système de fichiers loopback en supprimant ou en commentant la ligne suivante dans le fichier /etc/system :
exclude:lofs |
Réinitialisez ensuite le système et installez le patch. L'installation du patch étant terminée, restaurez ou annulez le commentaire de la même ligne dans le fichier /etc/system. Réinitialisez ensuite le système pour reprendre les opérations normales.
La gestion des patchs à l'aide de Solaris Live Upgrade permet d'éviter les problèmes associés à l'application de patch sur un système en cours d'exécution. Solaris Live Upgrade peut réduire la période d'indisponibilité due à l'application des patchs et limiter les risques en offrant la possibilité de poursuivre les opérations en cas de problème. Vous pouvez appliquer un patch à un environnement d'initialisation inactif pendant que le système fonctionne et réinitialiser l'environnement d'initialisation d'origine si des problèmes sont détectés dans le nouvel environnement d'initialisation. Reportez-vous à la section Mise à niveau d’un système à l’aide de packages ou de patchs du Guide d’installation Oracle Solaris 10 9/10 : planification des mises à niveau et de Solaris Live Upgrade.
L'application de patchs en parallèle à des zones est une amélioration apportée aux utilitaires de patch standard de Solaris 10. Cela comprend la méthode prise en charge pour l'application de patchs aux zones non globales sur votre système Solaris 10. Cette fonction améliore le temps d'application de patchs sur des zones grâce à l'application en parallèle de patchs sur des zones non globales.
Pour les versions antérieures à Solaris 10 10/09, cette fonction est fournie dans les correctifs des utilitaires de patch, 119254-66 ou révision ultérieure (SPARC) et 119255-66 ou révision ultérieure (x86).
Le nombre maximal de zones non globales auxquelles des patchs doivent être appliqués en parallèle est défini dans un nouveau fichier de configuration pour patchadd, /etc/patch/pdo.conf. La révision 66 ou ultérieure de ce patch fonctionne pour tous les systèmes Solaris 10 et tous les outils d'automatisation de patch de niveau supérieur, tels que Sun xVM Ops Center.
Les patchs sont toujours appliqués sur la zone globale en premier. Lorsque l'application de patchs sur la zone globale est terminée, les patchs de toutes les zones non globales définies dans num_proc= sont appliqués. Le nombre maximal est 1,5 fois le nombre d'UC en ligne, le nombre de zones non globales présentes sur le système étant le nombre réel maximum.
Par exemple :
4 UC sont en ligne.
La configuration est num_proc=6.
Si le nombre de zones non globales du système est supérieur à ce nombre, les patchs sont appliqués en parallèle aux six premières, puis les autres zones non globales reçoivent les patchs lorsque les processus d'application de patchs se terminent sur le premier groupe.
L'utilisation de Solaris Live Upgrade, ainsi que le nouveau patch pour gérer l'application de patchs permet la poursuite des opérations en cas de problème. Vous pouvez appliquer un patch à un environnement d'initialisation inactif pendant que le système fonctionne et réinitialiser l'environnement d'initialisation d'origine si des problèmes sont détectés dans le nouvel environnement d'initialisation.
Reportez-vous également à la section Solaris 10 10/09: How to Patch Non-Global Zones in Parallel.
Pour mettre à jour rapidement tous les packages pour la zone pour qu'ils correspondent aux données d'une zone non globale récemment installée sur l'hôte, les zones peuvent être retirées lors de l'application de patch à la zone globale, puis reconnectée avec l'option -U afin de correspondre au niveau de la zone globale. Pour plus d'informations, reportez-vous à la section Utilisation de la mise à jour lors du rattachement en tant que solution d'application de patch.
Tous les patchs appliqués dans la zone globale sont appliqués à toutes les autres zones. Lorsqu'une zone non globale est installée, elle possède le même niveau de patch que la zone globale. Lorsqu'une zone globale est patchée, toutes les zones non globales le sont aussi. Cela garantit un niveau de patch identique dans toutes les zones.
L'utilitaire système patchadd décrit dans la page de manuel patchadd(1M) permet d'ajouter des patchs à un système comportant des zones installées.
Pour ajouter un patch dans la zone globale et dans toutes les zones non globales, exécutez patchadd en tant qu'administrateur global dans la zone globale.
Lorsque patchadd est exécuté dans la zone globale, les conditions suivantes s'appliquent :
L'utilitaire patchadd est capable d'ajouter les patchs à la zone globale et uniquement à toutes les zones non globales. Il s'agit de l'action par défaut.
L'utilitaire patchadd ne peut pas ajouter de patchs uniquement à la zone globale ou à un sous-ensemble des zones non globales.
Lorsque vous ajoutez un patch à la zone globale et à toutes les zones non globales, il est inutile de tenir compte du fait qu'il affecte ou non des portions de zones partagées avec la zone globale.
L'utilitaire patchadd exécute les actions suivantes :
Le patch est ajouté à la zone globale.
La base de données de patchs de la zone globale est mise à jour.
Le patch est ajouté à chaque zone non globale.
La base de données de patchs de chaque zone non globale est mise à jour.
Lorsqu'il est utilisé dans une zone non globale par l'administrateur de zone, patchadd peut uniquement être employé pour ajouter des patchs à cette zone. Un patch ne peut être ajouté à une zone non globale que dans les cas suivants :
s'il n'affecte aucune portion de zone partagée avec la zone globale ;
si SUNW_PKG_ALLZONES=false pour tous les packages du patch.
L'utilitaire patchadd exécute les actions suivantes :
Le patch est ajouté à la zone.
La base de données de patchs de la zone est mise à jour.
Vous trouverez, ci-dessous, une liste des interactions entre l'option -G et la variable SUNW_PKG_ALLZONES lors de l'ajout d'un patch à une zone globale et à des zones non globales.
Si un ou plusieurs packages possèdent la variable SUNW_PKG_ALLZONES=TRUE, une erreur se produit et aucune action n'a lieu.
Si aucun package ne possède la variable SUNW_PKG_ALLZONES=TRUE, le patch est uniquement appliqué au(x) package(s) de la zone globale.
Si, dans certains packages, SUNW_PKG_ALLZONES=TRUE, le patch est appliqué à ces packages dans toutes les zones.
Si, dans certains packages, SUNW_PKG_ALLZONES=TRUE, le patch est appliqué à ces packages dans toutes les zones adéquates. Les packages uniquement destinés à la zone globale ne sont installés que dans celle-ci.
Si un ou plusieurs packages possèdent la variable SUNW_PKG_ALLZONES=TRUE, une erreur se produit et aucune action n'a lieu.
Si aucun package ne possède la variable SUNW_PKG_ALLZONES=TRUE, le patch est uniquement appliqué aux packages de la zone non globale.
L'utilitaire système patchrm décrit dans la page de manuel patchrm(1M) permet de supprimer des patchs sur un système comportant des zones installées.
En tant qu'administrateur global, vous pouvez utiliser patchrm dans la zone globale pour supprimer des patchs. L'utilitaire patchrm ne peut pas supprimer les patchs uniquement de la zone globale ou d'un sous-ensemble des zones non globales.
En tant qu'administrateur de zone, vous pouvez utiliser patchrm dans une zone non globale pour supprimer des patchs uniquement dans cette zone. Les patchs n'affectent pas les portions de zones partagées.
Les bases de données de packages, de patchs et d'enregistrements de produits de chaque zone décrivent les logiciels installés qui y sont disponibles. Les contrôles de dépendance liés à l'installation de logiciels complémentaires ou de patchs sont exécutés sans requérir l'accès aux bases de données des autres zones, excepté si un package ou un patch est en cours d'installation ou de suppression dans la zone globale et dans une ou plusieurs zones non globales. Le cas échéant, il est nécessaire d'accéder aux bases de données des zones non globales correspondantes.
Pour plus d'informations sur les bases de données, reportez-vous à la page de manuel pkgadm(1M).