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

ドキュメントの情報

はじめに

1.  パッケージの設計

2.  パッケージの構築

パッケージの構築プロセス (タスクマップ)

パッケージ環境変数

環境変数の使用に関する一般的な規則

パッケージ環境変数のサマリー

pkginfo ファイルの作成

パッケージインスタンスの定義

パッケージの省略名の定義 (PKG)

パッケージアーキテクチャーの指定 (ARCH)

パッケージの命令セットアーキテクチャーの指定 (SUNW_ISA)

パッケージのバージョンの指定 (VERSION)

パッケージ名の定義 (NAME)

パッケージカテゴリの定義 (CATEGORY)

pkginfo ファイルの作成方法

パッケージのコンテンツの編成

パッケージのコンテンツの編成方法

prototype ファイルの作成

prototype ファイルの形式

ftype フィールド

class フィールド

path フィールド

集合的再配置可能オブジェクト

個別再配置可能オブジェクト

パラメータ型パス名

オブジェクトのソースおよびターゲットの場所の簡略な記述

mode フィールド

owner フィールド

group フィールド

prototype ファイルを最初から作成する

例--pkgproto コマンドを使用した prototype ファイルの作成

pkgproto コマンドで作成した prototype ファイルの微調整

ファイルタイプ vex、および i を指定したオブジェクトのエントリの作成

複数のクラス定義の使用

例--pkgproto コマンドを使用して作成した prototype ファイルの微調整

prototype ファイルへの機能の追加

インストール時に作成される追加のオブジェクトの定義

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

複数のボリュームにわたるパッケージの配布

prototype ファイルの入れ子化

mode フィールド、owner フィールド、および group フィールドのデフォルト値の設定

pkgmk コマンドの検索パスの指定

環境変数の設定

pkgproto コマンドを使用して prototype ファイルを作成する方法

パッケージの構築

最も簡単な pkgmk コマンドの使用

pkgmap ファイル

パッケージの構築方法

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

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

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

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

用語集

索引

パッケージの構築

pkgmk コマンドを使用してパッケージを構築します。 pkgmk コマンドは、次のタスクを実行します。

最も簡単な pkgmk コマンドの使用

pkgmk コマンドの最も簡単な形式は、オプションを指定しない場合です。オプションを指定せずに pkgmk コマンドを使用する前に、現在の作業用ディレクトリにパッケージの prototype ファイルを含める必要があります。コマンド、ファイル、およびディレクトリの出力は、/var/spool/pkg ディレクトリに書き込まれます。

pkgmap ファイル

pkgmk コマンドでパッケージを構築する場合、prototype ファイルに置き換える pkgmap ファイルがコマンドによって作成されます。前の例で使用した pkgmap ファイルには、次のコンテンツが含まれています。

$ more pkgmap
: 1 3170
1 d none SUNWcadap 0755 root sys
1 d none SUNWcadap/demo 0755 root bin
1 f none SUNWcadap/demo/file1 0555 root bin 14868 45617 837527496
1 d none SUNWcadap/lib 0755 root bin
1 f none SUNWcadap/lib/file2 0644 root bin 1551792 62372 837527499
1 d none SUNWcadap/man 0755 bin bin
1 d none SUNWcadap/man/man1 0755 bin bin
1 f none SUNWcadap/man/man1/file3.1 0444 bin bin 3700 42989 837527500
1 f none SUNWcadap/man/man1/file4.1 0444 bin bin 1338 44010 837527499
1 f none SUNWcadap/man/windex 0644 root other 157 13275 837527499
1 d none SUNWcadap/srcfiles 0755 root bin
1 f none SUNWcadap/srcfiles/file5 0555 root bin 12208 20280 837527497
1 f none SUNWcadap/srcfiles/file6 0555 root bin 12256 63236 837527497
1 i pkginfo 140 10941 837531104
$

このファイルの形式は、prototype ファイルの形式とよく似ています。ただし、pkgmap ファイルには、次の情報が含まれます。

