Guide d'Oracle Solaris 11 Express Image Packaging System

Installation et gestion des packages

IPS vous permet de télécharger et d'installer des packages de logiciels à partir d'un référentiel de packages IPS.

ProcedureInstallation ou mise à jour d'un package

Par défaut, la version la plus récente d'un package compatible avec le reste de l'image est installée à partir de l'éditeur préféré. Si le package est déjà installé, il est mis à jour en installant la version la plus récente du package compatible avec le reste de l'image à partir de l'éditeur qui a fourni la version actuellement installée. Si vous avez plusieurs éditeurs configurés, vous pouvez contrôler quel éditeur fournit un package en définissant la persistance et l'ordre de recherche des éditeurs ou en spécifiant l'éditeur dans l'identificateur de ressource de gestion des pannes de package. Vous pouvez également spécifier la version que vous souhaitez installer dans l'identificateur de ressource de gestion des pannes de package. Reportez-vous à Identificateurs de ressource de gestion des pannes pour obtenir la description d'un identificateur de ressource de gestion des pannes de package. Un environnement d'initialisation peut être créé lorsque vous installez, mettez à jour ou désinstallez un package. Reportez-vous à Images et environnements d'initialisation pour plus d'informations sur la création d'environnement d'initialisation et une description des options - -be-name, --require-new-be et --deny-new-be.

  1. Utilisez la commande pkg install pour installer ou mettre à jour un package.

    Vous pouvez spécifier plusieurs modèles pkg-fmri.


    # pkg install pkg-fmri
    

Exemple 3–1 Installation d'un package

Dans cet exemple, le package installadm est installé. La sortie affiche l'état du téléchargement, le nombre de packages installés, le nombre de fichiers installés, ainsi que la taille du téléchargement en mégaoctets.


# pkg install install/installadm
DOWNLOAD     PKGS       FILES    XFER (MB)
Completed     9/9   1067/1067      6.1/6.1

PHASE                       ACTIONS
Install Phase             1458/1458

PHASE                         ITEMS
Package State Update Phase     9/9
Image State Update Phase       2/2


Exemple 3–2 Installation d'un package à partir d'un éditeur spécifique

Pour installer un package d'un éditeur spécifique, indiquez le nom de l'éditeur dans la commande pkg-fmri.


# pkg install pkg://example.com/developer/sunstudio12u1


Exemple 3–3 Installation d'une version spécifique d'un package

Pour installer une version spécifique d'un package, spécifiez les informations de version dans la commande pkg-fmri.


# pkg install pkg:/developer/sunstudio12u1@12.1.1,5.11-0.111:20100306T002245Z

ProcedureMise à jour d'un package

  1. Vous pouvez utiliser les sous-commandes install ou update pour mettre à jour un package.

    La sous-commande install installe le package s'il n'est pas déjà installé sur l'image. Si vous voulez être sûr d'actualiser uniquement les packages déjà installés, et ne pas installer de nouveaux packages, utilisez la sous-commande update.

    Vous pouvez spécifier plusieurs modèles pkg-fmri.


    # pkg update pkg-fmri
    

    Attention – Attention –

    Si vous utilisez la commande pkg update sans pkg-fmri spécifié, tous les packages installés qui ont des mises à jour disponibles sont mis à jour. Voir Mise à jour d'une image .


    Si une version plus récente d'un package installé est disponible et est compatible avec le reste de l'image, le package est mis à jour vers cette version. Reportez-vous à Installation ou mise à jour d'un package pour une description plus complète des packages et des éditeurs les installant.

ProcedureVisualisation d'une action d'installation sans installer

Vous pouvez vérifier exactement ce qui sera installé avant de procéder à toute installation. Grâce à l'option -n, vous pouvez exécuter la commande install sans apporter de modification persistante. L'option -n affiche les modifications qui seraient apportées si vous exécutiez la commande sans l'option - n. Vous pouvez également utiliser l'option -n avec les sous-commandes update et uninstall.

  1. Utilisez l'option -n avec la commande pkg install pour voir ce qui serait installé sans procéder à une réelle installation.

    L'option -v donne des informations détaillées.


    # pkg install -nv pkg-fmri
    

