ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
![]() |
マニュアルページセクション 1: ユーザーコマンド Oracle Solaris 11 Information Library (日本語) |
- インストール可能なパッケージの生成
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(1M) コマンドへの入力として使用されるインストール可能なパッケージを生成します。パッケージの内容はディレクトリ構造形式です。
このコマンドは、パッケージの prototype(4) ファイルを入力として使用し、pkgmap(4) ファイルを作成します。prototype ファイルの各エントリの内容は、適切な出力場所にコピーされます。内容に関する情報 (チェックサム、ファイルサイズ、変更日付) が算出され、prototype ファイルに指定された属性情報とともに pkgmap ファイルに格納されます。
pkgmk は、次の条件に従って prototype(4) ファイルに一覧表示されているファイルを検索します。注: パッケージに含めるファイル場所が prototype ファイルで明示的に指定されている場合、検索に関する次の説明は適用されません。
-b オプションも -r オプションも指定しなかった場合、prototype(4) ファイルに一覧表示されている各ファイルパスのファイル名部分は prototype(4) ファイルと同じディレクトリ内にあるとみなされます。
-b で (先頭に「/」が付かない) 相対パスを指定した場合、prototype(4) ファイルの相対ファイルパスの前に base_src_dir が付加されます。この結果得られたパスが root_path ディレクトリ内で検索されます。root_path を指定しなかった場合、デフォルトの「/」が使用されます。
-b で (先頭に「/」を付けた) 絶対パスを指定した場合、prototype(4) ファイルの相対パスの前に base_src_dir が付加され、その結果がファイルの場所になります。root_path は検索されません。
-r を指定した場合、prototype(4) ファイルの完全なファイルパスが使用されます。相対パスの前には 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 の場所を指定するようにしてください。
pkgmk などのパッケージコマンドは largefile(5) を認識します。これらのコマンドは、2G バイトより大きなファイルを、より小さなファイルと同様に処理します。現在の実装では、pkgadd(1M)、pkgtrans(1)、およびその他のパッケージコマンドは最大 4G バイトのデータストリームを処理できます。
次のオプションがサポートされています。
pkginfo(4) ファイルに指定されたアーキテクチャー情報を arch で上書きします。
指定された base_src_dir を先頭に付加して、ソースマシン上の再配置可能オブジェクトの場所を特定します。このオプションは、prototype ファイル内のすべてのオブジェクトを検索する場合に使用します。pkgmk は、/base_src_dir でオブジェクトを検索したり、-b オプションと -r オプションを使用してオブジェクトの場所を特定したりします。
device 上にパッケージを作成します。device はディレクトリの絶対パス名、または着脱式ディスクの識別子のどちらでもかまいません。デフォルトのデバイスはインストールスプールディレクトリ (/var/spool/pkg) です。
コマンドへの入力として prototype ファイルを使用します。デフォルトの prototype ファイル名は [Pp]rototype です。
limit に、出力デバイスの最大サイズを 512 バイトブロック単位で指定します。デフォルトでは、出力ファイルがディレクトリまたはマウント可能なデバイスである場合、pkgmk は df(1M) コマンドを使用して出力デバイスの使用可能な容量を動的に計算します。このオプションを pkgtrans(1) と組み合わせて使用すると、パッケージをデータストリーム形式で作成できます。
同じインスタンスを上書きします。パッケージインスタンスがすでに存在する場合は上書きされます。
pkginfo(4) ファイル内の製品スタンプ定義を pstamp で上書きします。
指定された root_path にソースパス名を付加したものを使用して、ソースマシン上のオブジェクトの場所を特定します。パス要素の区切り文字にはコンマ (,) を使用します。このオプションを指定した場合、指定したディレクトリごとに完全な宛先パスが検索されます。-b も -r も指定しなかった場合は、現在のディレクトリ内のリーフファイル名が検索されます。
pkginfo(4) ファイルに指定されたバージョン情報を version で上書きします。
指定された変数をパッケージング環境に設定します。変数指定の定義については、prototype(4) を参照してください。
次のオペランドがサポートされています。
インスタンスによるパッケージの指定。インスタンスはパッケージの省略形または特定のインスタンス (たとえば、inst.1 や inst.2) のどちらでもかまいません。パッケージのすべてのインスタンスを要求するには、inst.* を使用します。シェルによっては、アスタリスク文字 (*) が特殊な意味を持つことがあり、* をエスケープしなければならない場合があります。C シェルでは、* は単一引用符 (') で囲むか、またはバックスラッシュ (\) を前に付ける必要があります。
次の終了値が返されます。
正常終了。
エラーが発生しました。
属性についての詳細は、attributes(5) を参照してください。
|
pkgparam(1), pkgproto(1), pkgtrans(1), uname(1), df(1M), pkgadd(1M), pkginfo(4), pkgmap(4), prototype(4), attributes(5), largefile(5)
『Application Packaging Developer’s Guide』
アーキテクチャー情報は、コマンド行で -a オプションを使用して指定するか、または prototype(4) ファイルに入力します。アーキテクチャー情報を指定しなかった場合は、uname -m の出力が使用されます (uname(1) を参照)。
バージョン情報は、コマンド行で -v オプションを使用してを指定するか、または pkginfo(4) ファイルに入力します。バージョン情報を指定しなかった場合は、現在の日付に基づくデフォルトが指定されます。
アーキテクチャーとバージョンのどちらについても、コマンド行の定義が prototype(4) の定義よりも優先されます。
ゾーン関連パラメータを次のような無効な組み合わせで使用すると、pkgmk は失敗します。
SUNW_PKG_ALLZONES と SUNW_PKG_THISZONE の両方を TRUE に設定します。
SUNW_PKG_HOLLOW を TRUE に設定し、SUNW_PKG_ALLZONES を FALSE に設定します。
パッケージに要求スクリプトを含め、SUNW_PKG_THISZONE を TRUE に設定します。
これらのパラメータの詳細については、pkginfo(4) を参照してください。