パッケージの構築方法

  1. まだ作成していない場合、pkginfo ファイルを作成します。

    作成手順については、pkginfo ファイルの作成方法」を参照してください。

  2. まだ作成していない場合、prototype ファイルを作成します。

    作成手順については、pkgproto コマンドを使用して prototype ファイルを作成する方法」を参照してください。

  3. 現在の作業用ディレクトリを、パッケージの prototype ファイルを含むディレクトリと同じものにします。
  4. パッケージを構築します。
    $ pkgmk [-o] [-a arch] [-b base-src-dir] [-d device]
       [-f filename] [-l limit] [-p pstamp] [-r rootpath]
       [-v version] [PARAM=value] [pkginst]
    -o

    既存のバージョンのパッケージを上書きします。

    -a arch

    pkginfo ファイル内のアーキテクチャー情報をオーバーライドします。

    -b base-src-dir

    pkgmk コマンドが開発システム上のオブジェクトを検索するときに base-src-dir が再配置可能なパス名の先頭に追加されるように要求します。

    -d device

    device (絶対ディレクトリパス名、フロッピーディスク、またはリムーバブルディスクの場合がある) にパッケージがコピーされるように指定します。

    -f filename

    prototype ファイルとして使用されるファイル filename を指定します。デフォルト名は、prototype または Prototype です。

    -l limit

    512 バイトブロック単位で、出力デバイスの最大サイズを指定します。

    -p pstamp

    pkginfo ファイル内の製品スタンプ定義をオーバーライドします。

    -r rootpath

    開発システム上でオブジェクトを検出するためにルートディレクトリ rootpath が使用されるように要求します。

    -v version

    pkginfo ファイル内のバージョン情報をオーバーライドします。

    PARAM=value

    グローバルの環境変数を設定します。小文字で始まる変数は、構築時に解釈処理されます。大文字で始まる変数は pkginfo ファイルに配置され、インストール時に使用されます。

    pkginst

    パッケージの省略名または特定のインスタンス (例: SUNWcadap.4) を指定します。

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

  5. パッケージのコンテンツを確認します。
    $ pkgchk -d device-name pkg-abbrev
    Checking uninstalled directory format package pkg-abbrev
    from device-name
    ## Checking control scripts.
    ## Checking package objects.
    ## Checking is complete.
    $
    -d device-name

    パッケージの位置を指定します。device-name には、完全なディレクトリ パス、またはテープやリムーバルディスクの識別子を指定できます。

    pkg-abbrev

    チェックされる、1 つ以上の (空白で区切られた) パッケージの名前です。やこの引数を省略すると、pkgchk コマンドにより、使用可能なすべてのパッケージがチェックされます。

    pkgchk コマンドは、必要に応じて、パッケージのチェックされる内容を印刷し、警告やエラーを表示します。pkgchk コマンドについては、「パッケージの整合性の確認」を参照してください。


    注意

    注意 - エラーについては、真剣に検討するようにしてください。エラーがある場合、スクリプトの修正が必要な可能性があります。pkgchk コマンドの出力が好ましくない場合、すべてのエラーをチェックしてから先に進んでください。


例 2-2 パッケージの構築

次の例では、Fine-Tuning a prototype File Created With the pkgprotoCommandで作成した pkgproto コマンドで作成した prototype ファイルの微調整」 ファイルを使用します。

$ cd /home/jane/InfoFiles
$ pkgmk
## Building pkgmap from package prototype file.
## Processing pkginfo file.
WARNING: parameter  set to "system990708093144"
WARNING: parameter  set to "none"
## Attempting to volumize 13 entries in pkgmap.
part  1 -- 3170 blocks, 17 entries
## Packaging one part.
/var/spool/pkg/SUNWcadap/pkgmap
/var/spool/pkg/SUNWcadap/pkginfo
/var/spool/pkg/SUNWcadap/reloc/SUNWcadap/demo/file1
/var/spool/pkg/SUNWcadap/reloc/SUNWcadap/lib/file2
/var/spool/pkg/SUNWcadap/reloc/SUNWcadap/man/man1/file3.1
/var/spool/pkg/SUNWcadap/reloc/SUNWcadap/man/man1/file4.1
/var/spool/pkg/SUNWcadap/reloc/SUNWcadap/man/windex
/var/spool/pkg/SUNWcadap/reloc/SUNWcadap/srcfiles/file5
/var/spool/pkg/SUNWcadap/reloc/SUNWcadap/srcfiles/file6
## Validating control scripts.
## Packaging complete.
$

