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

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

Cette étude de cas crée un fichier de base de données lors de la phase d'installation et enregistre une copie de la base de données à la suppression du package.

Techniques

Cette étude de cas illustre les techniques suivantes :

Démarche

Pour créer un fichier de base de données lors de l'installation et enregistrer une copie lors de la suppression, vous devez pour cette étude de cas effectuer les opérations suivantes :

Fichiers de l'étude de cas

Fichier pkginfo

PKG=krazy
NAME=KrAzY Applications
CATEGORY=applications
BASEDIR=/opt
ARCH=SPARC
VERSION=Version 1
CLASSES=none cfgdata admin

Fichier prototype

i pkginfo
i request
i i.admin
i r.cfgdata
d none bin 555 root sys
f none bin/process1 555 root other
f none bin/process2 555 root other
f none bin/process3 555 root other
f admin bin/config 500 root sys
d admin cfg 555 root sys
f admin cfg/datafile1 444 root sys
f admin cfg/datafile2 444 root sys
f admin cfg/datafile3 444 root sys
f admin cfg/datafile4 444 root sys
d cfgdata data 555 root sys

Fichier space

# extra space required by config data which is
# dynamically loaded onto the system
data 500 1

Script d'action de classe i.admin

# PKGINST parameter provided by installation service
# BASEDIR parameter provided by installation service
while read src dest
do
   cp $src $dest || exit 2
done
# if this is the last time this script will be executed
# during the installation, do additional processing here.
if [ "$1" = ENDOFCLASS ]
then
# our config process will create a data file based on any changes
# made by installing files in this class; make sure the data file
# is in class `cfgdata' so special rules can apply to it during
# package removal.
   installf -c cfgdata $PKGINST $BASEDIR/data/config.data f 444 root
   sys || exit 2
   $BASEDIR/bin/config > $BASEDIR/data/config.data || exit 2
   installf -f -c cfgdata $PKGINST || exit 2
fi
exit 0

Cet exemple illustre une situation rare dans laquelle installf est approprié dans un script d'action de classe. Le fichier space ayant été utilisé pour réserver de l'espace sur un système de fichiers spécifique, ce nouveau fichier peut être ajouté sans problèmes bien qu'il ne soit pas inclus dans le fichier pkgmap.

Script de suppression r.cfgdata

# the product manager for this package has suggested that
# the configuration data is so valuable that it should be
# backed up to $PKGSAV before it is removed!
while read path
do
# path names appear in reverse lexical order.
   mv $path $PKGSAV || exit 2
   rm -f $path || exit 2
done
exit 0