Oracle® Solaris 11.2 ソフトウェアの追加と更新

印刷ビューの終了

更新: 2014 年 7 月
 
 

カスタム Incorporation パッケージの作成

イメージにインストール可能なコアのオペレーティングシステムパッケージのバージョンは、pkg:/entire incorporation パッケージによって制御されます。システムのアップグレードを制御するには、特定バージョンの pkg:/entire パッケージを incorporate 依存関係として指定するパッケージを作成します。

カスタム Incorporation パッケージマニフェストの作成

次の例は、インストール可能な pkg:/entire パッケージのバージョンを制御するカスタム incorporation パッケージに対する upgradectrl.p5m という名前のマニフェストを示します。このマニフェストの設定の一部を以下に示します。

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

ユーザーが pkg update upgradectrl コマンドを入力すると、pkg:/entire パッケージも自動的に更新されます。

variant.opensolaris.zone

このパッケージは、大域ゾーンと非大域ゾーンの両方にインストールできます。parent 依存関係の説明も参照してください。

variant.arch

このパッケージは、SPARC と x86 の両方のシステムにインストールできます。

parent 依存関係

このパッケージは、大域ゾーンにすでにインストール済みの場合に限り、非大域ゾーンにインストールできます。

require 依存関係

upgradectrl パッケージは、pkg://solaris/entire パッケージがすでにインストールされているか、これと同じ操作でインストール可能である場合に限りインストールできます。

incorporate 依存関係

pkg://solaris/entire パッケージを指定のバージョンでインストールする必要があります。指定された精度の桁数によっては、複数のバージョンが incorporate 依存関係を満たす場合があります。この例では、0.175.1.0 は Oracle Solaris 11.1 SRU 0 を指定します。このアップグレード制御パッケージは、サポート更新のない Oracle Solaris 11.1 にシステムを維持します。ただし、このアップグレード制御パッケージは、pkg:/entire incorporation による制約を受けないパッケージの更新を許可します。

アップグレード制御パッケージの公開

upgradectrl パッケージをファイルベースのローカルリポジトリに公開します。このリポジトリは、この新しいパッケージを開発およびテストするためのものです。一般的な用途のリポジトリを作成する場合、リポジトリ用の別個のファイルシステムを作成するなどの追加のステップを含める必要があります。一般的な用途のパッケージリポジトリを作成することについては、Oracle Solaris 11.2 パッケージリポジトリのコピーと作成 を参照してください。

システム上にパッケージ開発リポジトリを作成します。pkgrepo コマンドについては、pkgrepo(1) のマニュアルページを参照してください。

$ pkgrepo create myrepo

このリポジトリのデフォルトパブリッシャーを設定します。デフォルトパブリッシャーは、リポジトリの publisher/prefix プロパティーの値です。

$ pkgrepo -s myrepo set publisher/prefix=site

upgradectrl パッケージを開発リポジトリに公開します。

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

リポジトリのデフォルトパブリッシャーが、パッケージ FMRI に適用されていることに注意してください。

リポジトリを調べて、パッケージが公開されたことを確認します。

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

パッケージを、共有されている場所にある別個の ZFS ファイルシステム内のローカルリポジトリに提供します。

$ 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

リポジトリ内のパッケージと、パッケージが incorporation で指定する pkg:/entire のバージョンを確認します。

$ 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

IPS パッケージの作成と提供についての詳細は、Oracle Solaris 11.2 での Image Packaging System を使用したソフトウェアのパッケージ化と配布 のパッケージの作成および発行を参照してください。

パブリッシャーの起点の設定

site パブリッシャーの起点を設定します。システムリポジトリはこの情報で自動的に更新されるため、非大域ゾーンでは 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/