システム管理コマンド 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) を参照してください。
|
|