Guide d'installation Solaris 9 9/04

Annexe G Conditions supplémentaires de gestion des packages SVR4 – Références

Cette annexe est destinée aux administrateurs système devant utiliser le programme d'installation JumpStart personnalisée ou Solaris Live Upgrade pour installer ou supprimer des packages, et plus particulièrement des packages 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.

Aperçu des conditions de gestion des packages

Les références documentaires ci-dessous fournissent des informations d'arrière-plan sur les conditions de gestion des packages.

Le Tableau G–1 contient des informations concernant Solaris Live Upgrade et le programme JumpStart.

Tableau G–1 Informations sur les exigences

Méthode d'installation 

Détail des exigences 

Solaris Live Upgrade 

Programme d'installation JumpStart personnalisée 

Exigences d'environnement d'initialisation inactif pour le programme d'installation JumpStart personnalisée et pour Solaris Live Upgrade

Un environnement d'initialisation inactif est une copie de l'environnement d'exploitation et non le système en cours de fonctionnement. Tout package destiné à être utilisé par Live Upgrade ou par le programme d'installation JumpStart personnalisée doit répondre aux conditions suivantes :

La liste ci-dessous détaille les conditions de conformité d'un environnement d'initialisation inactif.

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 package. Il est paramétré à l'argument -R de la commande pkgadd. Par exemple, si la commande ci-après est invoquée, $PKG_INSTALL_ROOT sera alors ajouté au début de /a lors 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

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

Lorsque vous utilisez Solaris Live Upgrade et créez un nouvel environnement d'initialisation, suivez les directives suivantes pour éviter tout problème :

Ces conditions de création, de modification et de 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 packages 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 package. Les commandes truss, pkgadd -v et pkgrm peuvent tester la conformité de l'installation du package runtime, mais ne fonctionnent pas nécessairement dans toutes les circonstances. Dans l'exemple suivant, la commande truss supprime tous les accès en lecture seule non-$TEMPDIR et n'affiche que les accès en lecture/écriture vers des chemins qui n'appartiennent pas à l'environnement d'initialisation inactif indiqué.


# 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}

Pour de plus amples informations sur les commandes mentionnées dans cette section, reportez-vous aux pages de manuel dircmp(1), fssnap(1M), ps(1), truss(1), pkgadd(1M), pkgchk(1M), ou pkgrm(1M).

Conformité des mises à niveau effectuées à l'aide du programme d'installation JumpStart personnalisée

Le programme d'installation JumpStart personnalisée garantit que des packages peuvent être ajoutés ou retirés tout en faisant partie des utilitaires d'installation traditionnels de Solaris, qui sont les suivants :

Le programme d'installation JumpStart personnalisée garantit également que le package peut participer aux mises à niveau Solaris. Pour qu'un package soit conforme au programme d'installation JumpStart personnalisée, il doit également respecter les conditions de conformité d'environnement d'initialisation inactif définies dans la rubrique Exigences d'environnement d'initialisation inactif pour le programme d'installation JumpStart personnalisée et pour Solaris Live Upgrade.

Pour pouvoir utiliser correctement le programme d'installation JumpStart personnalisée, des packages doivent être ajoutés ou retirés sans que l'utilisateur ne soit invité à entrer d'informations. Pour empêcher toute interaction de l'utilisateur, créez un nouveau fichier d'administration à l'aide de la commande pkgadd -a. L'option -a définit le 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 risque de vous inviter à entrer un plus grand nombre d'informations. Vous pouvez créer un fichier d'administration indiquant à la commande pkgadd qu'elle doit ignorer ces contrôles, et installer le package sans confirmation de l'utilisateur. Pour de plus amples informations, consultez les pages de manuel admin(4) ou pkgadd(1M).

Les exemples suivants montrent comment utiliser le fichier d'administration pkgadd.

Vous trouverez ci-dessous un exemple de fichier d'administration d'installation requérant une intervention réduite de la part de l'utilisateur au niveau de l'utilitaire pkgadd. Excepté si le package requiert plus d'espace que celui qui est disponible sur le système, l'utilitaire pkgadd utilise ce fichier et procède à l'installation du package sans inviter l'utilisateur à entrer d'autres d'informations.

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