JavaScript is required to for searching.
Ignorer les liens de navigation
Quitter l'aperu
Guide d'installation d'Oracle Solaris 10 1/13 : Live Upgrade et planification de la mise à niveau     Oracle Solaris 10 1/13 Information Library (Français)
search filter icon
search icon

Informations document

Préface

Partie I Mise à niveau avec Live Upgrade

1.  Emplacement des informations de planification pour l'installation d'Oracle Solaris

2.  Live Upgrade (présentation)

3.  Live Upgrade (planification)

4.  Utilisation de Live Upgrade pour créer un environnement d'initialisation (tâches)

5.  Mise à niveau à l'aide de Live Upgrade (tâches)

6.  Reprise sur échec : restauration de l'environnement d'initialisation d'origine (Tâches)

7.  Maintenance des environnements d'initialisation de Live Upgrade (tâches)

8.  Mise à niveau du système d'exploitation Oracle Solaris sur un système comportant des zones non globales

9.  Exemples pour Live Upgrade

Partie II Mise à niveau et migration avec Live Upgrade vers un pool root ZFS

10.  Live Upgrade et ZFS (présentation)

11.  Live Upgrade pour ZFS (planification)

12.  Création d'un environnement d'initialisation pour des pools root ZFS

13.  Live Upgrade pour ZFS comportant des zones non globales

Partie III Annexes

A.  Références de commandes Live Upgrade

B.  Dépannage (tâches)

C.  Conditions supplémentaires de gestion des packages SVR4 - Références

Empêcher la modification du système d'exploitation actif

Utilisation de chemins absolus

Utilisation de la commande pkgadd avec l'option -R

Différences entre $PKG_INSTALL_ROOT et $BASEDIR

Directives pour la rédaction de scripts

Gestion de la compatibilité avec les clients sans disque

Vérification des packages

Empêcher les utilisateurs d'intervenir lors d'une installation ou d'une mise à niveau

Configuration des paramètres des packages pour les zones

Pour plus d'informations

D.  Utilisation de l'analyseur de patchs lors de la mise à niveau (Tâches)

Glossaire

Index

Empêcher la modification du système d'exploitation actif

La section ci-dessous explique comment préserver le système d'exploitation actif.

Utilisation de chemins absolus

Pour que l'installation d'un système d'exploitation se déroule correctement, il faut que les packages reconnaissent et respectent les systèmes de fichiers root (/) alternatifs, tels qu'un environnement d'initialisation Live Upgrade inactif.

Les packages peuvent contenir des chemins absolus dans leur fichier pkgmap (structure du package). Si ces fichiers existent, ils sont rédigés en fonction de l'option -R de la commande pkgadd. Les packages qui contiennent des chemins absolus et relatifs (mobiles) peuvent être également installés dans un système de fichiers root alternatif (/). $PKG_INSTALL_ROOT est ajouté au début des fichiers absolus et relatifs, de sorte que tous les chemins sont reproduits correctement lors de l'installation par le biais de pkgadd.

Utilisation de la commande pkgadd avec l'option -R

Les packages installés à l'aide de pkgadd -R ou retirés à l'aide de pkgrm -R ne doivent pas altérer le système d'exploitation actif. Cette fonction est utilisée par le programme d'installation JumpStart, Live Upgrade, les zones non globales et les clients sans disque.

Aucun script de procédure fourni avec les packages installés à l'aide de l'option R de la commande -pkgadd ou retirés à l'aide de l'option R de la commande -pkgrm ne doit altérer le système d'exploitation actif. Tout script d'installation fourni par vos soins doit faire référence au répertoire ou au fichier avec la variable $PKG_INSTALL_ROOT en préfixe. Le package doit rédiger tous les répertoires et fichiers à l'aide du préfixe $PKG_INSTALL_ROOT. Il ne doit pas supprimer les répertoires sans préfixe $PKG_INSTALL_ROOT.

Le tableau suivant fournit des exemples de syntaxes de scripts.

Tableau C-1 Exemples de syntaxe de script d'installation

Type de script
Syntaxe correcte
Syntaxe erronée
Fragments d'instructions "if" Bourne Shell
if [ -f ${PKG_INSTALL_ROOT}\
/etc/myproduct.conf ] ; then
if [ -f /etc/myproduct.conf ] ; \
 then
Suppression d'un fichier
/bin/rm -f ${PKG_INSTALL_ROOT}\
/etc/myproduct.conf
/bin/rm -f /etc/myproduct.conf 
Modification d'un fichier
echo "test=no" > ${PKG_INSTALL_ROOT}\
/etc/myproduct.conf
echo "test=no" > \
/etc/myproduct.conf

Différences entre $PKG_INSTALL_ROOT et $BASEDIR