Exemple 3–4 Visualisation d'une action d'installation sans installer

La commande suivante donne des informations sur ce qui serait installé, mais sans procéder à une réelle installation.


# pkg install -n pkg:/developer/sunstudio12u1

ProcedureVérification de l'installation d'un package

  1. Utilisez la commande pkg verify pour valider l'installation d'un package.


    $ pkg verify pkg-fmri
    

    Vous pouvez spécifier plusieurs modèles pkg-fmri. Utilisez l'option -v pour afficher des messages d'information. Utilisez l'option -q pour afficher uniquement des messages d'erreur.


Exemple 3–5 Vérification de l'installation d'un package


$ pkg verify -v e1000g
Verifying: PACKAGE                       STATUS
pkg://solaris/driver/network/e1000g      OK

ProcedureCorrection des erreurs d'installation de package

  1. Utilisez la commande pkg fix pour corriger les erreurs d'installation de package signalées par la commande pkg verify.


    $ pkg fix --accept pkg-fmri
    

    Si vous ne spécifiez pas l'option --accept et qu'un ou plusieurs packages requièrent l'acceptation d'une licence, l'opération de correction échoue. Utilisez l'option --licences pour afficher toutes les licences pour les packages installés ou mis à jour par cette opération de correction.

ProcedureDésinstallation des packages

  1. Utilisez la commande pkg uninstall pour désinstaller les packages existants.

    Vous pouvez spécifier plusieurs modèles pkg-fmri. Vous devez spécifier au moins un modèle pkg-fmri.


    # pkg uninstall pkg-fmri
    

    Utilisez l'option -r pour chercher de façon récursive les packages qui contiennent des dépendances require sur le package pkg-fmri . Reportez-vous à Images et environnements d'initialisation pour plus d'informations sur la création d'environnement d'initialisation et une description des options - -be-name, --require-new-be et --deny-new-be.

ProcedureDésinstallation d'un package à partir d'un environnement d'initialisation inactif

  1. Montez l'environnement d'initialisation inactif à partir duquel le package doit être désinstallé.


    # beadm mount inactive-be mntpt
    
  2. Désinstallez le package.


    # pkg -R mntpt uninstall pkg-fmri
    
  3. Démontez l'environnement d'initialisation précédemment monté.


    # beadm unmount inactive-be
    

ProcedureRecherche de packages

  1. Utilisez la commande pkg search pour rechercher des packages dont les données correspondent au modèle spécifié.

    Vous pouvez spécifier plus d'un modèle. Plusieurs modèles requièrent l'opérande AND.


    $ pkg search pattern
    

    Par défaut, la recherche est effectuée sur les référentiels associés à tous les éditeurs configurés pour cette image. Utilisez l'option -l pour rechercher uniquement les packages installés dans cette image. Par défaut, les correspondances s'affichent uniquement pour les versions installées ou les plus récentes des packages. Utilisez l'option -f pour afficher toutes les versions correspondantes.


Exemple 3–6 Recherche d'un package dans l'image installée

L'exemple suivant illustre la recherche du package bash dans l'image installée. La colonne INDEX indique où la correspondance a été trouvée dans les données.


$ pkg search -l bash
INDEX      ACTION VALUE                      PACKAGE
pkg.fmri   set    solaris/shell/bash         pkg:/shell/bash@4.0.28-0.149
basename   file   usr/bin/bash               pkg:/shell/bash@4.0.28-0.149
basename   dir    etc/bash                   pkg:/shell/bash@4.0.28-0.149
basename   dir    usr/share/bash             pkg:/shell/bash@4.0.28-0.149


Exemple 3–7 Recherche d'un package dans un référentiel spécifié

Dans cet exemple, deux référentiels qui ne sont pas configurés pour cette image sont explorés.


