JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
アプリケーションパッケージ開発者ガイド     Oracle Solaris 10 1/13 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  パッケージの設計

2.  パッケージの構築

3.  パッケージの機能の拡張 (タスク)

情報ファイルとインストールスクリプトの作成 (タスクマップ)

情報ファイルの作成

パッケージの依存関係の定義

パッケージの依存関係を定義する方法

著作権に関するメッセージの書き込み

著作権に関するメッセージを書く方法

ターゲットシステムでの追加領域の予約

ターゲットシステムに追加領域を予約する方法

インストールスクリプトの作成

パッケージインストール時のスクリプトの処理

パッケージ削除時のスクリプトの処理

スクリプトで使用できるパッケージ環境変数

スクリプト用パッケージ情報の取得

スクリプトの終了コード

request スクリプトの書き込み

request スクリプトの動作

request スクリプトの設計規則

request スクリプトを書く方法

checkinstall スクリプトでのファイルシステムデータの収集

checkinstall スクリプトの動作

checkinstall スクリプトの設計規則

ファイルシステムデータを収集する方法

手続きスクリプトの書き込み

手続きスクリプトの動作

手続きスクリプトの設計規則

手続きスクリプトを書く方法

クラスアクションスクリプトの書き込み

オブジェクトクラスの定義

パッケージインストール時のクラスの処理方法

パッケージ削除時のクラスの処理方法

クラスアクションスクリプト

クラスアクションスクリプトの動作

クラスアクションスクリプトの設計規則

特殊なシステムクラス

sed クラススクリプト

awk クラススクリプト

build クラススクリプト

preserve クラススクリプト

manifest クラススクリプト

クラスアクションスクリプトを書く方法

署名付きパッケージの作成

署名付きパッケージ

証明書管理

パッケージキーストアへの信頼できる証明書の追加

パッケージキーストアへのユーザー証明書と非公開鍵の追加

パッケージキーストアの内容の確認

パッケージキーストアからの信頼できる証明書と非公開鍵の削除

署名付きパッケージの作成

署名なしディレクトリ形式パッケージを作成する方法

証明書をパッケージキーストアにインポートする方法

パッケージに署名する方法

4.  パッケージの確認と転送

5.  パッケージ作成のケーススタディー

6.  パッケージの作成のための高度な手法

用語集

索引

情報ファイルの作成

このセクションでは、オプションのパッケージ情報ファイルについて説明します。パッケージ情報ファイルを使用すると、パッケージの依存関係の定義、著作権に関するメッセージの提供、およびターゲットシステム上の追加領域の予約が可能になります。

パッケージの依存関係の定義

作成するパッケージがほかのパッケージに依存するかどうか、およびほかのパッケージが作成するパッケージに依存するかどうかを、判定する必要があります。パッケージの依存関係と非互換性は、2 つのオプションパッケージ情報ファイル、compverdepend で定義できます。

compver ファイルを提供することで、インストールされているパッケージと互換性のある、以前のバージョンのパッケージを指定できます。

depend ファイルを提供することで、パッケージに関連付けられた 3 種類の依存関係を定義できます。これらの依存タイプは次のとおりです。

depend ファイルは、とても基本的な依存関係のみを判定します。作成するパッケージが特定のファイル、そのファイルの内容、動作に依存する場合、depend ファイルによる判定だけでは正確性は十分ではありません。このような場合は、request スクリプトまたは checkinstall スクリプトを使用して、詳細な依存関係チェックを行うようにしてください。checkinstall スクリプトは、パッケージのインストールプロセスをクリーンに停止できる唯一のスクリプトでもあります。


注 - depend ファイルと compver ファイルのエントリが prototype ファイルにあることを確認してください。ファイルタイプは、i (パッケージ情報ファイル) としてください。


詳細は、depend(4) および compver(4) のマニュアルページを参照してください。

パッケージの依存関係を定義する方法

  1. 情報ファイルが格納されているディレクトリを、現在の作業用ディレクトリにします。
  2. 以前のバージョンのパッケージが存在し、新しいパッケージと互換性があることを指定する必要がある場合は、任意のテキストエディタを使用して compver という名前のファイルを作成します。

    作成するパッケージと互換性があるバージョンを一覧表示します。次の形式を使用します。

    string string . . .

    string の値は、各互換パッケージの pkginfo ファイルの VERSION パラメータに割り当てられている値と同じです。

  3. ファイルを保存してエディタを終了します。
  4. 作成するパッケージがほかのパッケージの存在に依存する場合、ほかのパッケージが作成するパッケージの存在に依存する場合、または作成するパッケージが別のパッケージと互換性がない場合は、任意のテキストエディタを使用して depend という名前のファイルを作成します。

    依存関係ごとにエントリを追加します。次の形式を使用します。

    type pkg-abbrev pkg-name
        (arch) version
        (arch) version . . .
    type

    依存タイプを定義します。次のいずれかの文字を指定する必要があります。 P (必須パッケージ)、I (非互換パッケージ)、または R (逆依存)。

    pkg-abbrev

    パッケージの省略名を指定します (SUNWcadap など)。

    pkg-name

    完全なパッケージ名を指定します。たとえば、「Chip designers need CAD application software to design abc chips. Runs only on xyz hardware and is installed in the usr partition.」などです。

    (arch)

    オプション。パッケージが稼働するハードウェアの種類を指定します。たとえば、sparcx86 などです。アーキテクチャーを指定する場合は、区切り文字として丸括弧を使用する必要があります。

    version

    オプション。pkginfo ファイルで VERSION パラメータに割り当てられている値を指定します。

    詳細については、depend(4) を参照してください。

  5. ファイルを保存してエディタを終了します。
  6. 次のいずれかのタスクを完了します。
  7. パッケージを構築します。

    必要な場合は、「パッケージの構築方法」を参照してください。

