Guide d'administration système : Gestion des ressources des conteneurs et des zones Oracle Solaris

Chapitre 25 À propos des packages et des patchs pour les systèmes Solaris comportant des zones installées (présentation)

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

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 :

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.

Présentation des outils de gestion des packages et des patchs

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 :

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 :


Remarque –

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.


À propos des packages et des zones

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).

Patchs générés pour des packages

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.

Packages interactifs

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.

Synchronisation 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.

Opérations sur les packages dans 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é :

Si le package est déjà installé dans la zone globale :

Si le package est déjà installé dans la zone globale et dans un sous-ensemble des 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 :

Opérations sur les packages dans une zone non globale

Les opérations possibles dans toute zone non globale sont les suivantes :

Impact de l'état des zones sur les opérations sur les patchs et les packages

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.

À propos de l'ajout de packages à des zones

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.

Exécution de pkgadd dans la zone globale

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 :

Ajout d'un package à la zone globale et à toutes les zones non globales

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 :

Ajout d'un package uniquement à la zone globale

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 :

L'utilitaire pkgadd exécute les actions suivantes :

Ajout d'un package installé dans la zone globale à toutes les zones non globales

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 :

  1. Exécutez pkgrm dans la zone globale pour supprimer le package.

  2. Ajoutez le package sans utiliser l'option -G.

Utilisation de pkgadd dans une zone non globale

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 exécute les actions suivantes :

À propos de la suppression des packages des zones

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.

Utilisation de pkgrm dans la zone globale

Lorsque vous exécutez l'utilitaire pkgrm dans la zone globale :

Notez qu'un package peut uniquement être supprimé d'une zone non globale par un administrateur de zone travaillant dans cette zone si :

Suppression d'un package de la zone globale et de toutes les zones non globales

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 :

Utilisation de pkgrm dans une zone non globale

Pour supprimer un package dans une zone non globale, utilisez pkgrm. Les limitations suivantes s'appliquent :

L'utilitaire pkgrm exécute les actions suivantes :

Informations sur les paramètres des packages

Configuration des paramètres des packages pour les zones

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

Paramètre SUNW_PKG_ALLZONES

Paramètre SUNW_PKG_HOLLOW

Paramètre SUNW_PKG_THISZONE

Description 

false 

false 

false 

Il s'agit de la configuration par défaut des packages. Aucune valeur n'est spécifiée pour tous les paramètres de package de zone. 

Un package ainsi configuré peut être installé dans une zone globale ou non globale.  

  • Si vous exécutez la commande pkgadd dans la zone globale, le package est installé dans la zone globale et dans toutes les zones non globales.

  • Si vous exécutez la commande pkgadd dans une zone non globale, le package n'est installé que dans cette dernière.

Dans l'un ou l'autre cas, l'intégralité du contenu du package est visible dans toutes les zones où il a été installé. 

false 

false 

true 

Un package ainsi configuré peut être installé dans une zone globale ou non globale. Si, après installation, de nouvelles zones non globales sont créées, le package n'est pas étendu à ces dernières. 

  • Si vous exécutez la commande pkgadd dans la zone globale, le package n'est installé que dans cette dernière.

  • Si vous exécutez la commande pkgadd dans une zone non globale, le package n'est installé que dans cette dernière.

Dans l'un ou l'autre cas, l'intégralité du contenu du package est visible dans la zone où il a été installé. 

true 

false 

false 

Vous ne pouvez installer un package ainsi configuré que dans la zone globale. Si vous exécutez la commande pkgadd, le package est installé dans la zone globale et dans toutes les zones non globales. L'intégralité du contenu est visible dans toutes les zones.


Remarque –

Toute tentative d'installation du package dans une zone non globale échoue.


true 

true 

false 

Un package ainsi configuré ne peut être installé que dans la zone globale, par l'administrateur global. Si vous exécutez la commande pkgadd, le contenu du package est entièrement installé dans la zone globale. Si les paramètres d'un package sont configurés sur ces valeurs, le contenu du package lui-même n'est distribué à aucune zone non globale. Seules les informations nécessaires pour indiquer qu'un package est installé sont installées dans toutes les zones non globales. Ces informations permettent d'installer d'autres packages en fonction de ce package.

Le package apparaît comme étant installé dans toutes les zones afin de permettre le contrôle de sa dépendance. 

  • Dans la zone globale, l'intégralité du contenu du package est visible.

  • Dans les zones non globales à racine entière, le contenu du package est totalement invisible.

  • Si une zone non globale hérite d'un système de fichiers de la zone globale, tout package présent sur ce système est visible dans une zone non globale. Tous les autres fichiers fournis par le package sont invisibles dans la zone non globale.

    Par exemple, une zone non globale à racine fragmentée partage quelques répertoires avec la zone globale. Ces répertoires sont en lecture seule. Les zones non globales à racine fragmentée partagent notamment le système de fichiers /platform. Entre autres exemples figurent également les packages qui ne distribuent que les fichiers appropriés à l'initialisation du matériel.


Remarque –

Toute tentative d'installation du package dans une zone non globale échoue.


Paramètre de package SUNW_PKG_ALLZONES

Le paramètre optionnel SUNW_PKG_ALLZONES décrit la portée d'un package en termes de zone. Ce paramètre indique :

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

Valeur 

Description 

false

Depuis la zone globale, ce package peut être installé dans la zone globale uniquement ou dans la zone globale et toutes les zones non globales. Il peut également être installé dans une zone non globale depuis cette même zone. 

  • L'administrateur global peut l'installer dans la zone globale uniquement.

  • L'administrateur global peut l'installer dans la zone globale et toutes les zones non globales.

  • L'administrateur de zone peut l'installer dans une zone non globale.

