Solaris man マニュアル
システム管理コマンド                                   pkgadd(1M)

【名前】
     pkgadd - システムへのソフトウェアパッケージの転送

【形式】
     pkgadd [-nvi] [-a admin] [-d device] [-G] [-x proxy] [  [-M]
     -R root_path]  [-r response]  [-k keystore]  [-P passwd]  [-
     V fs_file] [source] [instances]

     pkgadd -s [source] [instances]

【機能説明】
     pkgadd は、ソフトウェアパッケージの内容をインストール用の 配
     布 媒 体 またはディレクトリからシステムに転送します。-d オプ
     ションを指定しない場合、pkgadd はパッケージ用のデフォルト の
     スプールディレクトリ (var/spool/pkg) を探します。-s オプショ
     ンを指定すると、pkgadd はパッケージをインストールするので は
     なく、パッケージをスプールディレクトリに書き込みます。

     pkgadd ユーティリティは、インストールされるパッケージと同 じ
     サ イズの一時容量を必要とします。pkgadd は、$TMPDIR 環境変数
     があるかどうかを検査して、使用する一時ディレクトリを決定しま
     す。$TMPDIR が定義されていない場合、pkgadd は stdio.h に指定
     された P_tmpdir を使用します。P_tmpdir には、デフォ ル ト の
     /var/tmp/ という値が定義されています。

     別製品や Sun 以外のパッケージの中には、最 新 バー ジョ ン の
     pkgadd  との完全な互換性が確保されていないものがあります。そ
     のようなパッケージでは、インストールの開始時だけでなく、イン
     ストール中もユーザーの関与が必要かまたは、要求したスクリプト
     を root ユーザーで実行する必要があります。

     Solaris 2.4 より前にリリースされた古いパッケージをインストー
     ルするには、NONABI_SCRIPTS=TRUE 環境変数を設定する必要があり
     ます。

     この環境変数を設定した場合、インストール中のキーボード か ら
     pkgadd  の対話とパッケージ要求スクリプトの root での実行が可
     能になります。

     大域ゾーン (zones(5) を参照) で pkgadd を実行する場合、要 求
     スクリプト (pkgask(1M)) を含むパッケージは大域ゾーンにのみ追
     加されます。このパッケージは既存の非大域ゾーン、または将来作
     成される非大域ゾーンには転送されません。この動作は以下に説明
     する -G オプションの結果に類似しています。

