名前 | 形式 | 機能説明 | オプション | オペランド | キーストアの場所 | キーストアおよび証明書の形式 | パスフレーズの引数 | 使用例 | 終了ステータス | 環境 | 属性 | 関連項目 | 注意事項
pkgadd は、ソフトウェアパッケージの内容をインストール用の配布媒体またはディレクトリからシステムに転送します。-d オプションを指定しない場合、pkgadd はパッケージ用のデフォルトのスプールディレクトリ (var/spool/pkg) を探します。-s オプションを指定すると、pkgadd はパッケージをインストールするのではなく、パッケージをスプールディレクトリに書き込みます。
pkgadd ユーティリティは、インストールされるパッケージと同じサイズの一時容量を必要とします。pkgadd は、$TMPDIR 環境変数があるかどうかを検査して、使用する一時ディレクトリを決定します。$TMPDIR が定義されていない場合、pkgadd は stdio.h に指定された P_tmpdir を使用します。P_tmpdir には、デフォルトの /var/tmp/ という値が定義されています。
別製品や Sun 以外のパッケージの中には、最新バージョンの pkgadd との完全な互換性が確保されていないものがあります。そのようなパッケージでは、インストールの開始時だけでなく、インストール中もユーザーの関与が必要です。
Solaris 2.4 より前にリリースされた古いパッケージをインストールするには、NONABI_SCRIPTS=TRUE 環境変数を設定する必要があります。
この環境変数を設定した場合、インストール中にキーボードから pkgadd との対話が可能になります。
次のオプションを指定できます。
デフォルトのインストール管理ファイルの代わりに使用するインストール管理ファイル admin を定義します。トークン none は admin ファイルの使用を無効にするため、ユーザーの関与が必要になります。完全なパス名を指定しない場合、pkgadd はまず現在の作業ディレクトリで管理ファイルを探します。指定した管理ファイルが現在の作業ディレクトリにないと、pkgadd は /var/sadm/install/admin ディレクトリで管理ファイルを探します。
device からパッケージをインストールまたはコピーします。device はディレクトリへのフルパス名 (たとえば、/var/tmp)、あるいは、テープ、フロッピーディスク、または着脱式ディスクの識別子 (たとえば、/floppy/floppy_name) のどちらでもかまいません。また、デバイスの別名 (たとえば、/floppy/floppy0)、あるいは、pkgtrans が作成したデータストリームでもかまいません (pkgtrans(1) のマニュアルページを参照)。
パッケージ内に見つかったデジタル署名を検証するのに、認証局の信頼された証明書を入手するための場所を keystore で指定します。キーストアが指定されていない場合、デフォルトのキーストアの場所で信頼された有効な証明書を探します。 詳細は、 キーストアの場所 を参照してください。
クライアントのマウントポイントを決定するときに、 $root_path/etc/vfstab ファイルを使用しないようにします。このオプションは、マウントポイントがサーバー上で適切であり、そのサーバーが Solaris 2.5 以前のリリースで安定して動作しているものと仮定します。
非対話モードでインストールします。インストールされたファイルの一覧は出力されません。デフォルトは対話モードです。
必要に応じて、-k で指定したキーストアを復号化するのに使用するパスワード。このオプションの引数の書式について詳細は、 パスフレーズの引数 を参照してください。
直前の pkgask(1M) セッションからの出力が入っているファイルまたはディレクトリを指定します。このファイルは、対話モードにおけるパッケージからの質問に対する応答を提供します。response はフルパス名でなければなりません。
root_path として使用するディレクトリのフルパス名を定義します。すべてのファイル (パッケージシステム情報ファイルを含む) は root_path から始まるディレクトリツリーに再配置されます。root_path は、サーバーからクライアントにインストールするときに指定します (たとえば、/export/root/client1)。
パッケージをインストールするのではなく、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) を参照) で指定することもできます。device は、pkgtrans で作成されたデータストリームを指す URL で指定することもできます。
デフォルトでは、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 (認証局の信頼された証明書の場合) の 1 つです。
たとえば、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 を使用するためには、信頼される証明書は Netscape からエクスポート可能で、さらに PKCS#12 キーストアにインポート可能です。
pkgtrans および pkgadd は、パスワードの引数を受け入れます。一般的には -p が パスワードを指定します。これにより、パスワードをいろいろなソースから入手できます。これら 2 つのコマンドのオプションはどちらも 1 つの引数を使用し、その書式は下記で示します。 パスワードの引数が 1 つも指定されていないがパスワードが必要な場合、ユーザーはパスワードを入力するよう促されます。一般的にこれはエコー機能がオフの状態で、現在の端末から読みとられます。
実際のパスワードは password です。パスワードは ps のようなユーティリティには見えるため、この書式はセキュリティがそれほど重要でない場合にのみ使用するべきです。
パスワードを環境変数 var から取得します。プラットフォームによっては、ほかのプロセスの環境が見えるため、このオプションは注意して使用する必要があります。
pathname に含まれる 1 行目がパスワードです。pathname は通常のファイルを参照する必要がありません。というのは、デバイスまたは名前のついたパイプを参照できます。たとえば、標準入力からパスワードを読みとるためには、 file:/dev/stdin を使用します。
/dev/tty からパスワードを読みとります。
次の例は、Solaris CD-ROM からパッケージをインストールします。インストールするパッケージの名前を入力するように求められます。
example% pkgadd -d /cdrom/cdrom0/s0/Solaris_2.6 |
次の終了ステータスが返されます。
正常終了
致命的なエラー
警告
割り込み
管理
管理。対話が必要。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), pkgrm(1M), removef(1M), admin(4), pkginfo(4), attributes(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) を参照してください。
名前 | 形式 | 機能説明 | オプション | オペランド | キーストアの場所 | キーストアおよび証明書の形式 | パスフレーズの引数 | 使用例 | 終了ステータス | 環境 | 属性 | 関連項目 | 注意事項