$PKG_INSTALL_ROOT est l'emplacement du système de fichiers root (/) de la machine sur laquelle vous ajoutez le package. Il est paramétré à l'argument -R de la commande pkgadd. Par exemple, si la commande suivante est appelée, $PKG_INSTALL_ROOT devient /a au cours de l'installation du package.

# pkgadd -R /a SUNWvxvm

$BASEDIR indique le répertoire de base mobile dans lequel les objets mobiles du package sont installés. Seuls les objets mobiles y sont installés. Les objets fixes (possédant des chemins absolus dans le fichier pkgmap) sont toujours installés en fonction de l'environnement d'initialisation et non pas en fonction de $BASEDIR. Si un package ne possède pas d'objets mobiles, il est dit absolu (fixe), $BASEDIR n'est pas défini et ne peut contenir aucun script de procédure du package.

Par exemple, imaginez que le fichier pkgmap d'un package comporte deux entrées :

1 f none sbin/ls 0555 root sys 3541 12322 1002918510
1 f none /sbin/ls2 0555 root sys 3541 12322 2342423332

Par ailleurs, le fichier pkginfo contient une indication pour $BASEDIR :

BASEDIR=/opt

Si ce package est installé à l'aide de la commande ci-dessous, ls est installé dans /a/opt/sbin/ls, mais ls2 s'installe sous la forme /a/sbin/ls2.

# pkgadd -R /a SUNWtest

Directives pour la rédaction de scripts

Les scripts de procédure des packages doivent être indépendants du système d'exploitation actif afin qu'il ne puisse être modifié. Les scripts de procédure définissent les actions qui surviennent à un moment donné pendant l'installation et la suppression de packages. Il est possible de créer quatre scripts de procédure avec les noms prédéfinis suivants : preinstall, postinstall, preremove et postremove.

Tableau C-2 Instructions de création de scripts

Instructions
A une incidence sur Live Upgrade
A une incidence sur les zones non globales
Les scripts doivent être rédigés en Bourne shell (/bin/sh). Bourne shell est l'interpréteur utilisé par la commande pkgadd pour exécuter les scripts de procédure.
X
X
Ces scripts ne doivent pas lancer ou arrêter de processus, ni dépendre de l'édition de commandes, telles que ps ou truss, qui dépendent du système d'exploitation et fournissent des informations relatives au système actif.
X
X
Les scripts peuvent utiliser d'autres commandes UNIX standard, telles que expr, cp et ls ou encore d'autres commandes facilitant l'écriture de scripts de shell.
X
X
Les commandes appelées par un script doivent être disponibles dans toutes les versions prises en charge, car un package doit s'exécuter sur toutes les versions. Par conséquent, vous ne pouvez pas utiliser les commandes ajoutées ou supprimées après la version Solaris 8.

Pour vérifier qu'une commande ou une option spécifique est prise en charge dans la version Solaris 8, Solaris 9 ou Oracle Solaris 10, reportez-vous à la version spécifique du manuel de référence à l'adresse http://www.oracle.com/technetwork/indexes/documentation/index.html.

X

Gestion de la compatibilité avec les clients sans disque

Les packages ne doivent pas exécuter de commandes contenues dans le package lui-même. Cette restriction maintient la compatibilité du client sans disque et évite l'exécution de commandes pouvant éventuellement nécessiter des bibliothèques partagées qui ne sont pas encore installées.

Vérification des packages

Tous les packages doivent être validés par pkgchk. Avant d'installer un package venant d'être créé, il doit être vérifié à l'aide de la commande suivante :

# pkgchk -d dir-name pkg-name
dir-name
Indique le nom du répertoire où le package réside.
pkg-name

Indique le nom du package.

Exemple C-1 Test d'un package

Après avoir créé un package, vous devez le tester en l'installant dans un emplacement de système de fichiers root alternatif (/) à l'aide de l'option - R dir-name dans pkgadd. Après avoir installé le package, assurez-vous qu'il fonctionne correctement à l'aide de la commande pkgchk, comme dans l'exemple ci-dessous.

# pkgadd -d . -R /a SUNWvxvm
# pkgchk -R /a SUNWvxvm

Aucune erreur ne doit s'afficher.

Exemple C-2 Test d'un package sur /export/SUNWvxvm

Si un package existe dans /export/SUNWvxvm, exécutez la commande suivante :

# pkgchk -d /export SUNWvxvm

Aucune erreur ne doit s'afficher.

D'autres commandes permettent de vérifier le package lorsque vous créez, modifiez ou supprimez des fichiers. Par exemple :

# TEMPDIR=/a; export TEMPDIR
# truss -t open /usr/sbin/pkgadd -R ${TEMPDIR} SUNWvxvm \
2>&1 > /dev/null | grep -v O_RDONLY | grep -v \
'open("'${TEMPDIR}