IPS vous permet de télécharger et d'installer des packages de logiciels à partir d'un référentiel de packages IPS.
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.
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 |
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 |
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 |
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 |
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 |
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.
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.
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 |
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 |
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.
$ pkg verify -v e1000g Verifying: PACKAGE STATUS pkg://solaris/driver/network/e1000g OK |
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.
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.
Montez l'environnement d'initialisation inactif à partir duquel le package doit être désinstallé.
# beadm mount inactive-be mntpt |
Désinstallez le package.
# pkg -R mntpt uninstall pkg-fmri |
Démontez l'environnement d'initialisation précédemment monté.
# beadm unmount inactive-be |
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.
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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. |
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.
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 :
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 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.
Etat du package. L'état est installed (installé) ou known (connu).
Indicateurs qui donnent des informations sur la manière dont le package se rapporte à d'autres packages dans l'image.
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.
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é.
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---- |
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---- |
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-- |
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 |
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.
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.
$ pkg variant VARIANT VALUE variant.solaris.zone global variant.arch i386 |
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.
# pkg change-variant -n --accept variant.debug=false |
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.
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.
$ pkg facet FACETS VALUE facet.devel FALSE |
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.
# pkg change-facet facet.devel=True $ pkg facet facet.devel FACETS VALUE facet.devel TRUE |
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 |
Utilisez la commande pkg purge-history pour supprimer toutes les informations d'historique des commandes.
# pkg purge-history |