【オプション】
     次のオプションを指定できます。

     -a admin        デフォルトのインストール管理ファイルの代わり
                     に 使用するインストール管理ファイル admin を
                     定義します。トークン none は admin ファイ ル
                     の使用を無効にするため、ユーザーの関与が必要
                     になります。完全なパス名を指定しない 場 合、
                     pkgadd  は ま ず現在の作業ディレクトリで管理
                     ファイルを探します。指定した管理ファイルが現
                     在 の 作 業 ディ レクトリにないと、pkgadd は
                     /var/sadm/install/admin ディレクトリで 管 理
                     ファイルを探します。



     -d device       device からパッケージをインストールまたは コ
                     ピー します。device はディレクトリへのフルパ
                     ス名 (たとえば、/var/tmp)、ある い は、 テー
                     プ、フロッピーディスク、または着脱式ディスク
                     の識別子 (たとえば、/floppy/floppy_name)  の
                     どちらでもかまいません。また、デバイスの別名
                     (たとえば、 /floppy/floppy0)、 あ る い は、
                     pkgtrans  が作成したデータストリームでもかま
                     いません (pkgtrans(1) のマニュアルページを参
                     照)。



     -G              現在のゾーンのみにパッケージを追加します。大
                     域ゾーンで使用される場合、そのパッケージは大
                     域ゾーンのみに追加され、既存の非大域ゾーン、
                     または将来作成される非大域ゾーンには転送され
                     ません。非大域ゾーンで使用される場合、 そ の
                     パッケージは非大域ゾーンのみに追加されます。

                     パッ ケー ジ の  pkginfo  ファ イ ル  内  で
                     SUNW_PKG_ALLZONES が true に設定されている場
                     合、このオプションを指定すると、パッケージの
                     イ ンストールは失敗します。pkginfo(4) を参照
                     してください。



     -k keystore     パッケージ内に見つかったデジタル署名を検証す
                     るのに、認証局の信頼された証明書を入手するた
                     めの場所を keystore で指定します。キーストア
                     が指定されていない場合、デフォルトのキースト
                     アの場所で信頼された有効な証明書を探します。
                     詳 細 は、 キーストアの場所 を参照してくださ
                     い。



     -M              クライアントのマウントポイントを決定するとき
                     に、$root_path/etc/vfstab ファイルを使用しな
                     いようにします。このオプションは、マウントポ
                     イントがサーバー上で適切であり、そのサーバー
                     が Solaris 2.5 以前のリリースで安定して動 作
                     しているものと仮定します。



     -n              非対話モードでインストールします。インストー
                     ル さ れたファイルの一覧は出力されません。デ
                     フォルトは対話モードです。



     -P passwd       必要に応じて、-k で指定したキーストアを復 号
                     化するのに使用するパスワード。このオプション
                     の引数の書式について詳細は、パスフレーズの引
                     数 を参照してください。



     -r response     直前の pkgask(1M) セッションからの出力が入っ
                     て い るファイルまたはディレクトリを指定しま
                     す。このファイルは、対話モードにおけ る パッ
                     ケー ジ からの質問に対する応答を提供します。
                     response はフルパス名でなければなりません。



     -R root_path    root_path として使用するディレクトリのフルパ
                     ス名を定義します。すべてのファイル (パッケー
                     ジシステム情報ファイルを含む)  は  root_path
                     か ら 始まるディレクトリツリーに再配置されま
                     す。root_path は、サーバーからクライアントに
                     インストールするときに指定します (たとえば、
                     /export/root/client1)。



     -s spool        パッケージをインストールするの で は な く、
                     spool ディレクトリに書き込みます。



     -v              pkgadd によって実行されたすべてのスクリプ ト
                     を 追 跡 し ま す。 こ れ ら の スクリプトは
                     pkginst/install ディレクトリにあります。この
                     オプションは、手続き型スクリプトや非手続き型
                     スクリプトをデバッグするときに使用します。



     -V fs_file      クライアントのファイルシステム構 成 と し て
                     fs_file   を  指 定 し ま す。 た と え ば、
                     $root_path/etc/vfstab ファイルが存在しない (
                     あるいは、信頼できない) 場合に使用します。



     -x proxy        パッケージをダウンロードする場合に使用 す る
                     HTTP[S] プロキシを指定します。プロキシの書式
                     は host:port で、ここで host は HTTP[S]   プ
                     ロ キシのホスト名、port はプロキシに関連する
                     ポート番号です。このスイッチは、プロキシを指
                     定 す るほかのすべての方法より優先します。デ
                     フォルトのプロキシを指定する代わりの方法につ
                     いては、環境を参照してください。



     オプションまたはオペランドを指定しないで実行する と、 pkgadd
     は  /var/spool/pkg (デフォルトのスプールディレクトリ) を使用
     します。

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

  [ソース]
     デフォルトでは、pkgadd はインストールまたはスプールする パッ
     ケー ジのインスタンスを探す場合、/var/spool/pkg ディレクトリ
     を探します。任意で、インストールまたはスプールされたパッケー
     ジインスタンスのソースを指定することもできます。その場合、下
     記を指定します。

     -d device

         device からパッケージをインストールまたはコピーしま す。
         device  は、ディレクトリの完全パス、またはテープ、フロッ
         ピーディスク、またはリムーバブルディスクの識別子 (たとえ
         ば、  /var/tmp  または /floppy/floppy_name) で指定できま
         す。デバイス別名 (たと え ば  /floppy/floppy0)  ま た は
         pkgtrans  で作成されたデータストリーム (pkgtrans(1) を参
         照) で指定することもできます。device は、pkgtrans で作成
         さ れたデータストリームを指す URL で指定することもできま
         す。



  [インスタンス]
     デフォルトでは、pkgadd は指定したソースを検索 し、 ユー ザー
     が、ソースで見つかったどのパッケージをインストールするか選択
     できるような対話式メニューがあります。代わりの方法としては、
     次のオペランドを指定して、インストールするパッケージインスタ
     ンスを指定できます。

     pkginst

         インストールするパッケージインスタンスまたはインスタンス
         のリストを指定します。ソースメディアで使用可能なすべての
         パッケージを指定するには、トークン all を使用できま す。
         パッ ケー ジ の すべてのインスタンスを指定するには、書式
         pkginst.* を使用できます。

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



     -Y category[,category...]

         パッケージの pkginfo(4) ファイルに保存さ れ て い る  
         CATEGORY パラメータの値に基づいてパッケージをインストー
         ルします。CATEGORY の値が指定したカテゴリの 1 つに一致す
         るソースメディア上のすべてのパッケージが、インストールま
         たはスプール用に選択されます。



