Agregación y actualización de software en Oracle® Solaris 11.2

Salir de la Vista de impresión

Actualización: Julio de 2014
 
 

Creación de un paquete de incorporación personalizada

Las versiones de los paquetes principales del sistema operativo que se pueden instalar en una imagen están controladas por el paquete de incorporación pkg:/entire. Para controlar las actualizaciones del sistema, cree un paquete que especifique una versión determinada del paquete pkg:/entire como una dependencia incorporate.

Creación del manifiesto de paquete de incorporación personalizada

En el siguiente ejemplo, se muestra un manifiesto denominado upgradectrl.p5m para un paquete de incorporación personalizada que controla la versión del paquete pkg:/entire que se puede instalar. A continuación, se describe parte de la configuración de este manifiesto.

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 usuario introduce el comando pkg update upgradectrl, también se actualiza automáticamente el paquete pkg:/entire.

variant.opensolaris.zone

Este paquete se puede instalar en zonas globales y en zonas no globales. Consulte también la descripción de la dependencia parent.

variant.arch

Este paquete se puede instalar en sistemas SPARC y x86.

dependencia parent

Este paquete se puede instalar en una zona no global sólo si ya está instalado en la zona global.

dependencia require

El paquete upgradectrl se puede instalar solamente si el paquete pkg://solaris/entire ya está instalado o se puede instalar en esta misma operación.

dependencia incorporate

El paquete pkg://solaris/entire se debe instalar en la versión especificada. Puede haber más de una versión que satisfaga una dependencia incorporate, según la cantidad de lugares de precisión que se especifiquen. En este ejemplo, 0.175.1.0 especifica Oracle Solaris 11.1 SRU 0. Este paquete de control de actualización mantendrá los sistemas en Oracle Solaris 11.1 sin actualizaciones de compatibilidad. Sin embargo, este paquete de control de actualización permitirá que se actualicen los paquetes que no están restringidos por la incorporación pkg:/entire.

Publicación del paquete de control de actualización

Publique el paquete upgradectrl en un repositorio local basado en archivos. Este repositorio permite desarrollar y probar este nuevo paquete. Si crea un repositorio para uso general, debe incluir pasos adicionales, como la creación de un sistema de archivos independiente para el repositorio. Para obtener información sobre la creación de repositorios de paquetes para uso general, consulte Copia y creación de repositorios de paquetes en Oracle Solaris 11.2 .

Cree un repositorio de desarrollo de paquetes en el sistema. Consulte la página del comando man pkgrepo(1) para obtener más información sobre el comando pkgrepo.

$ pkgrepo create myrepo

Defina el editor predeterminado para este repositorio. El editor predeterminado es el valor de la propiedad publisher/prefix del repositorio.

$ pkgrepo -s myrepo set publisher/prefix=site

Publique el paquete upgradectrl en el repositorio de desarrollo.

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

Observe que el editor predeterminado del repositorio se aplicó al FMRI del paquete.

Examine el repositorio para confirmar que se publicó el paquete.

$ 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       ---

Envíe el paquete a un repositorio local en un sistema de archivos ZFS independiente en una ubicación compartida.

$ 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

Verifique el paquete del repositorio y la versión de pkg:/entire que incorpora.

$ 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

Consulte Creating and Publishing a Package de Packaging and Delivering Software With the Image Packaging System in Oracle Solaris 11.2 para obtener información más detallada sobre la creación y el envío de paquetes IPS.

Configuración del origen del editor

Configure el origen del editor site. El repositorio del sistema se actualiza automáticamente con esta información para que las zonas no globales puedan acceder a los paquetes del editor site.

$ 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/