Guide d'installation de Solaris 9

Annexe C Conditions supplémentaires de gestion des modules SvR4 - Références

Cette annexe est destinée aux administrateurs système qui doivent utiliser le programme JumpStart personnalisé ou Solaris Live Upgrade pour installer ou supprimer des modules, et plus particulièrement des modules de fournisseurs tiers. Si vous respectez ces conditions, l'installation JumpStart personnalisée reste non-interactive et n'affecte pas le système actif, ce qui vous permet d'effectuer une mise à niveau à l'aide de Solaris Live Upgrade.


Remarque :

Une racine alternative (/) est une copie de l'environnement d'exploitation, et non du système actif.


Aperçu des conditions relatives à la gestion des modules

Pour que le programme JumpStart fonctionne correctement, les modules doivent être conformes aux conditions SvR4. Le Application Packaging Developer's Guide fournit davantage de définitions de termes et d'informations sur les conditions relatives à la gestion des modules. Consultez tout particulièrement le chapitre : "Advanced Package Creation Techniques" in Application Packaging Developer's Guide

Pour des informations de base sur l'ajout et la suppression de modules et le fichier d'administration de l'installation, reportez-vous à "Managing Software (Overview)" in System Administration Guide: Basic Administration. Consultez également les pages correspondantes du manuel.

Pour obtenir des informations détaillées sur les commandes mentionnées dans la présente annexe, consultez les pages dircmp(1), fssnap(1M), ps(1) ou truss(1) du manuel.

Le Tableau C-1 contient des informations concernant Solaris Live Upgrade ou le programme JumpStart personnalisé.

Tableau C-1 Informations sur les conditions

Méthode d'installation 

Détails des conditions 

Solaris Live Upgrade 

Programme JumpStart personnalisé 

Conditions relatives à la racine alternative (/) du programme JumpStart personnalisé et de Solaris Live Upgrade

Une racine alternative (/) est une copie de l'environnement d'exploitation, et non du système actif. Un module destiné à être utilisé par Live Upgrade ou par le programme JumpStart personnalisé doit répondre aux conditions suivantes :

La liste suivante détaille les conditions relatives à la racine aternative (/).

Aperçu des différences entre $PKG_INSTALL_ROOT et $BASEDIR

$PKG_INSTALL_ROOT est l'emplacement du système de fichiers racine (/) de la machine sur laquelle vous ajoutez le module. Il est paramétré à l'argument -R de la commande pkgadd. Par exemple, si la commande suivante est exécutée :


# pkgadd -R /a SUNWvxvm

Alors, $PKG_INSTALL_ROOT est ajouté au début de /a pendant l'installation du module.

$BASEDIR indique le répertoire de base mobile dans lequel les objets mobiles du module 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 la racine alternative (/), mais pas en fonction de $BASEDIR. Si un module 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 module.

Par exemple, imaginez que le fichier pkgmap d'un module 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 le module est installé à l'aide de la commande suivante :


# pkgadd -R /a SUNWtest

Alors ls est installé dans /a/opt/sbin/ls, mais ls2 s'installe sous la forme de /a/sbin/ls2 .

Conformité de l'environnement d'initialisation alternatif Solaris Live Upgrade

Lorsque vous utilisez Solaris Live Upgrade et créez un nouvel environnement d'initialisation, vous pouvez éviter des problèmes en respectant les consignes suivantes :

Ces conditions de création, modification et suppression de fichiers peuvent être vérifiées à l'aide de diverses commandes. Par exemple, les commandes dircmp ou fssnap peuvent être utilisées pour vérifier que les modules fonctionnent correctement. De même, la commande ps peut servir à tester la compatibilité du démon en s'assurant que les démons ne sont pas arrêtés ou démarrés par le module. Les commandes truss et pkgadd peuvent tester la conformité de l'installation du module runtime, mais ne fonctionnent pas nécessairement dans tous les cas. Dans l'exemple suivant, la commande truss supprime tous les accès en lecture seule non-$BASEDIR et n'affiche que les accès en lecture/écriture vers des chemins qui n'appartiennent pas à la racine alternative indiquée (/).


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

Pour obtenir des informations détaillées sur les commandes mentionnées dans cette rubrique, consultez les pages dircmp(1), fssnap(1M), ps(1) ou truss(1) du manuel.

Conformité des mises à niveau à l'aide du programme JumpStart personnalisé

La conformité du programme JumpStart personnalisé garantit que des modules puissent être ajoutés ou retirés tout en faisant partie des utilitaires d'installation traditionnels Solaris, qui sont les suivants :

La conformité du programme JumpStart personnalisé garantit également que le module puisse participer aux mises à niveau Solaris. Pour qu'un module soit conforme au programme JumpStart personnalisé, il doit également respecter les conditions relatives à la racine alternative (/) définie dans la rubrique "Conditions relatives à la racine alternative (/) du programme JumpStart personnalisé et de Solaris Live Upgrade".

Pour pouvoir utiliser correctement le programme JumpStart personnalisé, des modules doivent être ajoutés ou retirés sans que l'utilisateur ne soit invité à entrer d'informations. Pour empêcher toute interaction de l'utilisation, configurez un nouveau fichier d'administration à l'aide de pkgadd -a. L'option -a définit un fichier d'administration de l'installation qui sera utilisé à la place du fichier par défaut. Si vous utilisez le fichier par défaut, le système peut vous inviter à saisir plus d'informations. Vous pouvez créer un fichier d'administration qui indique à la commande pkgadd qu'elle doit ignorer ces contrôles, et installer le module avec une confirmation de l'utilisateur. Les exemples suivants montrent comment utiliser le fichier d'administration pkgadd.

Vous trouverez ci-dessous un exemple de fichier d'administration de l'installation qui empêche pkgadd de demander la confirmation de l'utilisateur avant l'installation du module.

mail=
instance=overwrite
partial=nocheck
runlevel=nocheck
idepend=nocheck
space=nocheck
setuid=nocheck
confiict=nocheck
action=nocheck
basedir=default

Pour plus de détails, consultez les pages admin( 4) ou pkgadd(1M) du manuel.