名前 | 形式 | 機能説明 | オプション | オペランド | キーストアの場所 | キーストアおよび証明書の形式 | パスフレーズの引数 | 使用例 | 終了ステータス | 環境 | ファイル | 属性 | 関連項目 | 注意事項
pkgadd [-nv] [-a admin] [-G] [-x proxy] [ [-M] -R root_path] [-r response] [-k keystore] [-P passwd] [-V fs_file] [-d device | -d datastreampkginst | all] [pkginst | -Y category [, category]...]
pkgadd -s [-d device | -d datastreampkginst | all] [pkginst | -Y category [, category]...]
pkgadd は、ソフトウェアパッケージの内容をインストール用の配布媒体またはディレクトリからシステムに転送します。-d device ソース指定子が指定されなかった場合、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 での実行が可能になります。
noaccess [デフォルト] または install ユーザーではなく root ユーザーとして実行する必要のあるパッケージ要求スクリプトの場合、rscript_alt パラメータを admin(4) ファイルで使用し、適切な選択をします。admin(4) を参照してください。
Solaris 8 および Solaris 9 では、要求スクリプトを実行するデフォルトのユーザーは、root または nobody のどちらかであり、オペレーティングシステムのパッチレベルによって異なります。現在のリリースでは、デフォルトのユーザーは noaccess です。
大域ゾーン (zones(5) を参照) で pkgadd を実行する場合、要求スクリプト (pkgask(1M)) を含むパッケージは大域ゾーンにのみ追加されます。このパッケージは既存の非大域ゾーン、または将来作成される非大域ゾーンには転送されません。この動作は次に説明する -G オプションの結果に類似しています。
「形式」に示された -d、-Y、および pkginst 引数については、「オペランド」と次の「オプション」で説明します。
サポートされているオプションについて、次に説明します。-d device ソース指定子については、「オペランド」で説明します。
デフォルトのインストール管理ファイルの代わりに使用するインストール管理ファイル admin を定義します。トークン none は admin ファイルの使用を無効にするため、ユーザーの関与が必要になります。完全なパス名を指定しない場合、pkgadd はまず現在の作業ディレクトリで管理ファイルを探します。指定した管理ファイルが現在の作業ディレクトリにないと、pkgadd は /var/sadm/install/admin ディレクトリで管理ファイルを探します。
現在のゾーンのみにパッケージを追加します。大域ゾーンで使用される場合、そのパッケージは大域ゾーンのみに追加され、既存の非大域ゾーン、または将来作成される非大域ゾーンには転送されません。非大域ゾーンで使用される場合、そのパッケージは非大域ゾーンのみに追加されます。
パッケージの pkginfo ファイル内で SUNW_PKG_ALLZONES が true に設定されている場合、このオプションを指定すると、パッケージのインストールは失敗します。pkginfo(4) を参照してください。
パッケージ内に見つかったデジタル署名を検証するのに、認証局の信頼された証明書を入手するための場所を keystore で指定します。キーストアが指定されていない場合、デフォルトのキーストアの場所で信頼された有効な証明書を探します。詳細は、「キーストアの場所」を参照してください。
クライアントのマウントポイントを決定するときに、$root_path/etc/vfstab ファイルを使用しないようにします。このオプションは、マウントポイントがサーバー上で適切であり、そのサーバーが Solaris 2.5 以前のリリースで安定して動作しているものと仮定します。
非対話型モードでインストールします。インストールされたファイルの一覧は出力されません。デフォルトは対話モードです。
必要に応じて、-k で指定したキーストアを復号化するのに使用するパスワード。このオプションの引数の書式について詳細は、パスフレーズの引数 を参照してください。
直前の pkgask(1M) セッションからの出力が入っているファイルまたはディレクトリを指定します。このファイルは、対話モードにおけるパッケージからの質問に対する応答を提供します。response はフルパス名でなければなりません。
root_path として使用するディレクトリのフルパス名を定義します。すべてのファイル (パッケージシステム情報ファイルを含む) は root_path から始まるディレクトリツリーに再配置されます。root_path は、サーバーからクライアントにインストールするときに指定します (たとえば、/export/root/client1)。
いかなる非大域ゾーンのルートファイルシステムも -R で参照しないでください。この操作によって、大域ゾーンのファイルシステムを損傷したり、大域ゾーンのセキュリティーを損ねたり、非大域ゾーンのファイルシステムを損傷したりする可能性があります。zones(5) のマニュアルページを参照してください。
パッケージをインストールするのではなく、spool ディレクトリに書き込みます。
pkgadd によって実行されたすべてのスクリプトを追跡します。これらのスクリプトは pkginst/install ディレクトリにあります。このオプションは、手続き型スクリプトや非手続き型スクリプトをデバッグするときに使用します。
クライアントのファイルシステム構成として fs_file を指定します。たとえば、$root_path/etc/vfstab ファイルが存在しない (あるいは、信頼できない) 場合に使用します。
パッケージをダウンロードする場合に使用する HTTP[S] プロキシを指定します。プロキシの書式は host:port です。ここで、host は HTTP[S] プロキシのホスト名、port はそのプロキシに関連付けられたポート番号です。このスイッチは、プロキシを指定するほかのすべての方法より優先します。デフォルトのプロキシを指定する代わりの方法については、環境 を参照してください。
オプションまたはオペランドを指定しないで実行すると、pkgadd は /var/spool/pkg (デフォルトのスプールディレクトリ) を使用します。
次のオペランドがサポートされています。
デフォルトでは、pkgadd はインストールまたはスプールするパッケージのインスタンスを探す場合、/var/spool/pkg ディレクトリを探します。任意で、インストールまたはスプールされたパッケージインスタンスのソースを指定することもできます。その場合、下記を指定します。
device からパッケージをインストールまたはコピーします。device には次のいずれかを指定できます。
ディレクトリの完全パス、またはテープ、フロッピーディスク、またはリムーバブルディスクの識別子 (/var/tmp、/floppy/floppy_name など)。
デバイス別名 (/floppy/floppy0 など)。
pkgtrans によって作成されたデータストリーム (pkgtrans(1) を参照)。
pkgtrans によって作成されたデータストリームを指す URL。サポートされている URI (Universal Resource Identifier) は、http: と https: です。
上に示した -d 指定子の 2 番目の形式は、データストリーム指定時に使用する構文です。その場合、パッケージ名のコンマ区切りリスト、キーワード all のいずれかを指定する必要があります。
デフォルトでは、pkgadd は指定したソースを検索し、ユーザーが、ソースで見つかったどのパッケージをインストールするか選択できるような対話式メニューがあります。代わりの方法としては、次のオペランドを指定して、インストールするパッケージインスタンスを指定できます。
インストールするパッケージインスタンスまたはインスタンスのリストを指定します。ソースメディアで使用可能なすべてのパッケージを指定するには、トークン all を使用できます。パッケージのすべてのインスタンスを指定するには、書式 pkginst.* を使用できます。
アスタリスク文字 (*) はあるシェルにとっては特殊文字なので、その場合はエスケープする必要があります。C シェルの場合、アスタリスクは単一引用符 (') で囲むか、前にバックスラッシュ (\) をつける必要があります。
パッケージの pkginfo(4) ファイルに保存されている CATEGORY パラメータの値に基づいてパッケージをインストールします。CATEGORY の値が指定したカテゴリの 1 つに一致するソースメディア上のすべてのパッケージが、インストールまたはスプール用に選択されます。
pkgadd または patchadd のようなパッケージツールまたはパッチツールは、パッケージまたはパッチで見つかったすべての署名の検証を行う場合、信頼された証明書のセットを使用します。パッケージまたはパッチに署名が 1 つも含まれていない場合は署名の検証が省略されます。証明書はいろいろな場所にある可能性があります。-k keystore が指定され、keystore がディレクトリである場合、証明書を使用する基本のディレクトリとして keystore が仮定されます。keystore がファイルの場合、このファイル自身が必要なキーおよび証明書をすべて持っていると仮定されます。-k が指定されない場合、基本ディレクトリとして /var/sadm/security が使用されます。
指定した基本ディレクトリの中で、検索される保存場所は、検索を行なっているアプリケーション、および検索しているストアの種類に基づいて異なります。次のようなディレクトリが、指定された順番に検索されます。
<store_dir>/<app_name>/<store_type>
<store_dir>/<store_type>
ここで、<store_dir> が -k で指定されたディレクトリである場合、<app_name> は検索を行なっているアプリケーションの名前で、<store_type> は keystore (非公開鍵の場合)、certstore (信頼されていない公開鍵証明書の場合)、truststore (信頼された認証局の証明書の場合) のいずれかです。
たとえば、pkgadd が -k /export/certs で実行された場合、信頼できる場所を検索するのに次の場所が順番に検索されます。
/export/certs/pkgadd/truststore
/export/certs/truststore
この検索順序により、管理者はほとんどのアプリケーションにそれぞれ 1 つの場所を、また、特定のアプリケーションに特別な証明書の場所を特定できます。
pkgtrans および patchadd のようなパッケージ用ユーティリティーおよびパッチ用ユーティリティーは、パッケージおよびパッチに署名し、また必要に応じて検証するためにキーおよび証明書のセットにアクセスする必要があります。
キーストアの場所 に指定された次の検索パターンにしたがって見つかったキーストアファイルは、それぞれ自己保有型の PKCS#12 形式ファイルである必要があります。
pkgtrans を使用してパッケージに署名する場合、 certstore に 1 つ以上の公開鍵証明書が含まれている場合、 パッケージまたはパッチに署名するのに -a オプションで識別できる、または選択できるためには、各公開鍵には friendlyName 属性が含まれている必要があります。さらに、-a で選択した公開鍵証明書、および certstore で見つかった公開鍵証明書は、キーストア内に関連する秘密鍵を持っていなくてはなりません。
証明書およびキーを PKCS#12 キーストアにエクスポートおよびインポートするためには、いくつかのブラウザおよびユーティリティーを使用できます。たとえば、OpenSSL ツールキットと一緒に pkgadd を使用するためには、信頼される証明書は Mozilla からエクスポート可能で、さらに PKCS#12 キーストアにインポート可能です。
pkgtrans および pkgadd は、パスワードの引数を受け入れます。一般的には -p が パスワードを指定します。これにより、パスワードをいろいろなソースから入手できます。これら 2 つのコマンドのオプションはどちらも 1 つの引数を使用し、その書式は下記で示します。パスワードの引数が 1 つも指定されていないがパスワードが必要な場合、ユーザーはパスワードを入力するよう促されます。一般的にこれはエコー機能がオフの状態で、現在の端末から読みとられます。
実際のパスワードは password です。パスワードは ps のようなユーティリティーには見えるため、この書式はセキュリティーがそれほど重要でない場合にのみ使用するべきです。
パスワードを環境変数 var から取得します。プラットフォームによっては、ほかのプロセスの環境が見えるため、このオプションは注意して使用する必要があります。
pathname に含まれる 1 行目がパスワードです。pathname は通常のファイルを参照する必要がありません。というのは、デバイスまたは名前のついたパイプを参照できます。たとえば、標準入力からパスワードを読みとるためには、 file:/dev/stdin を使用します。
/dev/tty からパスワードを読みとります。
次の例は、Solaris DVD からパッケージをインストールします。インストールするパッケージの名前を入力するように求められます。
example# pkgadd -d /cdrom/cdrom0/s0/Solaris_10/Product |
次に示すコマンド例は、-d ソース指定子で指定されたデータストリーム内のすべてのパッケージをインストールします。このコマンドを実行する前に、pkgtrans(1) コマンドを使ってこのデータストリームを作成しておく必要があります。
example# pkgadd -d /var/tmp/datastream all |
キーワード all は、指定されたデータストリーム内で見つかったすべてのパッケージがインストールされることを表します。
正常終了。
致命的なエラー。
警告。
割り込み。
管理。
管理。対話が必要。pkgadd -n を使用してはならない。
すべてのパッケージのインストール後に再起動する。
当該パッケージのインストール後に再起動する。
HTTP プロキシホストを指定します。管理ファイル設定、および http_proxy 環境変数より優先します。
HTTPPROXY で指定したホストに接続するときに使用するポートを指定します。HTTPPROXY が設定されていない場合は無視されます。
プロキシホストおよびプロキシポートを指定するための URL 書式です。管理ファイル設定より優先します。
次の属性については、attributes(5) を参照してください。
属性タイプ |
属性値 |
---|---|
使用条件 |
SUNWpkgcmdsu |
インタフェースの安定性 |
開発中 |
pkginfo(1), pkgmk(1), pkgparam(1), pkgproto(1), pkgtrans(1), installf(1M), pkgadm(1M), pkgask(1M), pkgchk(1M), pkgrm(1M), removef(1M), admin(4), pkginfo(4), attributes(5), zones(5)
『Application Packaging Developer’s Guide』
http://www.openssl.org
スプールディレクトリにパッケージを転送するときは、-r、-n、および -a オプションは使用できません。
-r オプションには、ファイル名と同様に、ディレクトリ名も指定できます。このディレクトリには、関連するパッケージと名前を共有する複数の応答ファイルを格納できます。これにより、1 回の pkgadd 呼び出しで、複数の対話型パッケージを追加できます。複数の対話型パッケージを追加するには、パッケージごとに応答ファイルが必要です。パッケージと同じ名前 (たとえば、pkinst1 や pkinst2) の応答ファイルを作成しておけば、-r オプションのあとに、これらの応答ファイルが入ったディレクトリを指定するだけで済みます。
-n オプションを指定した場合、インストールを完了するのに対話が必要になると、インストールが中断します。
デフォルトの admin ファイルの制限が厳しすぎる場合、パッケージのインストール時に非対話型モードで操作できるように、管理ファイルを変更する必要があります。詳細については、admin(4) のマニュアルページを参照してください。
パッケージストリームが -d で指定されている場合、ストリーム中にデジタル署名が見つかった場合、デフォルトの動作として、証明書と署名を検証しようとします。この動作は、admin ファイル設定で置き換えられます。詳細は、admin(4) を参照してください。
名前 | 形式 | 機能説明 | オプション | オペランド | キーストアの場所 | キーストアおよび証明書の形式 | パスフレーズの引数 | 使用例 | 終了ステータス | 環境 | ファイル | 属性 | 関連項目 | 注意事項