$ pkg search -s http://pkg.example1.com/release \
-s http://pkg.example2.com/release ksh


Exemple 3–8 Recherche d'un package offrant un fichier spécifique

Cet exemple montre que la bibliothèque libdhcpagent provient du package system/library.


$ pkg search -l /lib/libdhcpagent.so.1
INDEX      ACTION VALUE                 PACKAGE
path       file   lib/libdhcpagent.so.1 pkg:/system/library@0.5.11-0.149


Exemple 3–9 Recherche à l'aide de caractères génériques et de directives booléennes

Plusieurs modèles requièrent l'opérande AND par défaut. Vous pouvez également spécifier OR, * et ?.


$ pkg search netbeans AND plug*in OR ide


Exemple 3–10 Recherche avec champs

La chaîne de recherche peut être spécifiée comme l'ensemble de champs suivant :

pkg_name:action_type:key:token

Les champs manquants sont implicitement considérés comme des caractères génériques. Des caractères génériques explicites peuvent être utilisés dans les champs pkg_name et token. Les champs action_type et key doivent correspondre exactement. Reportez-vous à la section Actions de la page de manuel pkg(5) pour voir une liste de tous les types d'action. Parmi les exemples de clés se trouvent basename , description et driver_name.


$ pkg search -l 'depend::package/pkg'
INDEX       ACTION VALUE                    PACKAGE
incorporate depend package/pkg@0.5.11-0.150 pkg:/consolidation/ips/ips-incorporation@0.5.11-0.150
require     depend package/pkg              pkg:/package/pkg/package-manager@0.5.11-0.150
require     depend package/pkg              pkg:/system/zones/brand/ipkg@0.5.11-0.150

ProcedureAffichage du contenu d'un package

  1. Utilisez la commande pkg contents pour afficher les attributs d'action d'un package.

    Par défaut, seul l'attribut de chemin est indiqué. Utilisez l'option -o pour spécifier d'autres valeurs d'attributs à afficher. Vous pouvez spécifier plusieurs modèles pkg-fmri. Si vous ne spécifiez aucun modèle pkg-fmri, les données sont affichées pour tous les packages installés. Si le package n'est pas installé, vous devez utiliser l'option -r pour récupérer des données de tous les éditeurs configurés pour cette image. Lorsque vous utilisez l'option -r, vous devez spécifier un ou plusieurs modèles pkg-fmri.


    $ pkg contents pkg-fmri
    

Exemple 3–11 Présentation sous forme de liste du contenu d'un package

Dans cet exemple, la taille et le chemin de chaque fichier du package e1000g sont répertoriés :


$ pkg contents -t file -o pkg.size,path network/e1000g
PKG.SIZE PATH
  471656 kernel/drv/amd64/e1000g
  323612 kernel/drv/e1000g
    4238 kernel/drv/e1000g.conf

ProcedureAffichage des informations sur les packages

  1. Utilisez la commande pkg info pour afficher des informations sur un package.

    Vous pouvez spécifier plusieurs modèles pkg-fmri. Si vous ne spécifiez aucun modèle pkg-fmri, les informations relatives à tous les packages installés s'affichent. Si le package n'est pas installé, vous devez utiliser l'option -r pour récupérer des données de tous les éditeurs configurés pour cette image. Lorsque vous utilisez l'option -r, vous devez spécifier un ou plusieurs modèles pkg-fmri.


    $ pkg info pkg-fmri
    

Exemple 3–12 Affichage des informations sur un package spécifique

Cet exemple affiche des informations sur le package openoffice. Dans cet exemple, l'option -r est utilisée pour afficher les informations, même si le package n'est pas installé.


$ pkg info -r openoffice
          Name: openoffice
       Summary: OpenOffice.org 3.1.0
      Category: Applications/Office
         State: Not installed
     Publisher: solaris
       Version: 3.1.0
 Build Release: 5.11
        Branch: 0.111
Packaging Date: May 18, 2009 06:27:12 AM
          Size: 430.65 MB
