JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 11.1 での Image Packaging System を使用したソフトウェアのパッケージ化および配布     Oracle Solaris 11.1 Information Library (日本語)
このドキュメントの評価
search filter icon
search icon

ドキュメントの情報

はじめに

1.  IPS の設計目標、概念、および用語

2.  IPS を使用したソフトウェアのパッケージ化

3.  ソフトウェアパッケージのインストール、削除、および更新

4.  パッケージの依存関係の指定

5.  バリエーションの許可

6.  プログラムによるパッケージマニフェストの変更

7.  パッケージインストールの一環としてのシステム変更の自動化

8.  パッケージ更新の高度なトピック

9.  IPS パッケージの署名

10.  非大域ゾーンの処理

非大域ゾーンについてのパッケージ化の考慮事項

パッケージが大域ゾーンと非大域ゾーンの間の境界を超えるか

パッケージのどこまでを非大域ゾーンにインストールするか

非大域ゾーンへのパッケージのインストールに関するトラブルシューティング

自分自身への parent 依存関係を持つパッケージ

自分自身への parent 依存関係を持たないパッケージ

11.  発行されたパッケージの変更

A.  パッケージの分類

B.  IPS を使用して Oracle Solaris OS をパッケージ化する方法

ドキュメントの品質向上のためのご意見をください
簡潔すぎた
読みづらかった、または難し過ぎた
重要な情報が欠けていた
内容が間違っていた
翻訳版が必要
その他
Your rating has been updated
貴重なご意見を有り難うございました!

あなたの貴重なご意見はより良いドキュメント作成の手助けとなります 内容の品質向上と追加コメントのためのアンケートに参加されますか?

非大域ゾーンについてのパッケージ化の考慮事項

ゾーンとパッケージ化を検討する場合は、2 つの問題を解決する必要があります。

パッケージが大域ゾーンと非大域ゾーンの間の境界を超えるか

pkgA がカーネルとユーザーランドの両方の機能を配布し、そのインタフェースの両側がそれに合わせて更新される必要がある場合、pkgA が非大域ゾーンで更新されたときは必ず、pkgA がインストールされているほかのすべてのゾーンでも pkgA が更新される必要があります。

この更新が正しく行われるようにするには、pkgAparent 依存関係を使用します。単一のパッケージがインタフェースの両側を配布する場合、feature/package/dependency/self への parent 依存関係は、大域ゾーンと非大域ゾーンに同じバージョンのパッケージが含まれるようにし、インタフェース間でバージョンスキューが発生するのを防ぎます。

また、parent 依存関係はそのパッケージが非大域ゾーンにある場合にそれが大域ゾーンにも存在するようにします。

インタフェースが複数のパッケージに及ぶ場合、そのインタフェースの非大域ゾーン側を含むパッケージには、そのインタフェースの大域ゾーン側を配布するパッケージへの parent 依存関係を含める必要があります。parent 依存関係については、「依存関係タイプ」でも説明されています。

パッケージのどこまでを非大域ゾーンにインストールするか

パッケージを非大域ゾーンにインストールするときにパッケージのすべてをインストールする場合は、そのパッケージが正しく機能できるようにするために何か行う必要はありません。しかし、パッケージの顧客にとっては、パッケージ作成者がゾーンへのインストールをきちんと考慮し、このパッケージがゾーンで機能できると結論づけたことがわかっていると安心できることがあります。このような理由から、パッケージ機能が大域ゾーンと非大域ゾーンの両方にあることを明示的に記述するようにしてください。これを行うには、次のアクションをマニフェストに追加します。

set name=variant.opensolaris.zone value=global value=nonglobal

非大域ゾーンにインストールできる内容がパッケージにない場合 (カーネルモジュールやドライバのみを配布するパッケージなど)、そのパッケージでそれを非大域ゾーンにインストールできないことを明記するようにします。これを行うには、次のアクションをマニフェストに追加します。

set name=variant.opensolaris.zone value=global

パッケージの一部ではあるがすべてではない内容を非大域ゾーンにインストールできる場合は、次の手順を実行します。

  1. 次の set アクションを使用して、そのパッケージを大域ゾーンと非大域ゾーンの両方にインストールできることを記述します。

    set name=variant.opensolaris.zone value=global value=nonglobal
  2. 大域ゾーンにのみ、または非大域ゾーンにのみ関係があるアクションを特定します。大域ゾーンにのみ関係があるアクションに次の属性を割り当てます。

    variant.opensolaris.zone=global

    非大域ゾーンにのみ関係があるアクションに次の属性を割り当てます。

    zone:variant.opensolaris.zone=nonglobal

パッケージに parent 依存関係が含まれていたり、大域ゾーンと非大域ゾーンで異なる要素が含まれている場合は、そのパッケージが非大域ゾーンと大域ゾーンで予想どおりに動作していることを確認するためのテストを実行します。

パッケージにそれ自身への parent 依存関係が含まれている場合、大域ゾーンではそのパッケージをその起点の 1 つとして配布するリポジトリを構成する必要があります。そのパッケージをまず大域ゾーンにインストールし、次にテストのために非大域ゾーンにインストールします。