Oracleサポート・リポジトリからのOracle Solaris 11システムのアップデート方法

Glynn Foster著


現在有効なオラクル・サポート契約によって提供されるソフトウェア・パッケージを使用したOracle Solaris 11システムのアップデート手順、およびアップデートを確実かつ安全に実行する方法について説明します。


2012年3月公開

Oracle Solaris 11には、システム・ソフトウェアの管理プロセスを大幅に簡素化する新しいパッケージ管理システムが導入されました。このパッケージ管理システムによって、計画対象および計画外のシステム停止などの、オペレーティング・システムの保守におけるリスクが軽減されます。 Image Packaging System(IPS)は、依存性の計算を自動化する機能によってソフトウェア管理の複雑性を大幅に軽減し、また、パッケージ管理とパッチ管理を1つの管理インタフェースに統合します。

ソフトウェアのダウンロード、フォーラムへの参加、この記事のようなさまざまな技術的How-To資料へのアクセスをご希望の場合は、OTNメンバーにご登録ください。 スパム・メールが送信されることはありません。

この記事では、現在有効なオラクル・サポート契約によって提供されるソフトウェア・パッケージを使用したOracle Solaris 11システムのアップデート手順について説明します。 このプロセスでは、アップデートを確実かつ安全に実行するために知っておくべき基本事項についても取り上げます。

IPSの概要

システムのアップデート手順に移る前に、IPSの概要を簡単に説明します。

以前のOracle Solarisプラットフォームのリリースでは、管理者はSVR4パッケージ機能を利用してソフトウェアをシステムにインストールし、その後、さまざまなコマンド・セットを利用してパッチをインストールして、システムをアップデートしていました。 結果的にシステムはアップデートされますが、その過程では非常に時間がかかりミスも起こりやすい状況でした。インストール対象のパッケージ、必要なパッチおよび推奨パッチ・クラスタ、それらの適用順序について管理者が自分で調査する必要があったからです。 また、Oracle Solarisゾーンを使用して仮想環境を構成している場合に、アップデート作業は次第に複雑化し、管理者が利用できる自動化プロセスはほとんどありませんでした。 データセンター全体の一貫性を高めるために、数時間かけてシステムにパッチを適用することを避け、システムを最初から再インストールすることも珍しくありませんでした。

IPSは、パッチ適用とパッケージ・アップデートを統合することによって、Oracle Solaris 11でのシステム・ソフトウェア管理を自動化し、その複雑性を軽減する統合ソリューションです。 ソフトウェア依存性の自動チェックおよび検証機能をともなうネットワーク中心型の効率的なアプローチを採用しており、デフォルトのルート・ファイル・システムとしてOracle Solaris ZFSを基盤としています。

IPSを利用すれば、多種多様なシステムに対して、ソフトウェア・パッケージ・バージョンの同じセットを信頼性の高い方法でインストールまたはレプリケーションでき、また、現状のシステムにインストールされているソフトウェア・バージョン間の差異を、より明確に理解できるようになります。

さらに重要なことに、IPSはZFSのスナップショット機能とクローン機能を活用することにより、システム・アップグレードの安全性を大幅に高めています。これらの機能では、クローンや代替ブート環境(BE)に変更を適用できるため、クリティカルなアプリケーションやサービスを運用している本番システムでも、システム・アップデートをスケジュールすることが可能です。 計画保守時間をスケジュールできれば、その後は単純にシステムをリブートして新しいBEに移行するだけでシステムをすばやく再稼働でき、システム停止時間が大幅に短縮されます。 新しい環境で問題が発生した場合は、システムを停止し、ブートして再度古い環境に戻すだけで済みます。

IPSはOracle Solarisゾーンとの統合を強化しており、非大域ゾーンを自動的にアップデートしてシステム全体での一貫性を確保できます。 さらに、それぞれの非大域ゾーンの個々のソフトウェア・スタックが大域ゾーンから分離されるというメリットもあります。

サポート・リポジトリの構成