FMRI: pkg://solaris/openoffice@3.1.0,5.11-0.111:20090518T062712Z


Exemple 3–13 Affichage des informations de copyright et de licence relatives à un package

Cet exemple affiche les informations de copyright et de licence relatives au package firefox.


$ pkg info --license firefox
Copyright (c) 2008, 2010, Oracle and/or its affiliates.  All rights reserved.

Copyright (c) 1998-2010 by Contributors. All rights reserved.
Firefox and the Firefox logos are trademarks of the Mozilla Foundation. All rights reserved.

ProcedurePrésentation sous forme de liste des informations d'état du package

Les deux sous-commandes info et list affichent le nom et l'éditeur du package et certaines informations de version. En plus du nom et de l'éditeur du package, la commande pkg info affiche le résumé, la catégorie et la taille du package. La commande pkg list indique si une mise à jour existe pour le package, si une mise à jour peut être installée dans cette image et si le package est obsolète ou renommé. La commande pkg info affiche plusieurs lignes d'informations sur chaque package. La commande pkg list affiche une ligne d'informations sur chaque package.

  1. Utilisez la commande pkg list pour afficher les informations d'état sur un package, par exemple si une mise à jour est disponible.


    $ pkg list pkg-fmri
    

    Vous pouvez spécifier plusieurs modèles pkg-fmri. Si vous ne spécifiez aucun modèle pkg-fmri, tous les packages installés sont répertoriés. La commande pkg list -u permet d'afficher la liste de tous les packages installés qui ont de nouvelles versions disponibles.

    La commande pkg list affiche les informations suivantes :

    NAME (PUBLISHER)

    Nom du package. S'il n'est pas le préféré, l'éditeur figure entre parenthèses dans la liste après le nom du package.

    VERSION

    Version et versions de branche du package. Si vous spécifiez l'option -v, la colonne VERSION n'est pas affichée. Au lieu de cela, l'identificateur de ressource de gestion des pannes du package est indiqué dans la colonne NAME.

    STATE

    Etat du package. L'état est installed (installé) ou known (connu).

    UFOXI

    Indicateurs qui donnent des informations sur la manière dont le package se rapporte à d'autres packages dans l'image.

    U

    Un u dans la colonne U indique qu'une version plus récente de ce package est disponible. La nouvelle version sera peut-être impossible à installer à cause des dépendances du package ou d'autres contraintes. Reportez-vous à l'option -a dans l'Exemple 3–16.

    O

    Un o dans la colonne O indique que ce package est obsolète. Un r dans la colonne O indique que ce package a été renommé.


Exemple 3–14 Répertorier un package installé

Dans cet exemple, le package est installé à partir de l'éditeur préféré et dispose d'une mise à jour disponible.


$ pkg list firefox
NAME (PUBLISHER)       VERSION         STATE      UFOXI
web/browser/firefox    0.5.11-0.150    installed  u----


Exemple 3–15 Liste des versions les plus récentes d'un package

Utilisez l'option -n pour répertorier les versions les plus récentes d'un package depuis l'ensemble des éditeurs configurés.


$ pkg list -n firefox
NAME (PUBLISHER)                     VERSION         STATE      UFOXI
web/browser/firefox (example.com)    0.5.11-0.151    known      -----
web/browser/firefox                  0.5.11-0.150    installed  u----


Exemple 3–16 Répertorier un package non installé

Utilisez l'option -a pour répertorier les packages installés et la version la plus récente disponible pour installation. Les packages sont disponibles pour installation s'ils sont autorisés par les incorporations installées et par les variantes de l'image. Dans cet exemple, le package n'est pas encore installé mais il est disponible pour installation à partir de l'éditeur préféré. Le package sunstudio12u1 a été renommé developer/sunstudio12u1 .


$ pkg list -a sunstudio12u1
NAME (PUBLISHER)           VERSION         STATE      UFOXI
developer/sunstudio12u1    12.1.1-0.111    known      -----
sunstudio12u1              12.1.1-1        known      --r--


