JavaScript is required to for searching.
Ignorer les liens de navigation
Quitter l'aperu
Guide du développeur de l'empaquetage d'applications     Oracle Solaris 10 1/13 Information Library (Français)
search filter icon
search icon

Informations document

Préface

1.  Conception d'un package

2.  Création d'un package

3.  Amélioration de la fonctionnalité d'un package (opérations)

4.  Vérification et transfert d'un package

5.  Création d'un package : Etudes de cas

Demande de participation de l'administrateur

Techniques

Démarche

Fichiers de l'étude de cas

Fichier pkginfo

Fichier prototype

Script request

Création d'un fichier lors de l'installation et enregistrement du fichier lors de la suppression

Techniques

Démarche

Fichiers de l'étude de cas

Fichier pkginfo

Fichier prototype

Fichier space

Script d'action de classe i.admin

Script de suppression r.cfgdata

Définition des compatibilités et des dépendances d'un package

Techniques

Démarche

Fichiers de l'étude de cas

Fichier pkginfo

Fichier copyright

Fichier compver

Fichier depend

Modification d'un fichier à l'aide de classes standard et de scripts d'action de classe

Techniques

Démarche

Fichiers de l'étude de cas

Fichier pkginfo

Fichier prototype

Script d'action de classe d'installation i.inittab

Script d'action de classe de suppression r.inittab

Fichier inittab

Modification d'un fichier à l'aide de la classe sed et d'un script postinstall

Techniques

Démarche

Fichiers de l'étude de cas

Fichier pkginfo

Fichier prototype

Script d'action de classe sed (/etc/inittab)

Script postinstall

Modification d'un fichier à l'aide de la classe build

Techniques

Démarche

Fichiers de l'étude de cas

Fichier pkginfo

Fichier prototype

Fichier de version

Modification de fichiers crontab au cours de l'installation

Techniques

Démarche

Fichiers de l'étude de cas

Commande pkginfo

Fichier prototype

Script d'action de classe d'installation i.cron

Script d'action de classe de suppression r.cron

Premier fichier crontab

Deuxième fichier crontab

Installation et suppression d'un pilote à l'aide de scripts de procédure

Techniques

Démarche

Fichiers de l'étude de cas

Fichier pkginfo

Fichier prototype

Script request

Script postinstall

Script preremove

Installation d'un pilote à l'aide de la classe sed et de scripts de procédure

Techniques

Démarche

Fichiers de l'étude de cas

Fichier pkginfo

Fichier prototype

Script d'action de classe sed (/etc/devlink.tab)

Script d'installation postinstall

Script de suppression preremove

Fichier copyright

6.  Techniques avancées de création de packages

Glossaire

Index

Modification d'un fichier à l'aide de la classe build

Cette étude de cas modifie un fichier présent sur la machine d'installation lors de l'installation du package. Elle utilise une des trois méthodes de modification disponibles. Les deux autres méthodes sont décrites dans les rubriques Modification d'un fichier à l'aide de classes standard et de scripts d'action de classe et Modification d'un fichier à l'aide de la classe sed et d'un script postinstall. Le fichier modifié est /etc/inittab.

Techniques

Cette étude de cas illustre l'utilisation de la classe build. Pour plus d'informations sur la classe build, reportez-vous à Script de classe build.

Démarche

Cette démarche de modification du fichier /etc/inittab utilise la classe build. Un script de classe build est exécuté comme un script shell et son résultat devient la nouvelle version du fichier exécuté. Autrement dit, le fichier de données /etc/inittab fourni avec ce package est exécuté et le résultat de cette exécution devient /etc/inittab.

Le script de classe build est exécuté lors de l'installation et de la suppression du package. L'argument install est transmis au fichier s'il est exécuté lors de la phase d'installation. Remarquez dans l'exemple de script de classe build que la procédure d'installation est définie en testant cet argument.

Pour modifier /etc/inittab à l'aide de la classe build, vous devez effectuer les opérations suivantes :

Cette solution résout les inconvénients décrits dans les études de cas des rubriques Modification d'un fichier à l'aide de classes standard et de scripts d'action de classe et Modification d'un fichier à l'aide de la classe sed et d'un script postinstall. Seul un bref fichier est nécessaire (outre les fichiers pkginfo et prototype). Le fichier fonctionne avec plusieurs instances d'un package puisque le paramètre PKGINST est utilisé ; par ailleurs, aucun script postinstall n'est requis puisque la commande init q peut être exécutée à partir du script de classe build.

Fichiers de l'étude de cas

Fichier pkginfo

PKG=case6
NAME=Case Study #6
CATEGORY=applications
BASEDIR=/opt
ARCH=SPARC
VERSION=Version 1d05
CLASSES=build

Fichier prototype

i pkginfo
e build /etc/inittab ? ? ?

Fichier de version

# PKGINST parameter provided by installation service
# remove all entries from the existing table that
# are associated with this PKGINST
sed -e "/^[^:]*:[^:]*:[^:]*:[^#]*#$PKGINST$/d" /etc/inittab ||
exit 2
if [ "$1" = install ]
then
# add the following entry to the table
echo "rb:023456:wait:/usr/robot/bin/setup #$PKGINST" ||
exit 2
fi
/sbin/init q ||
exit 2
exit 0