Le présent chapitre vous explique comment vérifier l'intégrité de votre package et le transférer sur un support de distribution, notamment une disquette ou un CD-ROM.
La liste suivante répertorie les informations fournies dans ce chapitre :
Le tableau suivant décrit les étapes à suivre pour vérifier l'intégrité et le transfert de votre package sur un support de distribution.
Tableau 4–1 Vérification et transfert d'un package (liste de tâches)
Tâche |
Description |
Instructions |
---|---|---|
1. Créez votre package. |
Créez votre package sur disque. | |
2. Installez votre package. |
Testez votre package en l'installant et en vérifiant que l'installation s'effectue sans erreurs. |
Procédure d'installation d'un package sur un système autonome ou un serveur |
3. Vérifiez l'intégrité de votre package. |
Utilisez la commande pkgchk pour vérifier l'intégrité de votre package. | |
4. Obtenez d'autres informations sur le package. |
Facultatif. Utilisez les commandes pkginfo et pkgparam pour effectuer la vérification d'un package. |
Affichage d'informations supplémentaires sur les packages installés |
5. Supprimez le package installé. |
Utilisez la commande pkgrm pour supprimer votre package du système. | |
6. Transférez votre package sur un support distribution. |
Utilisez la commande pkgtrans pour transférer votre package (au format package) sur un support de distribution. |
Procédure de transfert d'un package sur un support de distribution |
Les packages logiciels sont installés à l'aide de la commande pkgadd. Cette commande transfère le contenu d'un package logiciel, du support de distribution ou du répertoire, sur le système afin de l'installer.
Cette section fournit des instructions de base pour installer votre package afin de vérifier qu'il s' installe correctement.
Les informations se rapportant à l'ensemble des packages installés sur un système sont conservées dans la base de données des logiciels d'installation. Chaque objet de package dispose d'une entrée qui fournit des informations le concernant, notamment son nom, son emplacement et son type. Une entrée indique le package auquel l'élément appartient, les autres packages susceptibles de faire référence à l'élément et d'autres informations, notamment le nom de chemin, l'emplacement et le type de l'élément. Les entrées sont automatiquement ajoutées et supprimées par les commandes pkgadd et pkgrm. Vous pouvez afficher les informations figurant dans la base de données à l'aide des commandes pkgchk et pkginfo.
Deux types d'information sont associés à chaque élément de package. L'attribut décrit l'élément en soi. Par exemple, les droits d'accès à l'élément, l'ID du propriétaire de l'élément et l'ID du groupe de l'élément sont des attributs. Les informations relatives au contenu décrivent le contenu de l'élément, notamment la taille du fichier et la date/heure de dernière modification.
La base de données des logiciels d'installation indique l'état du package. Un package peut être entièrement installé (la procédure d'installation s'est déroulée correctement) ou partiellement installé (la procédure d'installation ne s'est pas déroulée correctement).
Lorsqu'un package est partiellement installé, cela signifie que certaines parties du package ont été installées avant la suspension de la procédure d'installation, et qu'une partie du package est donc installée et consignée en tant que tel dans la base de données alors que l'autre partie ne l'est pas. Lorsque vous réinstallez le package, un message vous invite à redémarrer l'installation de l'endroit où elle a été suspendue car la commande pkgadd est en mesure d'accéder à la base de données et de détecter les parties déjà installées. Vous pouvez également supprimer les parties déjà installées, en vous basant sur les informations figurant dans la base de données des logiciels d'installation à l'aide de la commande pkgrm.
Si la commande pkgadd rencontre un problème, elle recherche en premier lieu des instructions dans le fichier d'administration de l'installation. (Voir admin(4) pour plus d'informations.) S'il ne contient aucune instruction ou si le paramètre correspondant dans le fichier d'administration a la valeur ask, la commande pkgadd affiche un message décrivant le problème et contenant une invite. L'invite est habituellement Do you want to continue with this installation?. Vous devez répondre à l'invite par yes, no ou quit.
Si vous avez spécifié plusieurs packages, no arrête l'installation du package en cours d'installation mais pkgadd poursuit l'installation des autres packages. quit indique que pkgadd doit arrêter l'installation de tous les packages.
Cette section décrit l'installation des packages sur un système autonome ou un serveur dans un environnement homogène.
Si nécessaire, reportez-vous à Création d'un package.
Connectez-vous en tant que superutilisateur.
Ajoutez le package logiciel sur le système.
# pkgadd -d device-name [pkg-abbrev...] |
-d nom-périphérique |
Indique l'emplacement du package. Notez que nom-périphérique peut être un nom de chemin d'accès à un répertoire complet ou être les identificateurs d'une bande, d'une disquette ou d'un disque amovible. |
pkg-abrév |
Correspond au nom d'un ou plusieurs packages à ajouter (séparés par des espaces). En cas d'omission, pkgadd installe tous les packages disponibles. |
Pour installer un package logiciel nommé pkgA à partir d'un périphérique à bande nommé /dev/rmt/0, saisissez la commande suivante :
# pkgadd -d /dev/rmt/0 pkgA |
Vous pouvez également installer plusieurs packages simultanément, à condition de séparer les noms de package par un espace, comme suit :
# pkgadd -d /dev/rmt/0 pkgA pkgB pkgC |
Si vous ne nommez pas le périphérique sur lequel le package réside, la commande regarde dans le répertoire spool par défaut (/var/spool/pkg). Si le package ne s'y trouve pas, l'installation échoue.
Si vous êtes prêt à passer à l'étape suivante, reportez-vous à Procédure de vérification de l'intégrité d'un package.
La commande pkgchk permet de contrôler l'intégrité des packages, qu'ils soient installés sur un système ou en format package (prêts à être installés avec la commande pkgadd). Elle confirme la structure d'un package ou, les fichiers et répertoires installés, ou encore affiche des informations sur les objets du package. La commande pkgchk peut répertorier ou vérifier les éléments suivants :
Les scripts d'installation du package ;
Le contenu ou les attributs (voire les deux) des objets installés sur le système ;
Le contenu d'un package non installé et mis en spool ;
Le contenu ou les attributs (voire les deux) des objets décrits dans le fichier pkgmap spécifié.
Pour plus d'informations sur cette commande, reportez-vous à pkgchk(1M).
La commande pkgchk effectue deux types de contrôle. Elle contrôle les attributs de fichier (droits d'accès et de propriété d'un fichier et, nombres majeurs/mineurs de périphériques spéciaux en mode bloc ou en mode caractère) et le contenu des fichiers (taille, somme de contrôle et date de modification). Par défaut, la commande contrôle à la fois les attributs des fichiers et le contenu des fichiers.
La commande pkgchk compare également les attributs et le contenu des fichiers du package installé avec la base de données des logiciels d'installation. Les entrées concernant un package peuvent avoir été modifiées depuis l'installation ; par exemple, un autre package peut avoir modifié un élément du package. La base de données reflète ce changement.
Installez votre package.
Si nécessaire, reportez-vous à Procédure d'installation d'un package sur un système autonome ou un serveur.
Vérifiez l'intégrité de votre package.
# pkgchk [-v] [-R root-path] [pkg-abbrev...] |
-v |
Répertorie les fichiers à mesure qu'ils sont traités. |
-R chemin-root |
Spécifie l'emplacement du système de fichiers root du système client. |
pkg-abrév |
Correspond au nom d'un ou plusieurs packages à vérifier (séparés par des espaces). En cas d'omission, pkgchk vérifie tous les packages disponibles. |
L'exemple suivant indique la commande à utiliser pour vérifier l'intégrité d'un package installé.
$ pkgchk pkg-abbrev $ |
S'il contient des erreurs, la commande pkgchk les imprime. Sinon, elle n'imprime rien et renvoie le code de sortie 0. Si vous n'indiquez aucune abréviation de package, elle vérifie tous les packages présents dans le système.
Vous pouvez aussi vous servir de l'option -v qui imprime la liste des fichiers du package en l'absence d'erreurs. Exemple :
$ pkgchk -v SUNWcadap /opt/SUNWcadap /opt/SUNWcadap/demo /opt/SUNWcadap/demo/file1 /opt/SUNWcadap/lib /opt/SUNWcadap/lib/file2 /opt/SUNWcadap/man /opt/SUNWcadap/man/man1 /opt/SUNWcadap/man/man1/file3.1 /opt/SUNWcadap/man/man1/file4.1 /opt/SUNWcadap/man/windex /opt/SUNWcadap/srcfiles /opt/SUNWcadap/srcfiles/file5 /opt/SUNWcadap/srcfiles/file6 $ |
Si vous devez vérifier un package installé sur le système de fichiers root d'un système client, utilisez la commande suivante :
$ pkgchk -v -R root-path pkg-abbrev |
Si vous êtes prêt à passer à l'étape suivante, reportez-vous à Procédure d'obtention d'informations à l'aide de la commande pkginfo.
Vous pouvez vous servir de deux autres commandes pour afficher des informations sur les packages installés :
La commande pkgparam affiche la valeur des paramètres.
La commande pkginfo affiche des informations extraites de la base de données de logiciels d'installation.
La commande pkgparam vous permet d'afficher les valeurs associées aux paramètres que vous spécifiez sur la ligne de commande. Les valeurs sont extraites du fichier pkginfo d'un package spécifique ou du fichier que vous précisez. Une valeur de paramètre s'affiche sur chaque ligne. Vous pouvez au choix afficher les valeurs seules ou les paramètres et leurs valeurs.
Installez votre package.
Si nécessaire, reportez-vous à Procédure d'installation d'un package sur un système autonome ou un serveur.
Affichez des informations supplémentaires sur votre package.
# pkgparam [-v] pkg-abbrev [param...] |
-v |
Affiche le nom du paramètre et sa valeur. |
pkg-abrév |
Correspond au nom d'un package spécifique. |
param |
Spécifie un ou plusieurs paramètres dont la valeur est affichée. |
Par exemple, pour n'afficher que les valeurs, utilisez la commande suivante :
$ pkgparam SUNWcadap none /opt US/Mountain /sbin:/usr/sbin:/usr/bin:/usr/sadm/install/bin /usr/sadm/sysadm SUNWcadap Chip designers need CAD application software to design abc chips. Runs only on xyz hardware and is installed in the usr partition. system release 1.0 SPARC venus990706083849 SUNWcadap /var/sadm/pkg/SUNWcadap/save Jul 7 1999 09:58 $ |
Pour afficher les paramètres et leurs valeurs, utilisez la commande suivante :
$ pkgparam -v SUNWcadap pkgparam -v SUNWcadap CLASSES='none' BASEDIR='/opt' TZ='US/Mountain' PATH='/sbin:/usr/sbin:/usr/bin:/usr/sadm/install/bin' OAMBASE='/usr/sadm/sysadm' PKG='SUNWcadap' NAME='Chip designers need CAD application software to design abc chips. Runs only on xyz hardware and is installed in the usr partition.' CATEGORY='system' VERSION='release 1.0' ARCH='SPARC' PSTAMP='venus990706083849' PKGINST='SUNWcadap' PKGSAV='/var/sadm/pkg/SUNWcadap/save' INSTDATE='Jul 7 1999 09:58' $ |
Ou, pour afficher la valeur d'un paramètre spécifique, utilisez le format suivant :
$ pkgparam SUNWcadap BASEDIR /opt $ |
Pour plus d'informations, reportez-vous à pkgparam(1).
Si vous êtes prêt à passer à l'étape suivante, reportez-vous à Procédure de suppression d'un package.
Vous pouvez afficher des informations sur les packages installés à l'aide de la commande pkginfo. Cette commande dispose de plusieurs options permettant de personnaliser le format et le contenu de l'affichage.
Vous pouvez demander des informations sur un nombre d'instances de package de votre choix.
Lorsque vous exécutez la commande pkginfo sans indiquer d'options, celle-ci affiche la catégorie, l'instance de package et le nom de package de tous les packages entièrement installés sur votre système. L'affichage est organisé en catégories comme illustré dans l'exemple suivant :
$ pkginfo . . . system SUNWinst Install Software system SUNWipc Interprocess Communications system SUNWisolc XSH4 conversion for ISO Latin character sets application SUNWkcspf KCMS Optional Profiles application SUNWkcspg KCMS Programmers Environment application SUNWkcsrt KCMS Runtime Environment . . . $ |
L'affichage de la commande pkginfo peut utiliser trois formats différents : court, extrait et long.
Le format court est le format par défaut. Il ne comprend que la catégorie, l'abréviation du package et le nom complet du package, comme illustré à la rubrique Affichage par défaut de la commande pkginfo.
Le format extrait comprend l'abréviation du package, le nom du package, l'architecture du package (si elle est disponible) et la version du package (si elle est disponible). Utilisez l'option -x pour demander le format extrait, comme illustré dans l'exemple suivant :
$ pkginfo -x . . . SUNWipc Interprocess Communications (sparc) 11.8.0,REV=1999.08.20.12.37 SUNWisolc XSH4 conversion for ISO Latin character sets (sparc) 1.0,REV=1999.07.10.10.10 SUNWkcspf KCMS Optional Profiles (sparc) 1.1.2,REV=1.5 SUNWkcspg KCMS Programmers Environment (sparc) 1.1.2,REV=1.5 . . . $ |
L'utilisation de l'option -l permet d'obtenir un affichage au format long qui inclut toutes les informations sur un package, comme illustré dans l'exemple suivant :
$ pkginfo -l SUNWcadap PKGINST: SUNWcadap NAME: Chip designers need CAD application software to design abc chips. Runs only on xyz hardware and is installed in the usr partition. CATEGORY: system ARCH: SPARC VERSION: release 1.0 BASEDIR: /opt PSTAMP: system980706083849 INSTDATE: Jul 7 1999 09:58 STATUS: completely installed FILES: 13 installed pathnames 6 directories 3 executables 3121 blocks used (approx) $ |
Le tableau suivant décrit les paramètres pouvant être affichés pour chaque package. Un paramètre et sa valeur ne s'affichent que si une valeur a été attribuée au paramètre en question.
Tableau 4–2 Paramètres de package
Paramètre |
Description |
---|---|
ARCH |
Architecture prise en charge par le package. |
BASEDIR |
Répertoire de base dans lequel le package logiciel réside (indiqué si le package est réadressable). |
CATEGORY |
Catégories de logiciels auxquelles le package appartient (par exemple, system ou application). |
CLASSES |
Liste des classes définies pour un package. L'ordre de la liste détermine l'ordre dans lequel les classes sont installées. Les classes apparaissant en début de liste sont installées en premier (support par support). Ce paramètre peut être modifié par le script request. |
DESC |
Description du package. |
|
Adresse e-mail utilisée par les utilisateurs pour adresser leurs questions. |
HOTLINE |
Informations sur l'obtention de l'aide sur ce package via le service d'assistance téléphonique. |
INTONLY |
Indique que le package ne doit être installé de manière interactive que lorsqu'une valeur non nulle est définie. |
ISTATES |
Liste des états d'exécution autorisés pour l'installation d'un package (par exemple, S s 1). |
MAXINST |
Nombre maximum d'instances de package autorisées sur une machine simultanément. Par défaut, une seule instance de package est autorisée. |
NAME |
Nom du package décrivant habituellement l'abréviation du package. |
ORDER |
Liste des classes définissant l'ordre dans lequel elles doivent être placées sur le support. Utilisée par la commande pkgmk pour créer le package. Les classes non définies dans ce paramètre sont placées sur le support par les procédures de tri standard. |
PKGINST |
Abréviation du package à installer. |
PSTAMP |
Horodatage de production du package. |
RSTATES |
Liste des états d'exécution autorisés pour la suppression d'un package (par exemple, S s 1). |
ULIMIT |
S'il est défini, ce paramètre est transféré en tant qu'argument à la commande ulimit qui établit la taille maximale d'un fichier lors de l'installation. Ceci ne concerne que les fichiers créés par des scripts de procédure. |
VENDOR |
Nom du fournisseur ayant fourni le package logiciel. |
VERSION |
Version du package. |
VSTOCK |
Numéro de stock fourni par le fournisseur. |
Pour plus d'informations sur la commande pkginfo, reportez-vous à la page de manuel pkginfo(1).
Installez votre package.
Si nécessaire, reportez-vous à Procédure d'installation d'un package sur un système autonome ou un serveur.
Affichez des informations supplémentaires sur votre package.
# pkginfo [-x | -l] [pkg-abbrev] |
-x |
Affiche les informations sur le package au format extrait. |
-l |
Affiche les informations sur le package au format long. |
pkg-abrév |
Correspond au nom d'un package spécifique. En cas d'omission, la commande pkginfo affiche les informations sur l'ensemble des packages installés au format par défaut. |
Si vous êtes prêt à passer à l'étape suivante, reportez-vous à Procédure de suppression d'un package.
Étant donné que la commande pkgrm met à jour les informations de la base de données des produits logiciels, il est important lors de la suppression d'un package d'utiliser la commande pkgrm, même si vous êtes tenté d'utiliser à la place la commande rm. Vous pouvez par exemple utiliser la commande rm pour supprimer un fichier binaire exécutable ; toutefois, cela ne revient pas au même qu'utiliser la commande pkgrm pour supprimer le package logiciel contenant le fichier binaire exécutable. Utiliser la commande rm pour supprimer les fichiers d'un package endommage la base de données des produits logiciels. Si vous souhaitez véritablement supprimer un seul fichier, vous pouvez utiliser la commande removef qui met à jour la base de données des produits logiciels correctement.
Supprimez un package installé.
# pkgrm pkg-abbrev ... |
pkg-abrév |
Correspond au nom d'un ou plusieurs packages à supprimer (séparés par des espaces). En cas d'omission, pkgrm supprime tous les packages disponibles. |
Utilisez la commande pkginfo pour vérifier que le package a été correctement supprimé.
$ pkginfo | egrep pkg-abbrev |
Si pkg-abrév est installé, la commande pkginfo renvoie une ligne d'informations le concernant. Sinon, pkginfo renvoie l'invite système.
La commande pkgtrans déplace les packages et effectue leur conversion au format package. Vous pouvez utiliser la commande pkgtrans pour effectuer les conversions suivantes d'un package pouvant être installé :
Du format système de fichiers au format flux de données.
Du format flux de données au format système de fichiers.
D'un format de système de fichiers à un autre format de système de fichiers.
Créez votre package comme un package au format répertoire si cela n'est pas déjà fait.
Pour plus d'informations, reportez-vous à Procédure de création d'un package.
Installez votre package pour vérifier qu'il s'installe correctement.
Si nécessaire, reportez-vous à Procédure d'installation d'un package sur un système autonome ou un serveur.
Vérifiez l'intégrité de votre package.
Si nécessaire, reportez-vous aux rubriques Procédure de vérification de l'intégrité d'un package, Procédure d'obtention d'informations à l'aide de la commande pkginfo et Procédure d'obtention d'informations à l'aide de la commande pkgparam.
Supprimez le package installé du système.
Si nécessaire, reportez-vous à la rubrique Procédure de suppression d'un package.
Transférez le package (au format package) sur un support de distribution.
Pour effectuer une conversion de base, exécutez la commande suivante :
$ pkgtrans device1 device2 [pkg-abbrev...] |
périphérique1 |
Correspond au nom du périphérique sur lequel le package réside actuellement. |
périphérique2 |
Correspond au nom du périphérique sur lequel le package converti doit être transféré. |
[pkg-abrév] |
Correspond à une ou plusieurs abréviations de package. |
Si aucun nom de package n'est spécifié, tous les packages résidant sur périphérique1 sont convertis et transférés sur périphérique2.
Si plusieurs instances d'un même package résident sur périphérique1, vous devez utiliser l'identificateur d'instance du package. Pour plus d'informations sur l'identificateur de package, reportez-vous à Définition d'une instance de package. Lorsqu'une instance de package à convertir se trouve déjà sur périphérique2, la commande pkgtrans n'effectue pas la conversion. Vous pouvez utiliser l'option -o pour indiquer à la commande pkgtrans d'écraser toute instance sur le périphérique de destination et l'option -n pour lui indiquer de créer une nouvelle instance s'il en existe déjà une. Notez que cette vérification n'est pas utilisée lorsque périphérique2 prend en charge un format flux de données.
Vous venez d'achever les étapes nécessaires à la conception, à la création, à la vérification et au transfert de votre package. Si vous souhaitez consulter quelques études cas, reportez-vous au Chapitre5Création d'un package : Études de cas. Si vous êtes intéressé par des idées de conception de package avancées, reportez-vous au Chapitre6Techniques avancées de création de packages.