Go to main content

マニュアルページ セクション 1: ユーザーコマンド

印刷ビューの終了

更新: 2018年8月8日
 
 

pkgmk(1)

名前

pkgmk - インストール可能なパッケージの生成

形式

pkgmk [-o] [-a arch] [-b base_src_dir] [-d device] 
     [-f prototype] [-l limit] [-p pstamp] [-r root_path] 
     [-v version] [variable=value]... [pkginst]

説明

pkgmk ユーティリティーは、pkgadd(8) コマンドへの入力として使用されるインストール可能なパッケージを生成します。パッケージの内容はディレクトリ構造形式です。

このコマンドは、パッケージの prototype(5) ファイルを入力として使用し、pkgmap(5) ファイルを作成します。prototype ファイルの各エントリの内容は、適切な出力場所にコピーされます。内容に関する情報 (チェックサム、ファイルサイズ、変更日付) が算出され、prototype ファイルに指定された属性情報とともに pkgmap ファイルに格納されます。

pkgmk は、次の条件に従って prototype(5) ファイルに一覧表示されているファイルを検索します。注: パッケージに含めるファイル場所が prototype ファイルで明示的に指定されている場合、検索に関する次の説明は適用されません。

  1. –b–r のどちらのオプションも指定されていない場合、prototype(5) ファイルに記載されている各ファイルパスのファイル名コンポーネントは prototype(5) ファイルと同じディレクトリ内にあると予測されます。

  2. –b で (先頭に「/」が付かない) 相対パスを指定した場合、prototype(5) ファイルの相対ファイルパスの前に base_src_dir が付加されます。この結果得られたパスが root_path ディレクトリ内で検索されます。root_path を指定しなかった場合、デフォルトの「/」が使用されます。

  3. –b で (先頭に「/」を付けた) 絶対パスを指定した場合、prototype(5) ファイルの相対パスの前に base_src_dir が付加され、その結果がファイルの場所になります。root_path は検索されません

  4. –r を指定した場合、prototype(5) ファイルの完全なファイルパスが使用されます。相対パスの前には base_src_dir が付加されます。base_src_dir を指定しなかった場合は、デフォルトの "" が使用されます。この結果得られたパスが root_path の各ディレクトリ内で検索されます。

"pkgproto a/relative/path" または "pkgproto a/relative/path=install/path" を使用して prototype ファイルを作成した場合、pkgmk がソースファイルの場所を正しく特定できるように、–r root_path オプションを使用して a/relative/path の場所を指定するようにしてください。

pkgadd(8)pkgtrans(1)、およびその他のパッケージコマンドは、その現在の実装では最大 4G バイトのデータストリームを処理できます。

オプション

サポートしているオプションは、次のとおりです。

–a arch

pkginfo(5) ファイルに指定されたアーキテクチャー情報を arch でオーバーライドします。

–b base_src_dir

指定された base_src_dir を先頭に付加して、ソースマシン上の再配置可能オブジェクトの場所を特定します。このオプションは、prototype ファイル内のすべてのオブジェクトを検索する場合に使用します。pkgmk は、/base_src_dir でオブジェクトを検索したり、–b オプションと –r オプションを使用してオブジェクトの場所を特定したりします。

–d device

device 上にパッケージを作成します。device はディレクトリの絶対パス名、または着脱式ディスクの識別子のどちらでもかまいません。デフォルトのデバイスはインストールスプールディレクトリ (/var/spool/pkg) です。

–f prototype

コマンドへの入力として prototype ファイルを使用します。デフォルトの prototype ファイル名は [Pp]rototype です。

–l limit

limit に、出力デバイスの最大サイズを 512 バイトブロック単位で指定します。デフォルトでは、出力ファイルがディレクトリまたはマウント可能なデバイスである場合、pkgmkdf(8) コマンドを使用して出力デバイス上の使用可能な領域の量を動的に計算します。このオプションを pkgtrans(1) と組み合わせて使用すると、パッケージをデータストリーム形式で作成できます。

–o

同じインスタンスを上書きします。パッケージインスタンスがすでに存在する場合は上書きされます。

–p pstamp

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

–r root_path

指定された root_path にソースパス名を付加したものを使用して、ソースマシン上のオブジェクトの場所を特定します。パス要素の区切り文字にはコンマ (,) を使用します。このオプションを指定した場合、指定したディレクトリごとに完全な宛先パスが検索されます。–b–r も指定しなかった場合は、現在のディレクトリ内のリーフファイル名が検索されます。

–v version

pkginfo(5) ファイルに指定されたバージョン情報を version でオーバーライドします。

variable=value

指定された変数をパッケージング環境に設定します。変数指定の定義については、prototype(5) を参照してください。

オペランド

次のオペランドを指定できます。

pkginst

インスタンスによるパッケージの指定。インスタンスはパッケージの省略形または特定のインスタンス (たとえば、inst.1inst.2) のどちらでもかまいません。パッケージのすべてのインスタンスを要求するには、inst.* を使用します。シェルによっては、アスタリスク文字 (*) が特殊な意味を持つことがあり、* をエスケープしなければならない場合があります。C シェルでは、* は単一引用符 (') で囲むか、またはバックスラッシュ (\) を前に付ける必要があります。

終了ステータス

次の終了ステータスが返されます。

0

正常終了。

>0

エラーが発生しました。

属性

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

属性タイプ
属性値
使用条件
package/svr4

関連項目

pkgparam(1), pkgproto(1), pkgtrans(1), uname(1), pkginfo(5), pkgmap(5), prototype(5), attributes(7), df(8), pkgadd(8)

アーキテクチャー情報は、コマンド行で –a オプションを使用して指定するか、または prototype(5) ファイルに入力します。アーキテクチャー情報を指定しなかった場合は、uname –m の出力が使用されます (uname(1) を参照)。

バージョン情報は、コマンド行で –v オプションを使用してを指定するか、または pkginfo(5) ファイルに入力します。バージョン情報を指定しなかった場合は、現在の日付に基づくデフォルトが指定されます。

アーキテクチャーとバージョンのどちらについても、コマンド行の定義が prototype(5) の定義よりも優先されます。

ゾーン関連パラメータを次のような無効な組み合わせで使用すると、pkgmk は失敗します。

  1. SUNW_PKG_ALLZONES と SUNW_PKG_THISZONE の両方を TRUE に設定します。

  2. SUNW_PKG_HOLLOW を TRUE に設定し、SUNW_PKG_ALLZONES を FALSE に設定します。

  3. パッケージに要求スクリプトを含め、SUNW_PKG_THISZONE を TRUE に設定します。

これらのパラメータの詳細については、pkginfo(5) を参照してください。