【キーストアの場所】
     pkgadd または patchadd のようなパッケージツールまたはパッ チ
     ツールは、パッケージまたはパッチで見つかったすべての署名の検
     証を行う場合、信頼された証明書のセットを使用します。パッケー
     ジ またはパッチに署名が 1 つも含まれていない場合は署名の検証
     が省略されます。証明書はいろいろな場所にある可能性があ り ま
     す。 -k keystore が指定され、keystore がディレクトリである場
     合、証明書を使用する基本のディレクトリとして keystore が仮定
     さ れます。keystore がファイルの場合、このファイル自身が必要
     なキーおよび証明書をすべて持っていると仮定されます。-k が 指
     定されない場合、基本ディレクトリとして /var/sadm/security が
     使用されます。

     指定した基本ディレクトリの中で、検索される保存場所は、検索を
     行なっているアプリケーション、および検索しているストアの種類
     に基づいて異なります。次のようなディレクトリが、指定された順
     番に検索されます。

     1.  <store_dir>/<app_name>/<store_type>


     2.  <store_dir>/<store_type>


     ここで <store_dir> が -k で指定されたディレクトリで あ る 場
     合、 <app_name> は検索を行なっているアプリケーションの名前、
     また、<store_type> は keystore (秘密鍵の場合)、certstore (信
     頼されていない公開鍵証明書の場合)、または truststore (認証局
     の信頼された証明書の場合) の 1 つです。

     たとえば、pkgadd が -k /export/certs で実行された場合、信 頼
     できる場所を検索するのに次の場所が順番に検索されます。


     1.  /export/certs/pkgadd/truststore


     2.  /export/certs/truststore


     この検索順序により、管理者はほとんどのアプリケーションにそれ
     ぞ れ 1 つの場所を、また、特定のアプリケーションに特別な証明
     書の場所を特定できます。

【キーストアおよび証明書の形式】
     pkgtrans および patchadd のようなパッケージ用ユーティリ ティ
     およびパッチ用ユーティリティは、パッケージおよびパッチに署名
     し、また必要に応じて検証するためにキーおよび証明書のセットに
     アクセスする必要があります。

     キーストアの場所に指定された以下の検索パターンにしたがって見
     つ かっ たキーストアファイルは、それぞれ自己保有型の PKCS#12
     形式ファイルである必要があります。

     pkgtrans を使用してパッケージに署名する場合、certstore に  1
     つ以上の公開鍵証明書が含まれている場合、パッケージまたはパッ
     チに署名するのに -a オプションで識別できる、または選択できる
     ためには、各公開鍵には friendlyName 属性が含まれている必要が
     あります。さらに、-a で選択した公開鍵証明書、お よ び  cert-
     store で見つかった公開鍵証明書は、キーストア内に関連する秘密
     鍵を持っていなくてはなりません。

     証明書およびキーを PKCS#12 キーストアにエクスポートおよび イ
     ンポートするためには、いくつかのブラウザおよびユーティリティ
     を使用できます。たとえば、OpenSSL ツールキットといっ しょ に
     pkgadd を使用するためには、信頼される証明書は Mozilla からエ
     クスポート可能で、さらに PKCS#12 キーストアにインポート可 能
     です。

