Oracle® Solaris 11.2 での Image Packaging System を使用したソフトウェアのパッケージ化と配布

印刷ビューの終了

更新: 2014 年 7 月
 
 

origin 依存関係

origin 依存関係は、中間移行が必要となるアップグレード問題を解決するために存在します。デフォルトの動作では、更新中のイメージに存在している必要のある最小バージョンのパッケージ (インストール済みの場合) を指定します。root-image 属性の値が true である場合、このパッケージをインストールするには、/をルートとするイメージ上にパッケージが存在する必要があります。

たとえば、典型的な使用法として、データベースパッケージのバージョン 5 で、バージョン 3 以上からのアップグレードをサポートし、それより前のバージョンからのアップグレードはサポートしない場合があげられます。この場合、バージョン 5 にはバージョン 3 でのそれ自身への origin 依存関係があります。このため、バージョン 5 が新たにインストールされた場合、インストールは続行します。ただし、バージョン 1 のパッケージがインストールされていた場合、そのパッケージをバージョン 5 に直接アップグレードすることはできません。この場合、pkg update database-package はバージョン 5 を選択せず、アップグレードする可能な最新バージョンとして代わりにバージョン 3 を選択します。

root-image 属性の値が true の場合、依存関係のターゲットは、更新中のイメージではなく実行中のシステムに存在する場合には、指定されたバージョン以上でなければなりません。この形式の origin 依存関係は通常、ブートブロックインストーラへの依存関係など、オペレーティングシステムの問題に使用されます。

origin 依存関係の例は次のとおりです。

depend fmri=pkg:/database/mydb@3.0 type=origin

ファームウェアが手動で保守されるデバイスドライバ

デバイスドライバはそのファームウェアを管理する必要があります。ファームウェアはドライバパッケージで配布され、管理者が pkg update コマンドを使用してドライバを更新するときに更新される必要があります。ドライバの設計については、Oracle Solaris 11.2 デバイスドライバの記述 のファームウェア互換性を参照してください。また、一部の新機能がサポートされていない場合でも、ドライバは引き続き downrev ファームウェアを使用して機能する必要があります。

いくつかのドライバでは、pkg update の実行によるドライバの更新とは別にデバイスファームウェアを更新するために手動での介入が必要です。ファームウェアが手動で保守されるドライバのいくつかは、古いバージョンのファームウェアと互換性がなく、ファームウェアに関する最小バージョン要件があります。現在インストールされているファームウェアとの互換性がないドライバのインストールを防ぐには、origin 依存関係を使用できます。このようなドライバのインストールによりシステムアップグレードが行われず、その結果システムが部分的に機能しなくなることがあります。

origin 依存関係を使用すると、配布されるドライバのバージョンと互換性があるデバイスファームウェアの最小バージョンを指定できます。root-image 属性の値が true で、fmri 属性の値が pkg:/feature/firmware/ で始まる場合、fmri 値の残りの部分は、ファームウェアの依存関係を評価する /usr/lib/fwenum 内のコマンドとして扱われます。このタイプの依存関係を指定するパッケージを管理者が更新し、ファームウェア列挙子によってファームウェア依存関係が満たされていないと判断される場合、エラーメッセージが表示され、更新は実行されず、システムは変更されません。エラーメッセージには、このドライバにより管理されるデバイスに必要なファームウェアバージョンが表示されます。ファームウェアが更新されたら、管理者は pkg update を再試行できます。

次に、最小ファームウェアバージョン要件のある origin 依存関係の例を示します。

depend fmri=pkg:/feature/firmware/mpt_sas minimum-version=1.0.0.0 \
root-image=true type=origin variant.opensolaris.zone=global

pkg クライアントは、次の例に示すようにファームウェア列挙子を呼び出します。

/usr/lib/fwenum/mpt_sas minimum-version=1.0.0.0

次に示す pkg クライアントからのメッセージの例は、管理者に対し、mpt_sas ドライバが管理する 2 つのデバイスに、そのバージョンが最小要件を満たしていないファームウェアがあることを示しています。このメッセージには、ファームウェアの必要最小バージョン要件も示されます。

There are 2 instances of downrev firmware for the mpt_sas devices present on this system;
upgrade each to version 1.0.0.0 or greater to permit installation of this version of Solaris.

ドライバで複数ベンダーからの同じデバイスがサポートされている場合、依存関係には minimum-version 属性に加えて vendor 属性も指定できます。