例 2-3 再配置可能ファイルのソースディレクトリの指定

パッケージに再配置可能ファイルが含まれる場合、pkgmk コマンドの -b base-src-dir オプションを使用して、パッケージの作成時に再配置可能なパス名の先頭に追加するパス名を指定します。このオプションは、再配置可能ファイルに対して path1=path2 形式を使用していない場合や、prototype ファイル内で !search コマンドを使用して検索パスを指定していない場合に便利です。

次のコマンドでは、次に示す特性によってパッケージを構築します。

$ cd /home/jane/InfoFiles
$ pkgmk -o -b /home/jane
## Building pkgmap from package prototype file.
## Processing pkginfo file.
WARNING: parameter  set to "system960716102636"
WARNING: parameter  set to "none"
## Attempting to volumize 13 entries in pkgmap.
part  1 -- 3170 blocks, 17 entries
## Packaging one part.
/var/spool/pkg/SUNWcadap/pkgmap
/var/spool/pkg/SUNWcadap/pkginfo
/var/spool/pkg/SUNWcadap/reloc/SUNWcadap/demo/file1
/var/spool/pkg/SUNWcadap/reloc/SUNWcadap/lib/file2
/var/spool/pkg/SUNWcadap/reloc/SUNWcadap/man/man1/file3.1
/var/spool/pkg/SUNWcadap/reloc/SUNWcadap/man/man1/file4.1
/var/spool/pkg/SUNWcadap/reloc/SUNWcadap/man/windex
/var/spool/pkg/SUNWcadap/reloc/SUNWcadap/srcfiles/file5
/var/spool/pkg/SUNWcadap/reloc/SUNWcadap/srcfiles/file6
## Validating control scripts.
## Packaging complete.

この例では、-o オプションを指定して、デフォルトのディレクトリ /var/spool/pkg にパッケージが構築されます。このオプションにより、例 2-2 で作成されたパッケージが上書きされます。

例 2-4 情報ファイルとパッケージオブジェクトへの異なるソースディレクトリの指定

パッケージ情報ファイル (pkginfo および prototype) とパッケージオブジェクトを 2 つの異なるディレクトリに配置する場合、pkgmk コマンドの -b base-src-dir オプションと - r rootpath オプションを使用してパッケージを作成できます。パッケージオブジェクトが /product/pkgbin というディレクトリに含まれ、その他のパッケージ情報ファイルが /product/pkgsrc というディレクトリに含まれる場合、次のコマンドを使用してパッケージを /var/spool/pkg ディレクトリに配置できます。

$ pkgmk -b /product/pkgbin -r /product/pkgsrc -f /product/pkgsrc/prototype

また、次のコマンドを使用した場合でも、同じ結果が得られます。

$ cd /product/pkgsrc
$ pkgmk -o -b /product/pkgbin

この例では、pkgmk コマンドは現在の作業用ディレクトリを使用してパッケージの残りの部分 (prototype 情報ファイルや pkginfo 情報ファイルなど) を検索します。

参照

オプションの情報ファイルおよびインストールスクリプトをパッケージに追加するには、第 3 章パッケージの機能の拡張 (タスク)を参照してください。それ以外の場合は、パッケージを構築したあとに、整合性を確認するようにしてください。第 4 章パッケージの確認と転送では、パッケージの確認方法について説明し、確認済みのパッケージを配布媒体に転送する方法について順を追って説明します。