Ajout et mise à jour de logiciels dans Oracle® Solaris 11.2

Quitter la vue de l'impression

Mis à jour : Juillet 2014
 
 

Créer un package d'incorporation personnalisé

Les versions des packages de base du système d'exploitation pouvant être installés dans une image sont contrôlées par le package d'incorporation pkg:/entire. Pour contrôler les mises à jour du système, créez un package qui spécifie la création d'une version donnée du package pkg:/entire en tant que dépendance incorporate.

Créer le fichier de manifeste du package d'incorporation personnalisé

L'exemple suivant montre un manifeste nommé upgradectrl.p5m pour un package d'incorporation personnalisé qui contrôle la version du package pkg:/entire pouvant être installé. Certains des paramètres dans ce manifeste sont décrits ci-dessous.

set name=pkg.fmri value=upgradectrl@1.0
set name=pkg.summary value="Incorporation to constrain the version of the OS"
set name=pkg.description value="This package controls the version of \
pkg://solaris/entire that can be installed."
set name=info.classification value="org.opensolaris.category.2008:Meta Packages/Incorporations"
set name=pkg.depend.install-hold value=core-os
set name=variant.opensolaris.zone value=global value=nonglobal
set name=variant.arch value=sparc value=i386
depend fmri=feature/package/dependency/self type=parent variant.opensolaris.zone=nonglobal
depend fmri=pkg://solaris/entire type=require
depend fmri=pkg://solaris/entire@0.5.11,5.11-0.175.1.0 type=incorporate
pkg.depend.install-hold

Si un utilisateur saisit la commandepkg update upgradectrl, le package pkg:/entire sera automatiquement mis à jour.

variant.opensolaris.zone

Ce package peut être installé dans les zones globales et les zones non globales. Reportez - vous également à la description de la dépendance parent.

variant.arch

Ce package peut être installé sur les deux systèmes x86 et SPARC.

Dépendance parent

Ce package peut être installé dans une zone non globale que s'il a déjà été installé dans la zone globale.

dépendance require

Le package upgradectrl peut être installé uniquement si le package pkg://solaris/entire est déjà installé ou peut être installé dans cette même opération.

Dépendance incorporate

Le package pkg://solaris/entire doit être installé avec la version spécifiée. Plusieurs versions peuvent satisfaire à une dépendance incorporate, en fonction du nombre de lieux de précision spécifiés. Dans cet exemple 0.175.1.0 indique Oracle Solaris 11.1 SRU 0. Cette mise à niveau de contrôle au package Oracle Solaris 11.1 maintenir leur système qui ne prennent pas en charge les mises à jour. Cette mise à niveau de contrôle autorisera cependant les packages non limités par l'incorporation pkg:/entire à mettre à jour.

Publier le package de contrôle de mise à niveau

Publier le packageupgradectrl vers un référentiel local basé sur des fichiers. Ce référentiel est utilisé pour le développement et le test de ce nouveau package. Si vous créez un référentiel pour une utilisation générale, vous devez inclure des étapes supplémentaires, telles que la création d'un système de fichiers distinct pour le référentiel. Pour plus d'informations sur la création des référentiels de packages pour un usage général, reportez-vous à Copie et création de référentiels de packages dans Oracle Solaris 11.2 .

Commande Créez un référentiel de développement de package sur votre système. Reportez - vous à la page de manuelpkgrepo(1) pour plus d'informations sur la commande pkgrepo.

$ pkgrepo create myrepo

Définir l'éditeur par défaut pour ce référentiel. L'éditeur par défaut est la valeur de la propriété publisher/prefix du référentiel.

$ pkgrepo -s myrepo set publisher/prefix=site

Publie le package upgradectrl vers le référentiel de développement.

$ pkgsend -s myrepo publish upgradectrl.p5m
pkg://site/upgradectrl@1.0,5.11:20131104T072336Z
PUBLISHED

Notez que le référentiel éditeur par défaut a été appliquée au FMRI de package.

Examiner le référentiel pour confirmer que le package a été publié.

$ pkgrepo -s myrepo list
PUBLISHER NAME                    0 VERSION
site      upgradectrl               1.0,5.11:20131104T072336Z
$ pkg list -vg myrepo
FMRI                                                   IFO
pkg://site/upgradectrl@1.0,5.11:20131104T072336Z       ---

Livrer le package à un référentiel local dans un système de fichiers ZFS séparé dans un emplacement partagé.

$ pkgrecv -s myrepo -d /export/IPSpkgrepos/Solaris upgradectrl
Processing packages for publisher site ...
Retrieving and evaluating 1 package(s) ...
PROCESS      ITEMS    GET (MB)    SEND (MB)
Completed      1/1     0.0/0.0      0.0/0.0

Vérifiez le package dans le référentiel et la version de pkg:/entire incorporé.

$ pkg info -g /export/IPSpkgrepos/Solaris upgradectrl
          Name: upgradectrl
       Summary: Incorporation to constrain the version of the OS
   Description: This package controls the version of pkg://solaris/entire that
                can be installed.
      Category: Meta Packages/Incorporations
         State: Not installed
     Publisher: site
       Version: 1.0
 Build Release: 5.11
        Branch: None
Packaging Date: November 20, 2013 01:01:05 AM 
          Size: 0.00 B
          FMRI: pkg://site/upgradectrl@1.0,5.11:20131120T010105Z
$ pkg contents -Hro fmri -t depend -a type=incorporate upgradectrl
pkg://solaris/entire@0.5.11,5.11-0.175.1.0

Reportez-vous à Creating and Publishing a Package du manuel Packaging and Delivering Software With the Image Packaging System in Oracle Solaris 11.2 pour plus d'informations sur la création de packages IPS, puis en distribuant le contenu.

Définir l'origine de l'éditeur

Définissez l'origine de l'éditeur de site. Le référentiel système est automatiquement mis à jour avec ces informations de manière à ce que les zones non globales puissent accéder aux packages à partir du site de l'éditeur.

$ pkg set-publisher -g /export/IPSpkgrepos/Solaris site
$ pkg publisher
PUBLISHER              TYPE     STATUS P LOCATION
solaris                origin   online F https://pkg.oracle.com/solaris/support/
site                   origin   online F file:///export/IPSpkgrepos/Solaris/