Fichier pkgmap
Objectif
Décrit le format d'un fichier de description de contenu de package.
Descriptif
| Zone | Descriptif |
|---|---|
| composant | Zone désignant le numéro de pièce dans lequel réside l'objet. Une partie est une collection de fichiers et correspond à l'unité atomique par laquelle un package est traité. Un développeur peut choisir les critères de regroupement des fichiers dans une partie (par exemple, en fonction de la classe). Si aucune valeur n'est définie dans cette zone, la partie 1 est prise en compte. |
| ftype | Zone à un caractère qui indique le type de fichier. Les valeurs valides sont :
Une fois qu'un fichier possède l'attribut de type de fichier v, il est toujours volatil. Par exemple, si un fichier en cours d'installation existe déjà et possède l'attribut de type de fichier v, même si la version du fichier en cours d'installation n'est pas spécifiée comme étant volatile, l'attribut de type de fichier reste volatil. |
| class | Classe d'installation à laquelle appartient le fichier. Ce nom ne doit contenir que des caractères alphanumériques et ne doit pas dépasser 12 caractères. Elle n'est pas spécifiée si ftype est i (fichier d'informations). |
| nom de chemin | Chemin d'accès à l'emplacement de l'objet sur la machine cible, tel que /usr/bin/mail. Les chemins d'accès relatifs (ceux qui ne commencent pas par une barre oblique) indiquent que le fichier est relocalisable. Pour les fichiers liés (ftype est l ou s), le nom de chemin doit être sous la forme chemin1=chemin2, path1 spécifiant la destination du lien et path2 la source du lien. Pour les fichiers liés symboliquement, lorsque path2 est un nom de chemin relatif commençant par ./ ou ../, path2 n'est pas considéré comme relocalisable. Par exemple, si vous entrez une ligne telle que
path1 (/foo/bar/etc/mount) est un lien symbolique vers ../usr/sbin/mount. pathname peut contenir des variables qui prennent en charge le réadressage du fichier. Un paramètre "$" peut être imbriqué dans la structure de nom de chemin. $BASEDIR peut être utilisé pour identifier les répertoires parent de la hiérarchie de chemins d'accès, ce qui rend le package complet facilement relocalisable. Les valeurs par défaut du paramètre et BASEDIR doivent être fournies dans le fichier pkginfo et peuvent être remplacées lors de l'installation. Caractères spéciaux, tels qu'un signe égal ("="), sont inclus dans les chemins d'accès en les plaçant entre apostrophes (par exemple, '/usr/lib/ ~ ='). |
| majeur | Numéro de l'unité principale. La zone n'est indiquée que pour les unités spéciales de type bloc ou caractère. |
| mineur | Numéro d'unité secondaire. La zone n'est indiquée que pour les unités spéciales de type bloc ou caractère. |
| mode | Mode octal du fichier (par exemple, 0664). Un point d'interrogation ("?") indique que le mode reste inchangé, ce qui implique que le fichier existe déjà sur la machine cible. Cette zone n'est pas utilisée pour les fichiers liés, les fichiers d'informations de conditionnement ou les fichiers non installables. |
| propriétaire | Propriétaire du fichier (par exemple, bin ou root). La longueur de la zone est limitée à 14 caractères. Un point d'interrogation ("?") indique que le propriétaire est laissé inchangé, ce qui implique que le fichier existe déjà sur la machine cible. Cette zone n'est pas utilisée pour les fichiers liés ou les fichiers non installables. Il est utilisé en option avec un fichier d'informations de package. S'il est utilisé, il indique avec quel propriétaire un script d'installation est exécuté. Le propriétaire peut être une spécification de variable sous la forme $ [ A-Z ] et est résolu lors de l'installation. |
| group | Groupe auquel appartient le fichier (par exemple, bin ou sys). La longueur de la zone est limitée à 14 caractères. Un point d'interrogation ("?") indique que le groupe reste inchangé, ce qui implique que le fichier existe déjà sur la machine cible. Cette zone n'est pas utilisée pour les fichiers liés ou les fichiers non installables. Il est utilisé en option avec un fichier d'informations de package. S'il est utilisé, il indique avec quel groupe un script d'installation est exécuté. Il peut s'agir d'une affectation de variable sous la forme $ [ A-Z ] et elle est résolue lors de l'installation. |
| Taille | Taille réelle du fichier en octets. Cette zone n'est pas spécifiée pour les canaux de communication nommés, les unités spéciales, les répertoires ou les fichiers liés. |
| CKSUM | Total de contrôle du contenu du fichier. Cette zone n'est pas spécifiée pour les canaux de communication nommés, les unités spéciales, les répertoires ou les fichiers liés. |
| modheure | Heure de la dernière modification. Cette zone n'est pas spécifiée pour les canaux de communication nommés, les unités spéciales, les répertoires ou les fichiers liés. |
| Zone | Descriptif |
|---|---|
| Adresse MAC | L'identificateur de niveau MAC (contrôle d'accès obligatoire), une valeur entière qui spécifie une combinaison d'une classification hiérarchique et de zéro ou plusieurs catégories non hiérarchiques. Un point d'interrogation ("?") indique que le champ mac doit rester inchangé, ce qui implique que le fichier existe déjà sur la machine cible. Cette zone ne peut être appliquée qu'à un fichier sur un système de fichiers sfs et n'est pas utilisée pour les fichiers liés ou les fichiers d'informations de conditionnement. Remarque: le contrôle d'accès obligatoire n'est pas pris en charge dans cette édition ; cette zone est disponible uniquement à des fins de compatibilité avec les versions antérieures. La valeur 0 doit être utilisée si vous devez spécifier cette zone.
|
| réparé | Liste de noms de privilèges fixes mnémoniques valides, séparés par des virgules, tels que définis pour la commande filepriv. La chaîne NULL est utilisée à la place de la liste séparée par des virgules lorsque des privilèges fixes ne doivent pas être spécifiés. Un point d'interrogation ("?") indique que le champ fixe doit rester inchangé, ce qui implique que le fichier existe déjà sur la machine cible. Si l'attribut fixe n'est pas fourni, les fichiers sont installés sans privilèges fixes. Cette zone n'est pas utilisée pour les fichiers liés ou les fichiers d'informations de conditionnement. Remarque: les privilèges fixes n'ont aucun effet dans l'édition actuelle. Cette fonction est maintenue uniquement à des fins de compatibilité avec les versions antérieures.
|
| hérité | Liste de noms de privilèges hérités mnémoniques valides, séparés par des virgules, tels que définis pour la commande filepriv . La chaîne NULL est utilisée à la place de la liste séparée par des virgules lorsque le privilège ne doit pas être spécifié. Un point d'interrogation ("?") indique que le champ hérité doit rester inchangé, ce qui implique que le fichier existe déjà sur la machine cible. Si l'attribut hérité n'est pas fourni, les fichiers sont installés sans privilèges hérités. Cette zone n'est pas utilisée pour les fichiers liés ou les fichiers d'informations de conditionnement. Remarque: les privilèges héritables n'ont aucun effet dans l'édition en cours. Cette fonction est maintenue uniquement à des fins de compatibilité avec les versions antérieures.
|
:number_of_parts maximum_part_sizeLes lignes commençant par "" #" " sont des lignes de commentaire et sont ignorées.
Lorsque des fichiers sont sauvegardés lors de l'installation avant d'être écrasés, ils sont généralement simplement copiés dans un chemin d'accès temporaire. Toutefois, pour les fichiers dont le mode inclut le droit d'exécution (mais qui ne sont pas modifiables), la version existante est liée à un chemin d'accès temporaire et le fichier d'origine est supprimé. Cela permet d'écraser les processus en cours d'exécution lors de l'installation.
Le fichier pkgmap ne peut contenir qu'une seule entrée par chemin d'accès unique.
Un type de répertoire exclusif (file) de type x spécifie les répertoires qui sont contraints de contenir uniquement les fichiers qui apparaissent dans la base de données du logiciel d'installation (/var/sadm/install/contents). S'il existe d'autres fichiers dans le répertoire, ils sont supprimés par pkgchk -fx comme décrit sur la page de manuel de la commande pkgchk .
Les spécifications de variable pour les zones owner et group sont définies dans le fichier pkginfo . Par exemple, owner peut être $OWNER dans le fichier pkgmap ; si OWNER est défini comme root dans le fichier pkginfo , $OWNER obtient la valeur root lors de l'installation du fichier.
Exemples
:2 500
1 i pkginfo 237 1179 541296672
1 b class1 /dev/diskette 17 134 0644 root other
1 c class1 /dev/rdiskette 17 134 0644 root other
1 d none bin 0755 root bin
1 f none bin/INSTALL 0755 root bin 11103 17954 541295535
1 f none bin/REMOVE 0755 root bin 3214 50237 541295541
1 l none bin/UNINSTALL=bin/REMOVE
1 f none bin/cmda 0755 root bin 3580 60325 541295567 0 NULL
macread,macwrite
1 f none bin/cmdb 0755 root bin 49107 51255 541438368
1 f class1 bin/cmdc 0755 root bin 45599 26048 541295599
1 f class1 bin/cmdd 0755 root bin 4648 8473 541461238
1 f none bin/cmde 0755 root bin 40501 1264 541295622
1 f class2 bin/cmdf 0755 root bin 2345 35889 541295574
1 f none bin/cmdg 0755 root bin 41185 47653 541461242
2 d class2 data 0755 root bin
2 p class1 data/apipe 0755 root other
2 d none log 0755 root bin 0 NULL NULL
2 v none log/logfile 0755 root bin 41815 47563 541461333
2 d none save 0755 root bin
2 d none spool 0755 root bin
2 d none tmp 0755 root bin