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

印刷ビューの終了

更新: 2014 年 7 月
 
 

pkgtrans(1)

名前

pkgtrans - パッケージ形式の変換

形式

pkgtrans [-inosg] [-k keystore] [-a alias] [-P passwd] device1 device2 
     [pkginst]...

説明

pkgtrans ユーティリティーは、インストール可能なパッケージをある形式から別の形式に変換します。次のような変換が行われます。

  • ファイルシステム形式からデータストリームへ

  • ファイルシステム形式から署名付きのデータストリームへ

  • データストリームからファイルシステム形式へ

  • あるファイルシステム形式から別のファイルシステム形式へ

オプション

このコマンドのオプションと引数は次のとおりです。

–a alias

friendlyName が示す別名に関連付けられた公開鍵証明書と対応する秘密鍵を使用します。詳細は、KEYSTORE LOCATIONS and KEYSTORE AND CERTIFICATE FORMATS in pkgadd(1M)を参照してください。

–g

結果として得られたデータストリームに署名します。

–i

pkginfo(4) ファイルと pkgmap(4) ファイルのみをコピーします。

–k keystore

キーストアを使用して、署名の生成に使用する秘密鍵を取得します。指定しなかった場合は、–a で指定した秘密鍵を見つけるためにデフォルトの場所が検索されます。別名を指定せず、キーストアに複数の鍵が存在する場合は、pkgtrans が異常終了します。検索の場所と形式の詳細については、KEYSTORE LOCATIONS and KEYSTORE AND CERTIFICATE FORMATS in pkgadd(1M)を参照してください。

root 以外のユーザーが実行した場合、証明書検索のデフォルトベースディレクトリは ~/.pkg/security になります。ここで、~pkgtrans を起動したユーザーのホームディレクトリです。

–n

このパッケージのインスタンスがすでに存在する場合は、宛先デバイス上にパッケージの新しいインスタンスを作成します。作成するインスタンスの最大数は、pkginfo(4) ファイルの MAXINST 変数で指定されます。

–o

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

–P passwd

キーストアの復号化に使用するパスワードを指定します。このオプションの引数の構文の詳細については、PASS PHRASE ARGUMENTS in pkgadd(1M)を参照してください。

–s

パッケージをファイルシステムではなくデータストリームとして device2 に書き込むよう指定します。デフォルトの動作では、両方の形式をサポートするデバイスにはファイルシステム形式で書き込みます。

オペランド

device1

ソースデバイスを指定します。このデバイス上の 1 つ以上のパッケージを変換して、device2 に格納します。下記の「デバイス識別子」を参照してください。

device2

宛先デバイスを指定します。変換されたパッケージはこのデバイスに格納されます。下記の「デバイス識別子」を参照してください。

pkginst

device1 上の変換対象となるパッケージインスタンスを 1 つ以上指定します。トークン all を使用すると、すべてのパッケージを指定できます。pkginst.* を使用すると、1 つのパッケージのすべてのインスタンスを指定できます。パッケージを定義しなかった場合は、デバイス上のすべてのパッケージがプロンプトに表示され、変換対象を選択するよう求められます。

シェルによっては、アスタリスク文字 (*) が特殊な意味を持つことがあり、 * をエスケープしなければならない場合があります。C シェルの場合、* は単一引用符 (') で囲むか、またはバックスラッシュ (\) を前に付ける必要があります。

デバイス識別子

デバイス識別子

pkgtranspkgadd(1M)pkgchk(1M) などのパッケージツールでは、パッケージが格納されているデバイスを指定することによってパッケージの場所を指定できます。次の一覧は、パッケージを格納して取り出すことができるデバイスのタイプです。ただし、ソースデバイスと宛先デバイスを同じデバイスにすることはできません。

デバイス

デバイス識別子をデバイスとして指定することで、パッケージを文字デバイスまたはブロック型デバイスに格納できます。このデバイスタイプのよくある例は、取り外し可能磁気テープの /dev/rmt/0 です。pkgtrans では、通常のファイルシステムのファイルをストリーム形式で生成することもできます。これは、文字デバイスや Web サーバーへの格納、または pkgadd(1M) への入力に適しています。

ディレクトリ

ファイルシステムのディレクトリへの絶対パスを指定することにより、パッケージをディレクトリに格納できます。パッケージの内容は、指定したディレクトリ内のディレクトリに格納されます。パッケージのディレクトリ名は、pkginfo(4) ファイルでの PKG の指定と同じにする必要があります。このタイプのデバイス指定の例は、/export/packages です。

使用例 1 /tmp 上のパッケージを変換する

次の例では、/tmp 上のパッケージ pkg1 および pkg2 をデータストリーム形式に変換しています。

example% pkgtrans -s /tmp /tmp/datastream.pkg pkg1 pkg2
使用例 2 署名付きパッケージを作成する

次の例では、pkg1 および pkg2 から署名付きパッケージを作成し、$PASS 環境変数からパスワードを読み取っています。

example% pkgtrans -sg -k /tmp/keystore.p12 -a foo \
    -p env:PASS /tmp /tmp/signedpkg pkg1 pkg2
使用例 3 パッケージデータストリームを変換する

次の例では、パッケージのデータストリームをファイルシステム形式のパッケージに変換しています。

example% pkgtrans /tmp/pkg1.pkg ~/tmp pkg1

環境変数

pkginfo(4) ファイルに MAXINST 変数が設定され、パッケージインスタンスの最大数が宣言されています。

終了ステータス

0

正常終了。

>0

エラーが発生した。

属性

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

属性タイプ
属性値
使用条件
package/svr4
インタフェースの安定性
確実

関連項目

pkginfo(1), pkgmk(1), pkgparam(1), pkgproto(1), installf(1M), pkgadd(1M), pkgask(1M), pkgrm(1M), removef(1M), pkginfo(4), pkgmap(4), attributes(5), largefile(5)

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

デフォルトでは、パッケージのインスタンスが宛先デバイスにすでに存在する場合、pkgtrans はそのパッケージのどのインスタンスも変換しません。–n オプションを使用すると、このパッケージのインスタンスがすでに存在する場合に新しいインスタンスが作成されます。–o オプションを使用すると、このパッケージのインスタンスがすでに存在する場合にそのインスタンスが上書きされます。宛先デバイスがデータストリームである場合は、どちらのオプションも使用できません。

パッケージコマンドは、largefile(5) を認識します。これらのコマンドは、2G バイトより大きなファイルを、より小さなファイルと同様に処理します。現在の実装では、pkgadd(1M)pkgtrans1、およびそのほかのパッケージコマンドは最大 4G バイトのデータストリームを処理できます。