例 3-1 compver ファイル

この例では、4 つのバージョンのパッケージ (1.0、1.1、2.0 と新しいパッケージ 3.0) があります。新しいパッケージには、以前の 3 つのすべてのバージョンとの互換性があります。最新バージョンの compver ファイルは次のような内容です。

release 3.0
release 2.0
version 1.1
1.0

エントリは、順番になっていなくてもかまいません。ただし、各パッケージの pkginfo ファイルでの VERSION パラメータの定義と正確に一致するようにしてください。この例では、パッケージ設計者は最初の 3 つのバージョンで異なる形式を使用しています。

例 3-2 depend ファイル

この例では、サンプルパッケージ SUNWcadap は、SUNWcsr パッケージと SUNWcsu パッケージがターゲットシステムにすでにインストールされている必要があるものとします。 SUNWcadapdepend ファイルは、次のような内容です。

P SUNWcsr Core Solaris, (Root)
P SUNWcsu Core Solaris, (Usr)

参照

パッケージを構築したあと、実際にインストールして、正しくインストールされることを確認し、整合性を検証します。第 4 章パッケージの確認と転送では、これらのタスクについて説明し、検証済みのパッケージを配布媒体に転送する方法の手順を示します。

著作権に関するメッセージの書き込み

パッケージのインストール中に著作権に関するメッセージを表示するべきかどうかを決める必要があります。表示する必要がある場合は、copyright ファイルを作成します。


注 - ソフトウェアアプリケーションを法的に保護するには、copyright ファイルを含めるようにしてください。メッセージの正確な文言については、会社の法務部門に確認してください。


著作権に関するメッセージを提供するには、copyright という名前のファイルを作成する必要があります。インストール中に、ファイルに記述されているとおりに (書式設定されずに) メッセージが表示されます。詳細については、copyright(4) のマニュアルページを参照してください。


注 - copyright ファイルのエントリが prototype ファイルにあることを確認してください。ファイルタイプは、i (パッケージ情報ファイル) としてください。


著作権に関するメッセージを書く方法

  1. 情報ファイルが格納されているディレクトリを、現在の作業用ディレクトリにします。
  2. 任意のテキストエディタを使用して、copyright という名前のファイルを作成します。

    パッケージのインストール時に表示する、著作権に関するメッセージの文章を、正確に入力します。

  3. ファイルを保存してエディタを終了します。
  4. 次のいずれかのタスクを完了します。
  5. パッケージを構築します。

    必要な場合は、「パッケージの構築方法」を参照してください。

例 3-3 copyright ファイル

たとえば、著作権に関するメッセージの一部分は次のようになります。

Copyright (c) 2003 Company Name
All Rights Reserved
 
This product is protected by copyright and distributed under
licenses restricting copying, distribution, and decompilation.

参照

パッケージを構築したあと、実際にインストールして、正しくインストールされることを確認し、整合性を検証します。第 4 章パッケージの確認と転送では、これらのタスクについて説明し、検証済みのパッケージを配布媒体に転送する方法の手順を示します。

ターゲットシステムでの追加領域の予約

ターゲットシステムでは、パッケージは追加のディスク領域が必要かどうかを判定する必要があります。この領域は、パッケージオブジェクトで必要な領域とは別に追加するものです。必要な場合は、space 情報ファイルを作成します。このタスクは、「インストール時に作成される追加のオブジェクトの定義」で説明した、インストール時の空のファイルとディレクトリの作成とは異なるものです。

pkgadd コマンドを使用すると、pkgmap ファイルでのオブジェクト定義に基づいて、パッケージのインストールに十分なディスク領域が確保されます。ただし、パッケージでは、pkgmap ファイルで定義されているオブジェクトが必要とするディスク領域以上の追加の領域が必要になる場合があります。たとえば、パッケージのインストール後に、ディスク領域を消費するデータベース、ログファイルなど、ファイルサイズが大きくなる可能性があるファイルが作成されるような場合です。このような場合のために領域を予約するには、必要なディスク領域を指定する space ファイルを含めるようにしてください。pkgadd コマンドは、space ファイルで指定されている追加領域をチェックします。詳細については、space(4) のマニュアルページを参照してください。


注 - space ファイルのエントリが prototype ファイルにあることを確認してください。ファイルタイプは、i (パッケージ情報ファイル) としてください。


ターゲットシステムに追加領域を予約する方法

  1. 情報ファイルが格納されているディレクトリを、現在の作業用ディレクトリにします。
  2. 任意のテキストエディタを使用して、spacet という名前のファイルを作成します。

    パッケージに必要な追加ディスク領域の要件を指定します。次の形式を使用します。

    pathname blocks inodes
    pathname

    ディレクトリ名を指定します。ファイルシステムのマウントポイントであってもなくてもかまいません。

    blocks

    予約する 512 バイトブロックの数を指定します。

    i ノード

    必要な i ノードの数を指定します。

    詳細については、space(4) のマニュアルページを参照してください。

  3. ファイルを保存してエディタを終了します。
  4. 次のいずれかのタスクを完了します。
  5. パッケージを構築します。

    必要な場合は、「パッケージの構築方法」を参照してください。

例 3-4 space ファイル

この space ファイルの例では、1000 個の 512 バイトブロックと 1 個の i ノードをターゲットシステムの /opt ディレクトリに予約するように指定しています。

/opt   1000   1

参照

パッケージを構築したあと、実際にインストールして、正しくインストールされることを確認し、整合性を検証します。第 4 章パッケージの確認と転送では、これらのタスクについて説明し、検証済みのパッケージを配布媒体に転送する方法の手順を示します。