Lorsqu'il est supprimé de la zone globale, ce package n'est pas supprimé des autres zones. Il peut être supprimé zone par zone des zones globales. 

  • Il n'est pas nécessaire de l'installer dans la zone globale.

  • Il n'est pas nécessaire de l'installer dans chacune des zones non globales.

  • Il ne doit pas nécessairement être identique dans toutes les zones. Différentes zones peuvent contenir différentes versions du package.

  • Les logiciels fournis par le package ne sont pas implicitement partagés entre les zones. Le fonctionnement du package n'est donc pas spécifique au système. La plupart des logiciels de niveau applicatif entrent dans cette catégorie. C'est par exemple le cas de StarOffice et des serveurs Web.

true

S'il est installé dans une zone globale, ce package doit également être installé dans toutes les zones non globales. S'il est supprimé d'une zone globale, il doit également être supprimé de toutes les zones non globales. 

  • Si le package est installé, il doit l'être dans la zone globale. Il est alors automatiquement installé dans toutes les zones non globales.

  • Sa version doit être identique dans toutes les zones.

  • Les logiciels fournis par le package sont implicitement partagés entre les zones. Le package dépend des versions des logiciels implicitement partagés entre les zones. Il doit être visible dans toutes les zones non globales. C'est par exemple le cas des modules de noyau.

    Ces packages permettent à la zone non globale de résoudre des dépendances concernant des packages qui sont installés dans la zone globale en exigeant que le package entier soit installé dans toutes les zones non globales.

  • Le package peut uniquement être installé par l'administrateur global. Il ne peut pas être installé dans une zone non globale par un administrateur de zone.

Paramètre de package SUNW_PKG_HOLLOW

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.

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

Valeur 

Description 

false

Ce n'est pas un package "creux" : 

  • S'il est installé dans la zone globale, son contenu et les informations concernant l'installation sont requises dans toutes les zones non globales.

  • Les logiciels fournis par le package doivent être visibles dans toutes les zones non globales. Le package de la commande truss entre dans cette catégorie.

  • Hormis les restrictions concernant la configuration actuelle du paramètre SUNW_PKG_ALLZONES, aucune autre restriction n'est définie.

true

C'est un package "creux" : 

  • Son contenu n'est fourni à aucune zone non globale, mais les informations concernant son installation sont requises dans toutes les zones non globales.

  • Les logiciels fournis par le package ne doivent pas être visibles dans toutes les zones non globales. C'est par exemple le cas des pilotes de noyau et des fichiers de configuration système qui fonctionnent uniquement dans la zone globale. Ce paramètre permet à la zone non globale de résoudre les dépendances concernant des packages installés uniquement dans la zone globale sans installer vraiment les données des packages.

  • Le package est reconnu comme étant en cours d'installation dans toutes les zones à des fins de contrôle de dépendance par d'autres packages basés sur celui qui est en cours d'installation.

  • Cette configuration de package inclut toutes les restrictions fixées pour définir SUNW_PKG_ALLZONES sur true.

  • Dans la zone globale, le package est reconnu comme ayant été installé et tous ses composants sont installés. Des répertoires sont créés, des fichiers sont installés et des scripts de classes d'action et autres sont exécutés selon le besoin lorsque le package est installé.

  • Dans une zone non globale, le package est reconnu comme ayant été installé, mais aucun de ses composants n'est installé. Aucun répertoire n'est créé, aucun fichier n'est installé et aucun script de classe d'action ou autre n'est exécuté lorsque le package est installé.

  • Lorsque le package est supprimé de la zone globale, le système détecte que le package était entièrement installé. Les répertoires et fichiers correspondants sont supprimés, et les scripts de classes d'action et autres scripts d'installation sont exécutés lorsque le package est supprimé.

Paramètre de package SUNW_PKG_THISZONE

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

Valeur 

Description 

false

  • Si pkgadd est exécuté dans une zone non globale, le package est uniquement installé dans la zone actuelle.

  • Si pkgadd est exécuté dans la zone globale, le package est installé dans la zone globale et dans toutes les zones non globales installées. Il sera également propagé à toutes les zones non globales installées ultérieurement.

true

  • Le package est uniquement installé dans la zone actuelle.

  • S'il est installé dans la zone globale, il n'est ajouté à aucune zone globale existante ou sur le point d'être créée. Il a le même comportement lorsque l'option -G est utilisée avec pkgadd.

Demande d'informations sur les packages

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.

À propos de l'ajout de patchs aux zones

En règle générale, les patchs possèdent les composants suivants :

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.


Remarque –

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.


Solaris 10 8/07 : application de patchs à activation différée

À 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.


Remarque –

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.


Solaris 10 10/09 : Application de patchs en parallèle pour réduire le temps d'application de patchs

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 :

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.


Remarque –

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.


Application de patchs sur un système Solaris comportant des zones installées

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.

Utilisation de patchadd dans la zone globale

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 :

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 :

Utilisation de patchadd dans une zone non globale

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 :

L'utilitaire patchadd exécute les actions suivantes :

Interaction de patchadd -G et de la variable pkginfo sur un système comportant des zones

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.

Zone globale, -G spécifié

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.

Zone globale, -G non spécifié

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.

Zone non globale, -G spécifié ou non

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.

Suppression de patchs sur un système Solaris comportant des zones installées

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.

Utilisation de patchrm dans la zone globale

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.

Utilisation de patchrm dans une zone non globale

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.

Base de données de produits

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).