Guide du développeur pour l'empaquetage d'applications

Création de packages pouvant être installés à distance

Tous les packages doivent pouvoir être installés à distance. Pouvoir être installé à distance signifie que vous ne pouvez pas présumer que l'administrateur va installer votre package sur le système de fichiers racine (/) du système exécutant la commande pkgadd. Pour accéder au fichier /etc/vfstab du système cible dans l'un de vos scripts de procédure, la variable d'environnement PKG_INSTALL_ROOT doit être utilisée. En d'autres termes, le nom de chemin /etc/vfstab vous permet d'accéder au fichier /etc/vfstab du système exécutant la commande pkgadd, mais l'administrateur peut effectuer l'installation sur un client dans /export/root/client3. Le chemin ${PKG_INSTALL_ROOT}/etc/vfstab vous garantit l'accès au système de fichiers cible.

Exemple : Installation sur un système client

Dans cet exemple, le package SUNWstuf est installé dans client3, qui est configuré avec /opt dans son système de fichiers racine (/). Une autre version de ce package est déjà installée dans client3 et le répertoire de base est défini sur basedir=/opt/$PKGINST à partir d'un fichier d'administration (thisadmin). Pour plus d'informations sur les fichiers d'administration, reportez-vous à Fichier de valeurs d'administration par défaut. La commande pkgadd exécutée sur le serveur est :


# pkgadd -a thisadmin -R /export/root/client3 SUNWstuf

Le tableau suivant répertorie les variables d'environnement et les valeurs transmises aux scripts de procédure :

Tableau 6–1 Valeurs transmises aux scripts de procédure

Variable d'environnement 

Valeur 

PKGINST

SUNWstuf.2

PKG_INSTALL_ROOT

/export/root/client3

CLIENT_BASEDIR

/opt/SUNWstuf.2

BASEDIR

/export/root/client3/opt/SUNWstuf.2

Exemple : Installation sur un serveur ou un système autonome

Pour effectuer l'installation sur le serveur ou un système autonome dans les mêmes circonstances que l'exemple précédent, la commande est la suivante :


# pkgadd -a thisadmin SUNWstuf

Le tableau suivant répertorie les variables d'environnement et les valeurs transmises aux scripts de procédure :

Tableau 6–2 Valeurs transmises aux scripts de procédure

Variable d'environnement 

Valeur 

PKGINST

SUNWstuf.2

PKG_INSTALL_ROOT

Non définie. 

CLIENT_BASEDIR

/opt/SUNWstuf.2

BASEDIR

/opt/SUNWstuf.2

Exemple : Montage de systèmes de fichiers partagés

Supposons que le package SUNWstuf crée et partage un système de fichiers sur le serveur dans /export/SUNWstuf/share. Lorsque le package est installé sur les systèmes client, leurs fichiers /etc/vfstab doivent être mis à jour pour monter ce système de fichiers partagé. Cette situation est un exemple d'application de la variable CLIENT_BASEDIR.

L'entrée sur le client doit présenter le point de montage en référence au système de fichiers du client. Cette ligne doit être créée correctement, que l'installation s'effectue à partir du serveur ou du client. Supposons que le nom du système du serveur soit $SERVER. Vous pouvez accéder à $PKG_INSTALL_ROOT/etc/vfstab puis, à l'aide de la commande sed ou de la commande awk, créer la ligne suivante pour le fichier /etc/vfstab du client.


$SERVER:/export/SUNWstuf/share - $CLIENT_BASEDIR/usr nfs - yes ro

Par exemple, pour le serveur universe et le système client client9, la ligne figurant dans le fichier /etc/vfstab du système client serait :


universe:/export/SUNWstuf/share - /opt/SUNWstuf.2/usr nfs - yes ro

Lorsque ces paramètres sont utilisés correctement, l'entrée monte toujours le système de fichiers du client, qu'il soit créé localement ou à partir du serveur.