Exemple 3–17 Liste des noms et résumés de packages

Utilisez l'option -s pour afficher uniquement le nom et le résumé du package.


$ pkg list -s developer/sunstudio12u1
NAME (PUBLISHER)           SUMMARY
developer/sunstudio12u1    Sun Studio - C, C++, & Fortran compilers and Tools

ProcedureAffichage d'une variante

Une variante est un composant incompatible d'un package tel qu'une architecture. Les variantes apparaissent comme des repères sur des actions IPS et déterminent si cette action est installable. Si une action comporte des repères de variante, tous les repères de variante doivent correspondre aux critères de sélection pour installer l'action.

  1. Utilisez la commande pkg variant pour afficher les valeurs des variantes d'une image.


    $ pkg variant variant_spec
    

    Vous pouvez spécifier plusieurs variant_spec.


Exemple 3–18 Affichage des valeurs de toutes les variantes


$ pkg variant
VARIANT              VALUE
variant.solaris.zone global
variant.arch         i386

ProcedureModification d'une variante

  1. Utilisez la commande pkg change-variant pour modifier la valeur d'une variante.


    # pkg change-variant -n --accept variant_spec=instance
    

    Utilisez l'option -n pour voir ce qui serait modifié si vous aviez effectué l'opération sans -n, mais sans effectuer de modification réelle. Un environnement d'initialisation peut être créé. Voir Images et environnements d'initialisation.


Exemple 3–19 Modification d'une variante


# pkg change-variant -n --accept variant.debug=false

ProcedureAffichage d'une facette

Une facette constitue un composant optionnel d'un package tel qu'un environnement linguistique. Les facettes apparaissent comme des repères sur des actions IPS et déterminent si cette action est installable. Si une action comporte des repères de facette, au moins un repère de facette doit correspondre aux critères de sélection pour installer l'action.

  1. Utilisez la commande pkg facet pour afficher les valeurs actuelles de toutes les facettes définies dans l'image active.


    $ pkg facet facet_spec
    

    Vous pouvez spécifier plusieurs facet_spec.


Exemple 3–20 Affichage de toutes les facettes de l'image active


$ pkg facet
FACETS       VALUE
facet.devel  FALSE

ProcedureModification d'une facette

  1. Utilisez la commande pkg change-facet pour modifier les valeurs actuelles d'une facette.


    # pkg change-facet -n --accept facet_spec=True|False|None
    

    Utilisez l'option -n pour voir ce qui serait modifié si vous aviez effectué l'opération sans -n, mais sans effectuer de modification réelle. Un environnement d'initialisation peut être créé. Voir Images et environnements d'initialisation.

    Si la valeur de la facette est None, sa spécification est supprimée de l'image active.


Exemple 3–21 Modification d'une facette dans l'image actuelle


# pkg change-facet facet.devel=True
$ pkg facet facet.devel
FACETS       VALUE
facet.devel  TRUE

ProcedureAffichage et suppression de l'historique des opérations

  1. Utilisez la commande pkg history pour afficher l'historique des commandes dans l'image active.

    Utilisez l'option -l pour afficher plus d'informations, notamment le résultat de la commande, le temps d'exécution de la commande, la version et le nom du client utilisé, le nom de l'utilisateur qui a effectué l'opération et les erreurs survenues lors de l'exécution de la commande. Utilisez l'option -n pour afficher uniquement le nombre spécifié d'opérations les plus récentes.


    $ pkg history
    TIME                OPERATION                 CLIENT    OUTCOME
    2010-10-16T16:32:46 update-publisher          pkg       Succeeded
    2010-10-16T16:34:42 refresh-publishers        pkg       Succeeded
    2010-10-16T16:36:04 rebuild-image-catalogs    pkg       Succeeded
    2010-10-16T16:38:17 install                   pkg       Succeeded
  2. Utilisez la commande pkg purge-history pour supprimer toutes les informations d'historique des commandes.


    # pkg purge-history