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

印刷ビューの終了

更新: 2014 年 7 月
 
 

パッケージ識別子: FMRI

各 IPS パッケージは、スキーム pkg を使用して、パブリッシャー、名前、およびバージョンから成る障害管理リソース識別子 (FMRI) によって表されます。次のパッケージ FMRI の例では、solaris がパブリッシャー、system/library がパッケージ名、そして 0.5.11,5.11-0.175.0.0.0.2.1:20111019T082311Z がバージョンです。

pkg://solaris/system/library@0.5.11,5.11-0.175.1.0.0.2.1:20120919T082311Z

FMRI は、結果となる FMRI が引き続き一意である場合は、省略形で指定することができます。スキーム、パブリッシャー、およびバージョンは省略できます。パッケージ名の先頭のコンポーネントは省略できます。

  • FMRI が pkg:// または // で始まる場合、// のあとの最初の語はパブリッシャー名である必要があり、パッケージ名からコンポーネントを省略することはできません。パッケージ名からコンポーネントを省略しない場合、そのパッケージ名は完全、またはルート指定とみなされます。

  • FMRI が pkg:/ または / で始まる場合、そのスラッシュのあとの最初の語はパッケージ名であり、パッケージ名からコンポーネントを省略することはできません。パブリッシャー名はなくても構いません。

  • バージョンが省略されている場合、パッケージは通常、インストール可能な最新バージョンのパッケージに解決されます。

パッケージパブリッシャー

パブリッシャーとは、パッケージを開発および構築するエンティティーの 1 つです。パブリッシャー名 (接頭辞) は、独自の方法でこのソースを識別します。パブリッシャー名には、大文字、小文字、数字、ハイフン、およびピリオド、つまり有効なホスト名と同じ文字を含めることができます。インターネットのドメイン名または登録商標は、自然の名前空間のパーティション分割を提供するので、パブリッシャー名に適しています。

パッケージクライアントは、パッケージソリューションの算出時に指定のパブリッシャーの指定されたすべてのパッケージソースを結合します。

パッケージ名

パッケージ名は階層構造になっていて、任意の数のコンポーネントがスラッシュ (/) 文字で区切られています。パッケージ名のコンポーネントは、文字または数字で始める必要があり、アンダースコア (_)、ハイフン (-)、ピリオド (.)、およびプラス記号 (+) を含めることができます。パッケージ名のコンポーネントは大文字と小文字が区別されます。

パッケージ名は、パブリッシャーの間で単一の名前空間を形成します。名前とバージョンが同じでパブリッシャーが異なるパッケージは、外部依存関係や外部インタフェースの観点から取り替え可能とみなされます。

パッケージ名の先頭のコンポーネントは、使用するパッケージ名が一意であれば、省略できます。たとえば、/driver/network/ethernet/e1000gnetwork/ethernet/e1000gethernet/e1000g 、または単なる e1000g に縮小できます。パッケージ名からコンポーネントを省略しない場合、そのパッケージ名は完全、またはルート指定とみなされます。パッケージクライアントがあいまいなパッケージ名に関してエラーを出す場合は、指定するパッケージ名のコンポーネントを増やすか、完全なルート指定の名前を指定します。パッケージ名を選択するときは、あいまいさの可能性をできるだけ減らしてください。

FMRI にパブリッシャー名が含まれている場合は、完全なルート指定のパッケージ名を指定する必要があります。

スクリプトは、パッケージを参照するとき、その完全なルート指定の名前を使用します。

FMRI は、アスタリスク (*) を使ってパッケージ名の一部を一致させることで指定することもできます。したがって、/driver/*/e1000g および /dri*00g はどちらも /driver/network/ethernet/e1000g に展開されます。

パッケージバージョン

パッケージバージョンは、句読点で句切られた 4 つの正の整数の並びで構成されます。最初の 3 つの並びに含まれる要素はピリオド文字 (.) で区切られ、これらの並びの長さは任意です。パッケージバージョンによるあいまいなソートに対応できるように、バージョン要素の先頭にゼロを指定することは禁じられています。たとえば、01.1 や 1.01 は無効なバージョン要素です。

次のパッケージバージョンの例では、最初の並びは 0.5.11、次の並びは 5.11、3 番目の並びは 0.175.1.0.0.2.1、そして 4 番目の並びは 20120919T082311Z です。

0.5.11,5.11-0.175.1.0.0.2.1:20120919T082311Z
コンポーネントバージョン

最初の並びはコンポーネントバージョンです。Oracle Solaris の一部として開発されるコンポーネントの場合、この並びはリリースにおけるこのパッケージが最後に変更された時点を表します。独自の開発ライフサイクルを持つコンポーネントの場合、この並びはドット付きのリリース番号 (2.4.10 など) です。

ビルドバージョン

2 番目の並びはビルドバージョンです。この並び (存在する場合) はコンマのあとに続ける必要があります。Oracle Solaris ではこの並びを使用して、パッケージがコンパイルされた OS のリリースを示します。

ブランチバージョン

3 番目の並びは、ベンダー固有の情報を提供するブランチバージョンです。この並び (存在する場合) はハイフンのあとに続ける必要があります。この並びにはビルド番号を含めることも、他のなんらかの情報を指定することもできます。この値は、コンポーネントとは無関係に、パッケージメタデータが変更されたときに増分できます。Oracle Solaris でのブランチバージョンフィールドの使用方法については、Oracle Solaris パッケージのバージョン管理を参照してください。

タイムスタンプ

4 番目の並びはタイムスタンプです。この並び (存在する場合) はコロンのあとに続ける必要があります。この並びは、パッケージの発行された日付と時間を GMT タイムゾーンで表します。この並びは、パッケージが発行されると自動的に更新されます

パッケージバージョンは、左から右の順で並べられます: @ の直後の数字がバージョン領域で最上位の部分です。タイムスタンプは、バージョン領域で最下位の部分です。

pkg.human-version 属性を使用すると、人間が読める文字列を提供できます。前述のパッケージ FMRI のパッケージバージョンに加えて pkg.human-version 属性の値を指定できますが、この値によってパッケージ FMRI バージョンを置き換えることはできません。人間が読める形式のバージョン文字列は、表示目的でのみ使用されます。詳細は、設定アクションを参照してください。

任意の長さのバージョンを許可することで、IPS はソフトウェアをサポートするためのさまざまなモデルに対応できます。たとえば、パッケージの作成者はビルドまたはブランチバージョンを使用して、バージョン管理スキームの一部分をセキュリティー更新に割り当て、別の部分を有償または無償のサポート更新に割り当て、さらに別の部分をマイナーバグ修正に割り当てるなど、必要な情報をすべて割り当てることができます。

バージョンをトークン latest にして、既知の最新バージョンを指定することもできます。

Oracle Solaris によるバージョン管理の実装方法については、Appendix B, IPS を使用して Oracle Solaris OS をパッケージ化する方法に説明されています。