IPSはネットワーク中心型のパッケージ管理ソリューションです。 ソフトウェア開発者またはパブリッシャが、ソフトウェアをソフトウェア・パッケージ・リポジトリに配置し、パッケージ関連ユーティリティを使用してクライアント・システムにインストールできるようにします。 新しいOracle Solaris 11インストールにはすべて、1つのデフォルト・パブリッシャ(solaris)が構成されています。このデフォルト・パブリッシャは、公開されたOracle Solaris 11リリース・リポジトリ(http://pkg.oracle.com/solaris/release)からソフトウェア・パッケージを供給します。 ユーザーはこのリポジトリから新しいソフトウェア・パッケージのインストールやパッケージ・コンテンツの検索を実行でき、また、データセンターでネットワーク上の制約がある場合や、単純にデータセンターのシステム全体に対するソフトウェア変更のコントロールを強化する目的で、このリポジトリのコンテンツをローカルにミラーリングできます。

現状のシステムの構成を確認するには、pkg publisherコマンドを使用します。

# pkg publisher
PUBLISHER	TYPE	STATUS	URI
solaris		origin	online	http://pkg.oracle.com/solaris/release/

この記事では、デフォルト・パブリッシャを、Oracle Solaris 11サポート・リポジトリ(https://pkg.oracle.com/solaris/support)を指し示すように変更します。 このリポジトリは、現在有効なオラクル・サポート契約(具体的には、Oracle Premier Support for Operating Systems on Oracle HardwareまたはOracle Solaris Premier Subscription for Non-Oracle Hardware)を持つ顧客にのみ公開されています。 このリポジトリにはHTTPS経由でアクセスするため、まずオラクルから受けている使用権限を確認し、次にリポジトリにアクセスするためのキーと証明書のペアをダウンロードする必要があります。

使用権限の確認

"サポート"リポジトリへのアクセス権があるかどうかなどのリポジトリ使用権限を確認するには、Webブラウザを開き、http://pkg-register.oracle.comにアクセスします(図1を参照)。

図1

図1:オラクルのIPSパッケージ・リポジトリのホームページ

この後、Oracle Single Sign-Onのユーザー名とパスワードを使用してポータルにログインする必要があります。このユーザー名は通常、My Oracle Supportポータルにアクセスするための電子メール・アドレスと同じです。 ログインするには、「Request Certificates」リンクをクリックします。 ログインに成功したら、アクセス権のある各IPSパッケージ・リポジトリに関する使用権限のリストが表示されます。 今関係があるのは、Oracle Solaris 11 Supportの使用権限です(図2を参照)。

図2

図2:使用権限のリスト

キーと証明書のダウンロード

次の手順として、Oracle Solaris 11サポート・リポジトリ用のキーと証明書をダウンロードします。 Oracle Solaris 11 Supportが選択されていることを確認し、「Submit」をクリックします。このキーと証明書のペアを識別する証明書データを追加するための画面が表示されます(図3を参照)。証明書データの追加は、今後キーと証明書を識別できるようにするための任意の手順です。 この例では、Comment (optional)フィールドにSupport for Oracle Solaris 11と入力します。

作成したキーと証明書は、ホームページからダウンロードできます。Commentsテーブル列の下側から画面下側にかけてオラクルのラベルが表示されます(図3を参照)。

図3

図3:キーと証明書のペアにデータを追加するための任意の手順

Submit」ボタンをクリックすると、ダウンロード・リンクのある画面に移動します。この画面には、証明書の適用先の製品、発行日、期限など、証明書に関する詳細情報が表示されます(図4を参照)。ここで、キーと証明書の両方をダウンロードします。

図4

図4:Oracle Solaris 11サポート・リポジトリ用のキーと証明書のダウンロード

キーと証明書のインストール

図4のキーと証明書のダウンロード・ページでは、キーと証明書のペアのインストール方法や、Oracle Solaris 11サポート・リポジトリを指し示すようにリポジトリ構成を変更する方法についても詳細が記載されています。 お使いのシステムのホーム・ディレクトリにあるDesktopフォルダにキーと証明書をコピーする場合のこれらの詳細情報をリスト1に示します。

リスト1:キーと証明書のインストール例
# mkdir -m 0755 -p /var/pkg/ssl
# cp -i ~/Desktop/Oracle_Solaris_11_Support.key.pem /var/pkg/ssl
# cp -i ~/Desktop/Oracle_Solaris_11_Support.certificate.pem /var/pkg/ssl
# pkg set-publisher \
 -k /var/pkg/ssl/Oracle_Solaris_11_Support.key.pem \
-c /var/pkg/ssl/Oracle_Solaris_11_Support.certificate.pem \
-g https://pkg.oracle.com/solaris/support/ \
-G http://pkg.oracle.com/solaris/release/ solaris
# pkg publisher PUBLISHER TYPE STATUS URI solaris origin online https://pkg.oracle.com/solaris/support/

アップデートの実行

Oracle Solaris 11サポート・リポジトリは、約1か月ごとに一連のSupport Repository Updates(SRU)を通じてアップデートを受け取ります。 それぞれのSRUは、システムのアップデートに利用できる1つの変更単位ですが、SRUには複数の異なるパッケージに対するアップデートが含まれており、その中には現状のシステムにインストールされているパッケージも、インストールされていないパッケージもあります。 これは、システムに適用可能な変更を選択できるかどうかという意味においては、Oracle Solaris 10のパッチ適用と比較してやや柔軟性に欠けるようにも見えます。しかし、アップデートは1つの単位としてオラクルによって徹底的にテストされたものであり、ユーザーが判断した順序でユーザーが選択したパッチを適用する場合と比較して、適切に機能することが分かっています。

これで、Oracle Solaris 11サポート・リポジトリの構成が完了し、入手可能なアップデートがあるかどうかを確認できるようになりました。 この確認には、pkg listコマンドを使用できます。このコマンドを-uフラグ付きで実行すると、入手可能な新しいバージョンのパッケージのみが表示されます。

リスト2:パッケージ・アップデートの確認
# pkg list -u
NAME (PUBLISHER)                                  VERSION                    IFO
consolidation/SunVTS/SunVTS-incorporation         0.5.11-0.172.0.0.0.0.0     i--
consolidation/ips/ips-incorporation               0.5.11-0.175.0.0.0.2.2576  i--
consolidation/osnet/osnet-incorporation           0.5.11-0.175.0.0.0.2.1     i--
entire                                            0.5.11-0.175.0.0.0.2.0     i--
package/pkg                                       0.5.11-0.175.0.0.0.2.2576  i--
system/core-os                                    0.5.11-0.175.0.0.0.2.1     i--
system/file-system/nfs                            0.5.11-0.175.0.0.0.2.1     i--
system/file-system/zfs                            0.5.11-0.175.0.0.0.2.1     i--
system/io/infiniband/ip-over-ib                   0.5.11-0.175.0.0.0.2.1     i--
system/io/infiniband/reliable-datagram-sockets-v3 0.5.11-0.175.0.0.0.2.1     i--
system/kernel                                     0.5.11-0.175.0.0.0.2.1     i--
system/kernel/platform                            0.5.11-0.175.0.0.0.2.1     i--
system/zones                                      0.5.11-0.175.0.0.0.2.1     i--

リスト2の出力結果から、13種類のパッケージで入手可能な新しいバージョンがあることが分かります。 これらのパッケージにはコンテンツがまったく含まれないものもあります。そのようなパッケージは、インストール対象のシステムでソフトウェア・バージョンの一貫した状態を維持するために必要となる依存性情報のみを表します。 出力結果に表示されるパッケージのバージョンは、現在インストールされているバージョンです。入手可能な新しいパッケージ・バージョンを表示するには、さらに少し作業が必要です。

例として、system/zonesパッケージについて見ていきます。pkg infoコマンドを-rフラグ付きで実行すると、リポジトリ内に存在する最新バージョンが表示されます。

リスト3:リポジトリ内の最新パッケージ・バージョンの確認
# pkg info -r system/zones
          Name: system/zones
       Summary: Solaris Zones
   Description: Solaris Zones Configuration and Administration
      Category: System/Core
         State: Not installed
     Publisher: solaris
       Version: 0.5.11
 Build Release: 5.11
        Branch: 0.175.0.1.0.4.1
Packaging Date: November 10, 2011 07:23:00 PM
          Size: 2.93 MB
          FMRI: pkg://solaris/system/zones@0.5.11,5.11-0.175.0.1.0.4.1:20111110T192300Z

リスト3のFMRI:行から分かるとおり、現在インストールされていない新しいパッケージ・バージョン(0.5.11,5.11-0.175.0.1.0.4.1)が入手可能です。

アップデートを実行する際に、IPSはかならず、現在の依存性関係(制約)セットで許可される中での最新バージョンにシステム上のパッケージをアップデートしようとします。 そのため、想定よりも古いパッケージ・バージョン・セットにアップデートされることもあり、その場合はさらに調査して、それより新しいバージョンへのアップデートを妨げる要因となっているインストール済みパッケージを確認する必要があります。 結果的には、常に最初にシステム・アップデートのテスト実行を行い、システムに加えられる変更内容を確認することが賢明です。 このテスト実行には、pkg updateコマンドを-nvフラグ付きで使用します(リスト4を参照)。

リスト4:アップデートのテスト実行
# pkg update -nv
            Packages to update:        13
     Estimated space available:  11.91 GB
Estimated space to be consumed: 136.51 MB
       Create boot environment:       Yes
     Activate boot environment:       Yes
Create backup boot environment:        No
          Rebuild boot archive:       Yes

Changed packages:
solaris
  consolidation/SunVTS/SunVTS-incorporation
    0.5.11,5.11-0.172.0.0.0.0.0:20110816T071310Z -> 
    0.5.11,5.11-0.175.0.1.0.4.0:20111108T154138Z
  consolidation/ips/ips-incorporation
    0.5.11,5.11-0.175.0.0.0.2.2576:20111020T063559Z -> 
    0.5.11,5.11-0.175.0.1.0.4.2584:20111107T205610Z
  consolidation/osnet/osnet-incorporation
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T053010Z -> 
    0.5.11,5.11-0.175.0.1.0.4.1:20111110T192202Z
  entire
    0.5.11,5.11-0.175.0.0.0.2.0:20111020T143822Z -> 
    0.5.11,5.11-0.175.0.1.0.4.0:20111110T225628Z
  package/pkg
    0.5.11,5.11-0.175.0.0.0.2.2576:20111020T063649Z -> 
    0.5.11,5.11-0.175.0.1.0.4.2584:20111110T170548Z
  system/core-os
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T070457Z -> 
    0.5.11,5.11-0.175.0.1.0.4.1:20111110T192209Z
  system/file-system/nfs
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T072120Z -> 
    0.5.11,5.11-0.175.0.1.0.3.1:20111110T184835Z
  system/file-system/zfs
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T072820Z -> 
    0.5.11,5.11-0.175.0.1.0.3.1:20111110T184848Z
  system/io/infiniband/ip-over-ib
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T073458Z -> 
    0.5.11,5.11-0.175.0.1.0.3.1:20111110T184927Z
  system/io/infiniband/reliable-datagram-sockets-v3
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T073533Z -> 
    0.5.11,5.11-0.175.0.1.0.3.1:20111110T184930Z
  system/kernel
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T075711Z -> 
    0.5.11,5.11-0.175.0.1.0.3.1:20111110T184935Z
  system/kernel/platform
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T074654Z -> 
    0.5.11,5.11-0.175.0.1.0.4.1:20111110T192254Z
  system/zones
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T085226Z -> 
    0.5.11,5.11-0.175.0.1.0.4.1:20111110T192300Z

テスト実行の出力結果から分かるとおり、アップデートによってシステムに自動的にBEが作成されます。これは多くの場合、カーネルに対して適用される変更がアップデート内に含まれており、リブートが必要になるということを意味します。 また、アップデート対象のパッケージが13個あり、推定の合計サイズが136MBになることが分かります。 これは前述のpkg list -rの出力結果とまったく同じであるため、このテスト結果の確認後にアップデートを実行できます(リスト5を参照)。リスト5では、アップデート中にダウンロードされたパッケージを確認できるように、出力結果をパイプ処理しました。 何らかの問題が発生した場合は、リブートして古いBEに戻すだけで済み、ほんの数分で作業は完了します。

リスト5:アップデートの実行
# pkg update
            Packages to update:  13
       Create boot environment: Yes
Create backup boot environment:  No

Download: consolidation/SunVTS/SunVTS-incorporation ...  Done
Download: system/kernel ...  Done
Download: system/zones ...  Done
Download: system/core-os ...  Done
Download: consolidation/osnet/osnet-incorporation ...  Done
Download: package/pkg ...  Done
Download: system/io/infiniband/ip-over-ib ...  Done
Download: consolidation/ips/ips-incorporation ...  Done
Download: system/file-system/zfs ...  Done
Download: system/kernel/platform ...  Done
Download: system/file-system/nfs ...  Done
Download: entire ...  Done
Download: system/io/infiniband/reliable-datagram-sockets-v3 ...  Done
Removal Phase ...  Done
Install Phase ...  Done
Update Phase ...  Done
Package State Update Phase ...  Done
Package Cache Update Phase ...  Done
Image State Update Phase ...  Done

A clone of solaris exists and has been updated and activated.
On the next boot the Boot Environment solaris-1 will be
mounted on '/'.  Reboot when ready to switch to this updated BE.


---------------------------------------------------------------------------
NOTE: Please review release notes posted at:

http://www.oracle.com/pls/topic/lookup?ctx=E23824&id=SERNS
---------------------------------------------------------------------------

リスト5の出力結果から分かるとおり、13個のパッケージがダウンロード後にインストールされ、solaris-1という新しいBEが作成されています。 システムに作成されたBEのリストは、beadm listコマンドで確認できます。

# beadm list
BE        Active Mountpoint Space  Policy Created
--        ------ ---------- -----  ------ -------
solaris   N      /          404.0K static 2011-11-23 00:10
solaris-1 R      -          2.39G  static 2011-11-25 00:15

この例では、現在のBEはsolarisですが、リブート時に新しいBEのsolaris-1がアクティブになります。 つまり、システム・リブート後、solaris-1がデフォルトのBEとなります。

Oracle Solarisゾーンの操作

IPSを使用すると、Oracle Solarisゾーンのアップデートが簡単になり、ほとんどの場合、大域ゾーンのパッケージ・アップデート中に自動的に行われます。 大域ゾーンを使用するアップデートでは、システム・リブートが必要になる場合、アップデート中にそれぞれの非大域ゾーンに対して新しいゾーンBEが作成されます。 これらのゾーンBEは、大域ゾーン内のBEを親とする子BEとなります。

この点についてもう少し詳細を見ていきましょう。まず、システム上に作成されているゾーンを確認します。

# zoneadm list -iv
  ID NAME           STATUS     PATH                  BRAND    IP
   0 global         running    /                     solaris  shared
   3 devzone        running    /zones/devzone        solaris  excl
   4 testzone       running    /zones/testzone       solaris  excl
   5 prodzone       running    /zones/prodzone       solaris  excl

ご覧のとおり、このシステムには、 devzonetestzoneprodzoneという3つのゾーンがあります。 システムをアップデートする前に、ゾーンの1つに対してコンソール・セッションを開始し、pkg publisherコマンドを使用してそのゾーンのパッケージ・パブリッシャ構成を確認します。

# zlogin -C devzone
[Connected to zone 'devzone' console]

solaris console login: root
Password:
# pkg publisher
PUBLISHER   TYPE	STATUS	URI
solaris    (syspub)	origin	online	proxy://http://pkg.oracle.com/solaris/support/

pkg publisherコマンドの出力結果は、大域ゾーンで実行した場合の出力結果と異なります。 デフォルト・パブリッシャはシステム・パブリッシャ(syspub)です。これは大域ゾーンから継承したパブリッシャであり、変更できません。

# pkg unset-publisher solaris
pkg unset-publisher: Removal failed for 'solaris': solaris is a system publisher 
and cannot be unset

上記のpkg publisherの出力結果で注意すべき別の相違点として、パブリッシャURIの先頭にproxy://が追加されています。 これは、システム・パブリッシャが大域ゾーンへの単なるプロキシであることを示します。 非大域ゾーンからのパッケージ関連操作はすべて、大域ゾーンにプロキシ処理されます。 さらに、パッケージのコンテンツはシステム・リポジトリによって大域ゾーン内部に自動的にキャッシュされます。そのため、コンテンツのダウンロードは1回だけでよく、システムにインストールされたすべての非大域ゾーンに対するパッケージのインストールとアップデートが大幅に高速化します。

この点を踏まえて、まずは大域ゾーンで、テスト実行を示す-nvオプション付きでpkg updateを実行し、それが3つの非大域ゾーンにどのような影響を及ぼすかを確認します(リスト6を参照)。

リスト6:テスト実行による非大域ゾーンへのアップデートの影響を確認
# pkg update -nv
Recursing into linked image: zone:devzone
Returning from linked image: zone:devzone
Recursing into linked image: zone:prodzone
Returning from linked image: zone:prodzone
Recursing into linked image: zone:testzone
Returning from linked image: zone:testzone

            Packages to update:        13
     Estimated space available:  10.83 GB
Estimated space to be consumed: 136.51 MB
       Create boot environment:       Yes
     Activate boot environment:       Yes
Create backup boot environment:        No
          Rebuild boot archive:       Yes

Changed packages:
solaris
  consolidation/SunVTS/SunVTS-incorporation
    0.5.11,5.11-0.172.0.0.0.0.0:20110816T071310Z -> 
    0.5.11,5.11-0.175.0.1.0.4.0:20111108T154138Z
  consolidation/ips/ips-incorporation
    0.5.11,5.11-0.175.0.0.0.2.2576:20111020T063559Z -> 
    0.5.11,5.11-0.175.0.1.0.4.2584:20111107T205610Z
  consolidation/osnet/osnet-incorporation
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T053010Z -> 
    0.5.11,5.11-0.175.0.1.0.4.1:20111110T192202Z
  entire
    0.5.11,5.11-0.175.0.0.0.2.0:20111020T143822Z -> 
    0.5.11,5.11-0.175.0.1.0.4.0:20111110T225628Z
  package/pkg
    0.5.11,5.11-0.175.0.0.0.2.2576:20111020T063649Z -> 
    0.5.11,5.11-0.175.0.1.0.4.2584:20111110T170548Z
  system/core-os
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T070457Z -> 
    0.5.11,5.11-0.175.0.1.0.4.1:20111110T192209Z
  system/file-system/nfs
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T072120Z -> 
    0.5.11,5.11-0.175.0.1.0.3.1:20111110T184835Z
  system/file-system/zfs
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T072820Z -> 
    0.5.11,5.11-0.175.0.1.0.3.1:20111110T184848Z
  system/io/infiniband/ip-over-ib
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T073458Z -> 
    0.5.11,5.11-0.175.0.1.0.3.1:20111110T184927Z
  system/io/infiniband/reliable-datagram-sockets-v3
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T073533Z -> 
    0.5.11,5.11-0.175.0.1.0.3.1:20111110T184930Z
  system/kernel
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T075711Z -> 
    0.5.11,5.11-0.175.0.1.0.3.1:20111110T184935Z
  system/kernel/platform
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T074654Z -> 
    0.5.11,5.11-0.175.0.1.0.4.1:20111110T192254Z
  system/zones
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T085226Z -> 
    0.5.11,5.11-0.175.0.1.0.4.1:20111110T192300Z
Recursing into linked image: zone:devzone

            Packages to update:       11
     Estimated space available: 10.83 GB
Estimated space to be consumed: 79.13 MB
       Create boot environment:       No
Create backup boot environment:       No
          Rebuild boot archive:       No

Changed packages:
solaris
  consolidation/SunVTS/SunVTS-incorporation
    0.5.11,5.11-0.172.0.0.0.0.0:20110816T071310Z -> 
    0.5.11,5.11-0.175.0.1.0.4.0:20111108T154138Z
  consolidation/ips/ips-incorporation
    0.5.11,5.11-0.175.0.0.0.2.2576:20111020T063559Z -> 
    0.5.11,5.11-0.175.0.1.0.4.2584:20111107T205610Z
  consolidation/osnet/osnet-incorporation
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T053010Z -> 
    0.5.11,5.11-0.175.0.1.0.4.1:20111110T192202Z
  entire
    0.5.11,5.11-0.175.0.0.0.2.0:20111020T143822Z -> 
    0.5.11,5.11-0.175.0.1.0.4.0:20111110T225628Z
  package/pkg
    0.5.11,5.11-0.175.0.0.0.2.2576:20111020T063649Z -> 
    0.5.11,5.11-0.175.0.1.0.4.2584:20111110T170548Z
  system/core-os
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T070457Z -> 
    0.5.11,5.11-0.175.0.1.0.4.1:20111110T192209Z
  system/file-system/nfs
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T072120Z -> 
    0.5.11,5.11-0.175.0.1.0.3.1:20111110T184835Z
  system/file-system/zfs
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T072820Z -> 
    0.5.11,5.11-0.175.0.1.0.3.1:20111110T184848Z
  system/kernel
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T075711Z -> 
    0.5.11,5.11-0.175.0.1.0.3.1:20111110T184935Z
  system/kernel/platform
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T074654Z -> 
    0.5.11,5.11-0.175.0.1.0.4.1:20111110T192254Z
  system/zones
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T085226Z -> 
    0.5.11,5.11-0.175.0.1.0.4.1:20111110T192300Z
Returning from linked image: zone:devzone

Recursing into linked image: zone:prodzone

            Packages to update:       11
     Estimated space available: 10.82 GB
Estimated space to be consumed: 79.13 MB
       Create boot environment:       No
Create backup boot environment:       No
          Rebuild boot archive:       No

Changed packages:
solaris
  consolidation/SunVTS/SunVTS-incorporation
    0.5.11,5.11-0.172.0.0.0.0.0:20110816T071310Z -> 
    0.5.11,5.11-0.175.0.1.0.4.0:20111108T154138Z
  consolidation/ips/ips-incorporation
    0.5.11,5.11-0.175.0.0.0.2.2576:20111020T063559Z -> 
    0.5.11,5.11-0.175.0.1.0.4.2584:20111107T205610Z
  consolidation/osnet/osnet-incorporation
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T053010Z -> 
    0.5.11,5.11-0.175.0.1.0.4.1:20111110T192202Z
  entire
    0.5.11,5.11-0.175.0.0.0.2.0:20111020T143822Z -> 
    0.5.11,5.11-0.175.0.1.0.4.0:20111110T225628Z
  package/pkg
    0.5.11,5.11-0.175.0.0.0.2.2576:20111020T063649Z -> 
    0.5.11,5.11-0.175.0.1.0.4.2584:20111110T170548Z
  system/core-os
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T070457Z -> 
    0.5.11,5.11-0.175.0.1.0.4.1:20111110T192209Z
  system/file-system/nfs
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T072120Z -> 
    0.5.11,5.11-0.175.0.1.0.3.1:20111110T184835Z
  system/file-system/zfs
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T072820Z -> 
    0.5.11,5.11-0.175.0.1.0.3.1:20111110T184848Z
  system/kernel
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T075711Z -> 
    0.5.11,5.11-0.175.0.1.0.3.1:20111110T184935Z
  system/kernel/platform
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T074654Z -> 
    0.5.11,5.11-0.175.0.1.0.4.1:20111110T192254Z
  system/zones
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T085226Z -> 
    0.5.11,5.11-0.175.0.1.0.4.1:20111110T192300Z
Returning from linked image: zone:prodzone

Recursing into linked image: zone:testzone

            Packages to update:       11
     Estimated space available: 10.82 GB
Estimated space to be consumed: 79.13 MB
       Create boot environment:       No
Create backup boot environment:       No
          Rebuild boot archive:       No

Changed packages:
solaris
  consolidation/SunVTS/SunVTS-incorporation
    0.5.11,5.11-0.172.0.0.0.0.0:20110816T071310Z -> 
    0.5.11,5.11-0.175.0.1.0.4.0:20111108T154138Z
  consolidation/ips/ips-incorporation
    0.5.11,5.11-0.175.0.0.0.2.2576:20111020T063559Z -> 
    0.5.11,5.11-0.175.0.1.0.4.2584:20111107T205610Z
  consolidation/osnet/osnet-incorporation
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T053010Z -> 
    0.5.11,5.11-0.175.0.1.0.4.1:20111110T192202Z
  entire
    0.5.11,5.11-0.175.0.0.0.2.0:20111020T143822Z -> 
    0.5.11,5.11-0.175.0.1.0.4.0:20111110T225628Z
  package/pkg
    0.5.11,5.11-0.175.0.0.0.2.2576:20111020T063649Z -> 
    0.5.11,5.11-0.175.0.1.0.4.2584:20111110T170548Z
  system/core-os
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T070457Z -> 
    0.5.11,5.11-0.175.0.1.0.4.1:20111110T192209Z
  system/file-system/nfs
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T072120Z -> 
    0.5.11,5.11-0.175.0.1.0.3.1:20111110T184835Z
  system/file-system/zfs
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T072820Z -> 
    0.5.11,5.11-0.175.0.1.0.3.1:20111110T184848Z
  system/kernel
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T075711Z -> 
    0.5.11,5.11-0.175.0.1.0.3.1:20111110T184935Z
  system/kernel/platform
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T074654Z -> 
    0.5.11,5.11-0.175.0.1.0.4.1:20111110T192254Z
  system/zones
    0.5.11,5.11-0.175.0.0.0.2.1:20111019T085226Z -> 
    0.5.11,5.11-0.175.0.1.0.4.1:20111110T192300Z
Returning from linked image: zone:testzone

リスト6の出力結果より、大域ゾーンでは13個のパッケージがアップデートされますが、それぞれの非大域ゾーンでは11個のパッケージのみがアップデートされることが分かります。 この例では、system/io/infiniband/ip-over-ibsystem/io/infiniband/reliable-datagram-sockets-v3という2つのパッケージが、非大域ゾーンのコンテキストにおいては関係がありません。 テスト実行の結果を確認後、-nvオプションを削除し、完全なシステム・アップデートを実行できます(リスト7を参照)。

リスト7:完全なシステム・アップデート
# pkg update
Recursing into linked image: zone:devzone
Returning from linked image: zone:devzone
Recursing into linked image: zone:prodzone
Returning from linked image: zone:prodzone
Recursing into linked image: zone:testzone
Returning from linked image: zone:testzone

            Packages to update:  13
       Create boot environment: Yes
Create backup boot environment:  No

Recursing into linked image: zone:devzone

            Packages to update: 11
       Create boot environment: No
Create backup boot environment: No

Returning from linked image: zone:devzone
Recursing into linked image: zone:prodzone

            Packages to update: 11
       Create boot environment: No
Create backup boot environment: No

Returning from linked image: zone:prodzone
Recursing into linked image: zone:testzone

            Packages to update: 11
       Create boot environment: No
Create backup boot environment: No

Returning from linked image: zone:testzone

DOWNLOAD		PKGS		FILES		XFER (MB)
Completed		13/13		350/350		13.2/13.2

PHASE				ACTIONS
Removal Phase			120/120
Install Phase			109/109
Update Phase			935/935

PHASE				  ITEMS
Package State Update Phase	  26/26
Package Cache Update Phase	  13/13
Image State Update Phase	    2/2

Recursing into linked image: zone:devzone
DOWNLOAD		PKGS		FILES		XFER (MB)
Completed		11/11		79/79		  2.1/2.1

PHASE				ACTIONS
Removal Phase			  97/97
Install Phase			  88/88
Update Phase			630/630

PHASE				  ITEMS
Package State Update Phase	  22/22
Package Cache Update Phase	  11/11
Image State Update Phase	    2/2
Returning from linked image: zone:devzone
Recursing into linked image: zone:prodzone
DOWNLOAD		PKGS		FILES		XFER (MB)
Completed		11/11		79/79		  2.1/2.1

PHASE				ACTIONS
Removal Phase			  97/97
Install Phase			  88/88
Update Phase			630/630

PHASE				  ITEMS
Package State Update Phase	  22/22
Package Cache Update Phase	  11/11
Image State Update Phase	    2/2
Returning from linked image: zone:prodzone
Recursing into linked image: zone:testzone
DOWNLOAD		PKGS		FILES		XFER (MB)
Completed		11/11		79/79		  2.1/2.1

PHASE				ACTIONS
Removal Phase			  97/97
Install Phase			  88/88
Update Phase			630/630

PHASE				  ITEMS
Package State Update Phase	  22/22
Package Cache Update Phase	  11/11
Image State Update Phase	    2/2
Returning from linked image: zone:testzone

A clone of solaris exists and has been updated and activated.
On the next boot the Boot Environment solaris-1 will be
mounted on '/'.  Reboot when ready to switch to this updated BE.


---------------------------------------------------------------------------
NOTE: Please review release notes posted at:

http://www.oracle.com/pls/topic/lookup?ctx=E23824&id=SERNS
---------------------------------------------------------------------------

リスト7から分かるとおり、アップデート中に新しい大域ゾーンBEが作成されています。 非大域ゾーンの1つにログインし、作成されたゾーンBEを確認しましょう。

# beadm list
BE        Active Mountpoint Space  Policy Created
--        ------ ---------- -----  ------ -------
solaris   NR     /          346.5K static 2011-11-29 01:19
solaris-1 !R     -          86.43M static 2011-11-29 03:35

このゾーンに対してsolaris-1という新しいBEが作成されていますが、出力結果によれば、このBEは現在ブート不可な状態です(Active列の!が示しています)。 この理由として、ゾーンBEは大域ゾーンBEの子の関係であり、ブートしてこの大域ゾーンBEに切り替えるまでは、この新しいBEに切り替えることはできません。 リブート後、このコマンドの出力結果は次のようになります。

# beadm list
BE        Active Mountpoint Space  Policy Created
--        ------ ---------- -----   ------ -------
solaris   !R     -          2.63M   static 2011-11-29 01:19
solaris-1 NR     /          108.31M static 2011-11-29 03:35

Firefoxを使用したOracle Solaris 11サポート・リポジトリの参照

上述したとおり、Oracle Solaris 11サポート・リポジトリに接続し、そこからパッケージを取得してインストールするためには、システムに証明書とキーのペアをインストールしておく必要があります。 Firefox Webブラウザでリポジトリの参照を行う場合は、さらに追加手順が必要になります。

この例では、Apple OSXに証明書を追加しますが、参照に使用するすべてのオペレーティング・システムに同じ原理を適用できます。 まず、opensslコマンドを使用して、Firefoxで利用可能なPKCS#12形式の証明書ファイル(.p12)をエクスポートします。 パスワードの入力が求められますが、これはFirefoxに証明書を追加する際に必要となるパスワードのため、すぐに覚えることのできるパスワードを入力してください。

# openssl pkcs12 -in ~/Desktop/Oracle_Solaris_11_Support.certificate.pem \
-inkey ~/Desktop/Oracle_Solaris_11_Support.key.pem \
-export > ~/Desktop/Oracle_Solaris_11_Support_Certificate.p12
Enter Export Password: Verifying - Enter Export Password:

この新しい証明書ファイルを作成したら、Firefoxのオプション・ダイアログ・ボックスを開き、「詳細」をクリックして、「暗号化」をクリックします(図5を参照)。

図5

図5:Firefox暗号化設定の表示

次に、「証明書を表示」をクリックし、「あなたの証明書」タブをクリックします(図6を参照)。

図6

図6:Firefoxでのあなたの証明書の表示

最後に、「インポート」ボタンをクリックし、Desktopフォルダにある「Oracle_Solaris_11_Support_Certificate.p12」ファイルを選択すると、この証明書が追加されます(図7を参照)。

図7

図7:Firefoxで新たに追加された証明書

証明書を追加したら、https://pkg.oracle.com/solaris/supportを参照できるようになります(図8を参照)。

図8

図8:FirefoxでのOracle Solaris 11サポート・リポジトリの参照

まとめ

Image Packaging SystemはOracle Solaris 11の新しいパッケージ管理システムであり、データセンター全体のシステム・ソフトウェアの保守を大幅に改善し自動化します。 IPSはパッケージ管理とパッチ管理を1つのインタフェースに統合し、ブート環境、ZFSスナップショット機能およびクローン機能を利用して安全性の高いシステム・アップグレードを実現します。

また、IPSはOracle Solarisゾーンを使用する複数の仮想環境に対する自動化を強化することによって、Oracle Solarisの管理の複雑性を大幅に軽減します。 現在有効なオラクル・サポート契約があれば、Oracle Solaris 11サポート・リポジトリに簡単に接続して、システム・アップデートの定期的なチャネルとして使用し、システムを安全で問題のない状態に維持できます。

参照

著者について

Glynn Foster、Oracle SolarisのPrincipal Product Manager。Image Packaging SystemおよびService Management Facilityを含むテクノロジー分野に従事。 Sun Microsystemsの買収に伴い、2010年にオラクルに入社。

Revision 1.0, 03/29/2012

FacebookTwitter、またはOracle Blogsで最新情報をご確認ください。