Ignorer les liens de navigation | |
Quitter l'aperu | |
Pages de manuel d'Image Packaging System Oracle Solaris 11 Information Library (Français) |
- Utilitaire de fusion de package Image Packaging System
/usr/bin/pkgmerge [-n] -d dest_repo -s variant=value[,...],src_repo ... [pkg_fmri_pattern ...]
pkgmerge est un outil de publication de package permettant la création de packages à variantes multiples. Il effectue cette opération en fusionnant les packages dont les noms et les versions sont identiques (à l'exclusion de l'horodatage), en balisant les actions qui sont uniques dans les versions en cours de fusion avec le nom et la valeur de la variante spécifiée pour la source donnée, puis en publiant les nouveaux packages dans le référentiel cible. Seule la version la plus récente de chaque package de chaque source est utilisée.
Si une action a l'attribut pkg.merge.blend défini sur le nom de la variante en cours de fusion, cette action est copiée dans l'autre manifeste avant la fusion afin que l'action s'affiche sans balise de variante ajouté dans la sortie finale. Notez que l'attribut pkg.merge.blend lui-même est supprimé de toutes les actions dans le manifeste de sortie. Cet attribut peut être répété avec des valeurs différentes pour des fusions à plusieurs passes.
Les actions non identiques qui fournissent au même chemin dans un résultat de manifeste d'entrée entraîne la sortie de pkgmerge avec une erreur.
Les options suivantes sont prises en charge :
Chemin de système de fichiers ou URI du référentiel cible vers lequel publier les packages fusionnés. Le référentiel cible doit déjà exister. Les nouveaux référentiels peuvent être créés à l'aide de pkgrepo(1).
Effectue une série de tests sans apporter de modifications au référentiel cible.
Nom et la valeur de la variante à utiliser pour les packages de cette source, suivis par le chemin de système de fichiers ou l'URI du référentiel source ou l'archive de package à partir desquels récupérer les packages. Plusieurs variantes peuvent être spécifiées en les séparant par des virgules. Les mêmes variantes doit être nommées pour toutes les sources. Cette option peut être spécifiée plusieurs fois.
Affiche un message d'utilisation.
La variable d'environnement suivante est prise en charge :
Chemin absolu au répertoire dans lequel les données temporaires doivent être stockées lors de l'exécution du programme. Si elle n'est pas définie, la valeur par défaut est de stocker des données temporaires dans /var/tmp.
Exemple 1 Spécification du nom et de la valeur de la variante
Marque chaque package trouvé dans la source indiquée avec le nom et la valeur de la variante donnée pour la source à partir de laquelle il a été récupéré.
$ pkgmerge -s arch=sparc,http://src.example.com \ -d http://dest.example.com
Exemple de package :
set name=pkg.fmri value=pkg://example.com/foo@5.11,5.11-0.200:20381001T163427Z dir group=sys mode=0755 owner=root path=usr
Exemple de package après l'opération :
set name=pkg.fmri value=pkg://example.com/foo@5.11,5.11-0.200:20381001T163427Z set name=variant.arch value=sparc dir group=sys mode=0755 owner=root path=usr
Exemple 2 Fusion et publication de packages
Fusionnez la version la plus récente de chaque package des sources données et publiez les nouveaux packages dans le référentiel cible :
$ pkgmerge -s arch=sparc,http://src1.example.com \ -s arch=i386,http://src2.example.com \ -d /path/to/target/repository
Exemple de package depuis la source 1 (SPARC) :
set name=pkg.fmri value=pkg://example.com/foo@5.11,5.11-0.200:20381001T121410Z file id mode=0555 owner=root group=bin path=usr/bin/foo dir group=sys mode=0755 owner=root path=usr
Exemple de package depuis la source 2 (i386) :
set name=pkg.fmri value=pkg://example.com/foo@5.11,5.11-0.200:20381001T163427Z file id mode=0555 owner=root group=bin path=usr/bin/foo dir group=sys mode=0755 owner=root path=usr
Package fusionné :
set name=pkg.fmri value=pkg://example.com/foo@5.11,5.11-0.200:20381001T163427Z set name=variant.arch value=sparc value=i386 file id mode=0555 owner=root group=bin path=usr/bin/foo variant.arch=sparc file id mode=0555 owner=root group=bin path=usr/bin/foo variant.arch=i386 dir group=sys mode=0755 owner=root path=usr
Exemple 3 Fusion de packages avec débogage et sans débogage pour les systèmes i386 et SPARC
Fusion de la version la plus récente de chaque package dans un ensemble de référentiels avec débogage et sans débogage pour les systèmes i386 et SPARC :
$ pkgmerge -s arch=sparc,debug=false,/repo/sparc-nondebug \ -s arch=sparc,debug=true,/repo/sparc-debug \ -s arch=i386,debug=false,/repo/i386-nondebug \ -s arch=i386,debug=true,/repo/i386-debug \ -d /path/to/target/repository
Exemple de package depuis la source 1 (SPARC sans débogage) :
set name=pkg.fmri value=pkg://example.com/foo@5.11,5.11-0.200:20381001T121410Z file id mode=0555 owner=root group=bin path=usr/bin/foo dir group=sys mode=0755 owner=root path=usr
Exemple de package depuis la source 2 (SPARC avec débogage) :
set name=pkg.fmri value=pkg://example.com/foo@5.11,5.11-0.200:20381001T121411Z file id mode=0555 owner=root group=bin path=usr/bin/foo dir group=sys mode=0755 owner=root path=usr
Exemple de package depuis la source 3 (i386 sans débogage) :
set name=pkg.fmri value=pkg://example.com/foo@5.11,5.11-0.200:20381001T163427Z file id mode=0555 owner=root group=bin path=usr/bin/foo dir group=sys mode=0755 owner=root path=usr
Exemple de package depuis la source 4 (i386 avec débogage) :
set name=pkg.fmri value=pkg://example.com/foo@5.11,5.11-0.200:20381001T163428Z file id mode=0555 owner=root group=bin path=usr/bin/foo dir group=sys mode=0755 owner=root path=usr
Package fusionné :
set name=pkg.fmri value=pkg://example.com/foo@5.11,5.11-0.200:20381001T163428Z set name=variant.arch value=sparc value=i386 set name=variant.debug value=false value=true file id mode=0555 owner=root group=bin path=usr/bin/foo variant.arch=sparc variant.debug=false file id mode=0555 owner=root group=bin path=usr/bin/foo variant.arch=sparc variant.debug=true file id mode=0555 owner=root group=bin path=usr/bin/foo variant.arch=i386 variant.debug=false file id mode=0555 owner=root group=bin path=usr/bin/foo variant.arch=i386 variant.debug=true dir group=sys mode=0755 owner=root path=usr
Exemple 4 Fusion à l'aide de pkg.merge.blend
Fusion de packages pour deux architectures qui ne se heurtent pas, à l'aide de l'attribut pkg.merge.blend.
$ pkgmerge -s arch=sparc,http://src1/example.com \ -s arch=i386,http://src2.example.com \ -d /path/to/target/repository
Exemple de package depuis la source 1 (SPARC) :
set name=pkg.fmri value=pkg://example.com/foo@5.11,5.11-0.200:20381001T121410Z file 1d5eac1aab628317f9c088d21e4afda9c754bb76 mode=0555 owner=root \ group=bin path=usr/bin/sparc/foo pkg.merge.blend=arch file d285ada5f3cae14ea00e97a8d99bd3e357caadc0 mode=0555 owner=root \ group=bin path=usr/bin/foo dir group=sys mode=0755 owner=root path=usr
Exemple de package depuis la source 2 (i386) :
set name=pkg.fmri value=pkg://example.com/foo@5.11,5.11-0.200:20381001T163427Z file a285ada5f3cae14ea00e97a8d99bd3e357cb0dca mode=0555 owner=root \ group=bin path=usr/bin/i386/foo pkg.merge.blend=arch file d285ada5f3cae14ea00e97a8d99bd3e357caadc0 mode=0555 owner=root \ group=bin path=usr/bin/foo dir group=sys mode=0755 owner=root path=usr
Package fusionné :
set name=pkg.fmri value=pkg://example.com/foo@5.11,5.11-0.200:20381001T163427Z set name=variant.arch value=sparc value=i386 file d285ada5f3cae14ea00e97a8d99bd3e357caadc0 mode=0555 owner=root \ group=bin path=usr/bin/foo file a285ada5f3cae14ea00e97a8d99bd3e357cb0dca mode=0555 owner=root \ group=bin path=usr/bin/i386/foo file 1d5eac1aab628317f9c088d21e4afda9c754bb76 mode=0555 owner=root \ group=bin path=usr/bin/sparc/foo dir group=sys mode=0755 owner=root path=usr
Les valeurs de sortie renvoyées sont les suivantes :
La commande a réussi.
Une erreur s'est produite.
Des options de ligne de commande incorrectes ont été spécifiées.
Une exception imprévue est survenue.
Reportez-vous à attributes(5) pour obtenir la description des attributs suivants :
|
http://hub.opensolaris.org/bin/view/Project+pkg/