【パスフレーズの引数】
     pkgtrans および pkgadd は、パスワードの引数を受け入れま す。
     一般的には -p がパスワードを指定します。これにより、パスワー
     ドをいろいろなソースから入手できます。これら 2 つのコマン ド
     の オプションはどちらも 1 つの引数を使用し、その書式は下記で
     示します。パスワードの引数が 1 つも指定されていない が パ ス
     ワードが必要な場合、ユーザーはパスワードを入力するよう促され
     ます。一般的にこれはエコー機能がオフの状態で、現在の端末から
     読みとられます。

     pass:password

         実際のパスワードは password です。パスワードは ps のよう
         なユーティリティには見えるため、この書式はセキュリティが
         それほど重要でない場合にのみ使用するべきです。


     env:var

         パスワードを環境変数 var から取得します。プラット フォー
         ムによっては、ほかのプロセスの環境が見えるため、このオプ
         ションは注意して使用する必要があります。



     file:pathname

         pathname に含まれる 1 行目がパスワードです。pathname  は
         通常のファイルを参照する必要がありません。というのは、デ
         バイスまたは名前のついたパイプを参照できます。たとえば、
         標 準 入 力 か ら パ ス ワー ド を 読 み と るためには、
         file:/dev/stdin を使用します。



     console

         /dev/tty からパスワードを読みとります。



【使用例】
     例 1: Solaris CD-ROM からパッケージをインストールする

     次の例は、Solaris CD-ROM からパッケージをインストー ル し ま
     す。インストールするパッケージの名前を入力するように求められ
     ます。

     example% pkgadd -d /cdrom/cdrom0/s0/Solaris_2.6

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

     0        正常終了



     1        致命的なエラー



     2        警告



     3        割り込み



     4        管理



     5        管理。対話が必要。pkgadd -n を使用してはならない



     10       すべてのパッケージのインストール後に再起動する



     20       当該パッケージのインストール後に再起動する



【環境】
     HTTPPROXY

         HTTP プロキシホストを指定します。管理ファイル設定、お よ
         び http_proxy 環境変数より優先します。



     HTTPPROXYPORT

         HTTPPROXY で指定したホストに接続するときに使用するポート
         を指定します。HTTPPROXY が設定されていない場合は無視され
         ます。



     http_proxy

         プロキシホストおよびプロキシポートを指定するため の  URL
         書式です。管理ファイル設定より優先します。



【属性】
     次の属性については、attributes(5) のマニュアルページを参照し
     てください。
     ____________________________________________________________
    |         属性タイプ          |            属性値           |
    |_____________________________|_____________________________|
    | 使用条件                    | SUNWpkgcmdsu                |
    |_____________________________|_____________________________|
    | インタフェースの安定性      | 開発中                      |
    |_____________________________|_____________________________|

【関連項目】

     pkginfo(1), pkgmk(1), pkgparam(1), pkgproto(1), pkgtrans(1),
     installf(1M),     pkgadm(1M),     pkgask(1M),     pkgrm(1M),
     removef(1M), admin(4), pkginfo(4), attributes(5), zones(5)

     http://www.openssl.org

【注意事項】
     スプールディレクトリにパッケージを転送するときは、-r、-n、お
     よび -a オプションは使用できません。

     -r オプションには、ファイル名と同様に、ディレクトリ名も指 定
     できます。このディレクトリには、関連するパッケージと名前を共
     有する複数の応答ファイルを格納できます。これにより、1  回 の
     pkgadd  呼び出しで、複数の対話型パッケージを追加できます。複
     数の対話型パッケージを追加するには、パッケージごとに応答ファ
     イ ル が必要です。パッケージと同じ名前 (たとえば、pkinst1 や
     pkinst2) の応答ファイルを作成しておけば、-r オプション の 後
     に、これらの応答ファイルが入ったディレクトリを指定するだけで
     済みます。

     -n オプションを指定した場合、インストールを完了するのに対 話
     が必要になると、インストールが中断します。

     デフォルトの admin ファイルの制限が厳しすぎる場合、パッ ケー
     ジのインストール時に非対話モードで操作できるように、管理ファ
     イルを変更する必要があります。詳細については、admin(4) の マ
     ニュアルページを参照してください。

     パッケージストリームが -d で指定されている場合、ストリーム中
     にデジタル署名が見つかった場合、デフォルトの動作として、証明
     書と署名を検証しようとします。この動作は、admin ファイル設定
     で置き換えられます。詳細は、admin(4) を参照してください。