Solaris のシステム管理 (基本編)
  Procure somente este livro
Exibir este livro em:
Fazer download desta apostila em PDF (3233 KB)

第 19 章 ソフトウェアの管理 (概要)

ソフトウェアの管理には、スタンドアロンシステム、サーバー、およびそのクライアントへのソフトウェアの追加や削除が含まれます。この章では、ソフトウェアのインストールや管理に使用できる各種ツールについて説明します。

この章では、新しいシステムでの Solaris オペレーティングシステム (Solaris OS) のインストールについては説明しません。また、新バージョンの Solaris OS のインストールやアップグレードについても説明しません。Solaris OS のインストールやアップグレードについては、『Solaris 10 インストールガイド (基本編)』を参照してください。

この章の内容は以下のとおりです。

Solaris OS でのパッケージとパッチの管理についての最新情報は、http://www.sun.com/bigadmin/patches/ を参照してください。

ソフトウェアを管理する手順については、第 20 章Solaris システム管理ツールによるソフトウェアの管理 (手順)および第 21 章パッケージコマンドによるソフトウェアの管理 (手順)を参照してください。

ゾーンがインストールされている Solaris システムでソフトウェアを管理する方法については、『Solaris のシステム管理 (Solaris コンテナ : 資源管理と Solaris ゾーン)』の第 25 章「ゾーンがインストールされている Solaris システムでのパッケージとパッチの追加および削除 (手順)」を参照してください。


注 –

Solaris 10 5/08: この情報は Solaris 10 5/08 リリースで追加されたものですが、すべての Solaris 10 OS に当てはまります。使用している Solaris システムを登録するには、https://inventory.sun.com/inventory/ にアクセスしてください。Sun Inventory を使用してハードウェア、ソフトウェア、およびオペレーティングシステムを登録する方法については、Sun Inventory Information Center を参照してください。

Sun Ops Center を使ってデータセンターのシステムのプロビジョニング、更新、および管理を行う場合は、Sun Ops Center のドキュメントを参照し、ソフトウェアを登録する方法についての情報を確認してください。


Solaris オペレーティングシステムでのソフトウェア管理における新機能

この節では、この Solaris リリースの新しいソフトウェア管理機能について説明します。

Solaris の新機能の全一覧や各 Solaris リリースの説明については、『Solaris 10 の概要』を参照してください。

ゾーンをサポートするためのパッケージおよびパッチツールの拡張

Solaris 10 10/09: このリリースから、複数の非大域ゾーンがインストールされているシステムをサポートするために、パッケージおよびパッチツールに対して次の拡張が行われています。

  • ゾーンの並列パッチ

    ゾーンの並列パッチ機能は、標準の Solaris 10 パッチ適用ツールを強化して、非大域ゾーンに並列してパッチを適用できるようにします。この機能拡張により、システムのパッチにかかる時間が短縮され、複数の非大域ゾーンがシステムにインストールされている場合のパッチ処理のパフォーマンスが向上します。ゾーンは分離された環境のため、複数のゾーンに対する並列パッチを安全に行うことができます。この機能は、疎ルートゾーンおよび完全ルートゾーンの両方に適用されます。

    これらの機能強化は、主に patchadd および patchrm コマンドに対する変更によるものです。新しい構成ファイル /etc/patch/pdo.conf は、並列してパッチするゾーンの数を定義する数値を指定するように変更することができます。


    注 –

    Solaris 10 10/09 リリース以上を実行していない場合は、この機能はパッチ 119254-66 以降のリビジョン (SPARC) および 119255-66 以降のリビジョン (x86) で実装されます。これまでどおり、大域ゾーンには、非大域ゾーンよりも前にパッチが適用されます。


    詳細は、patchadd(1M)patchrm(1M)のマニュアルページを参照してください。

  • SVr4 パッケージコマンドのターボチャージ

    この機能は、SVr4 パッケージコマンドを使用して、Solaris OS のインストール、Solaris Live Upgrade の使用、または非大域ゾーンのインストールにかかる時間を大幅に短縮します。この機能は無効にできません。

ゾーン環境での Solaris パッケージおよびパッチツールの使用をサポートするこれらの機能強化の詳細については、次のドキュメントを参照してください。

遅延起動パッチ

パッチツールが大規模なパッチを処理できるように変更されました。パッチ 119254-42 および 119255-42 以降、パッチインストールコマンド patchadd および patchrm が変更され、新しい機能を提供する特定のパッチの処理方法が変わりました。この変更は、これらのパッチをどの Solaris 10 リリースにインストールする場合にも影響を与えます。これらの「遅延起動」パッチによって、機能パッチで提供される大規模な変更の処理能力が向上します。

詳細は、http://www.sun.com/bigadmin/sundocs/articles/patch-wn.jsp を参照してください。

Solaris OS に組み込まれた Common Agent Container

Common Agent Container は、Java 管理アプリケーションのコンテナを実装する、スタンドアロンの Java プログラムです。このプログラムが提供する管理インフラストラクチャーは、Java Management Extensions (JMX) および Java Dynamic Management Kit (Java DMK) ベースの管理機能向けに設計されています。このソフトウェアは SUNWcacaort パッケージによってインストールされ、/usr/lib/cacao ディレクトリに置かれます。

通常、このコンテナは表示されません。

ただし、次の 2 つの場合は、コンテナデーモンとの対話が必要になることがあります。

  • Common Agent Container 用に予約されているネットワークポートを、別のアプリケーションが使用しようとしている場合。

  • 証明書ストアが危殆化した場合。この衝突が発生した場合は、Common Agent Container 証明書鍵の再生成が必要になることがあります。

これらの問題のトラブルシューティングの方法については、『Solaris のシステム管理 (上級編)』「Solaris OS での共通エージェントコンテナの問題解決」を参照してください。

patchadd -M コマンドが複数のパッチを処理する方法の改善

Solaris 10: Solaris 10 リリース以降では、patchadd -M コマンドの機能が改善され、複数のパッチおよびパッチ間の依存関係をより効果的かつ効率的に処理できるようになりました。このため、このコマンドを使用するときに、パッチ ID を番号順に指定する必要がなくなりました。

パッチ ID を指定しないで patchadd -M コマンドを使用した場合でも、ディレクトリ内のすべてのパッチが自動的にシステムにインストールされます。特定のパッチをインストールする場合は、patchadd - M コマンドを使用するときにそのパッチ ID を指定する必要があります。

詳細は、patchadd(1M) のマニュアルページを参照してください。

パッケージおよびパッチツールの拡張

Solaris 10: 初期の Solaris 10 3/05 リリースでは、Solaris パッケージツールとパッチツールが拡張されており、パフォーマンスの向上と機能の拡張が図られています。

そうした拡張の一部として、ファイルをパッケージに対応付けするための新しいオプションが、pkgchk コマンドに追加されました。ファイルとパッケージ間のマッピングを行うには、grep -pattern/var/sadm/install/contents の代わりに pkgchk P オプションを使用します。-P オプションでは部分パスが使えます。このオプションを -l オプションと組み合わせると、指定した部分パスを含むファイルの情報が一覧表示されます。詳細は、「インストール済みオブジェクトの整合性を検査する方法 (pkgchk -p、pkgchk -P)」と、pkgchk(1M) のマニュアルページを参照してください。

ソフトウェア管理作業についての参照先

ソフトウェアを管理する手順については、次の表を参照してください。

ソフトウェア管理作業 

詳細 

Solaris ソフトウェアのインストール。 

『Solaris 10 インストールガイド (基本編)』

インストール後の Solaris ソフトウェアパッケージの追加または削除。 

第 20 章Solaris システム管理ツールによるソフトウェアの管理 (手順)および第 21 章パッケージコマンドによるソフトウェアの管理 (手順)

インストール後の Solaris パッチの追加または削除。 

「Solaris オペレーティングシステムでのパッチ管理」

ソフトウェアパッケージ問題のトラブルシューティング。 

『Solaris のシステム管理 (上級編)』の第 21 章「ソフトウェアパッケージで発生する問題の解決 (手順)」

ソフトウェアパッケージの概要

ソフトウェア管理には、ソフトウェア製品のインストールと削除が含まれます。Sun および Sun 以外の ISV は、ソフトウェアを 1 つ以上の「パッケージ」の集まりとして提供します。

「パッケージング」という用語は一般に、ソフトウェア製品が使用されるシステム にその製品を配布してインストールする方法を指します。パッケージは、定義済みフォーマットによるファイルとディレクトリの集まりです。このフォーマットは、アプリケーションバイナリインタフェース (ABI) に準拠します。ABI は、System V インタフェース定義を補足するものです。Solaris OS には、このフォーマットを解釈し、パッケージをインストールまたは削除したり、パッケージインストールを検査したりする方法を提供する 1 組のユーティリティーがあります。

「パッチ」とは、Solaris OS 内またはその他のサポート対象ソフトウェア内の既知または潜在的な問題に対する修正をまとめたものです。また、パッチは、特定のソフトウェアリリースに対する新機能や機能拡張の提供も行います。パッチは、既存のファイルやディレクトリを置換または更新するファイルやディレクトリから構成されます。ほとんどの Solaris パッチは、一連の疎パッケージとして提供されます。

「疎パッケージ」には、そのパッケージが Solaris ディストリビューションの一部として初めて提供されたあとで変更されたオブジェクトのみが含まれます。疎パッケージには、ソフトウェア更新を提供するために完全なパッケージとして再配布した場合よりも小さなパッチが収められています。また、疎パッケージとして提供すると、顧客の環境に対する変更も最小限に抑えられます。パッチの詳細については、「Solaris オペレーティングシステムでのパッチ管理」を参照してください。

署名付きのパッケージ、パッチ、およびソフトウェア更新

パッケージには、デジタル署名を含めることができます。有効なデジタル署名付きのパッケージは、署名が適用された以降はパッケージの変更が行われていないことを保証します。署名付きパッケージを使用すると、パッケージをシステムに追加する前にデジタル署名を検証できるため、パッケージを安全にダウンロードまたは追加できます。

同じことが、署名付きパッチにも言えます。有効なデジタル署名付きのパッチは、署名が適用された以降はパッチの変更が行われていないことを保証します。署名付きパッチを使用すると、パッチをシステムに適用する前にデジタル署名を検証できるため、パッチを安全にダウンロードまたは適用できます。

署名付きパッチをシステムに「適用」する方法の詳細については、patchadd コマンドによる Solaris パッチの管理 (作業マップ)」を参照してください。

署名付きパッケージの作成方法については、『アプリケーションパッケージ開発者ガイド』を参照してください。

署名付きパッケージは、デジタル署名が含まれる点以外は、署名なしパッケージとまったく同一です。このパッケージのインストール、照会、または削除は、既存の Solaris パッケージツールを使って行うことができます。また、署名付きパッケージと署名なしパッケージは、バイナリレベルで互換性があります。

pkgaddpatchadd を使ってデジタル署名付きのパッケージまたはパッチをシステムに追加するには、信頼される証明書を使ってパッケージキーストアを設定しておく必要があります。これらの証明書は、パッケージやパッチ上のデジタル署名の有効性を確認する際に使用されます。

次では、署名付きのパッケージおよびパッチに関する一般的な用語を説明します。

キーストア

証明書と鍵を格納するためのリポジトリ。それらの情報が必要になると、このリポジトリが検索されます。

  • Java キーストア – Solaris リリースでデフォルトでインストールされる証明書のリポジトリ。Java キーストアは通常、/usr/j2se/jre/lib/security ディレクトリに格納されます。

  • パッケージキーストア – 署名付きパッケージおよびパッチをシステムに追加する際にインポートする証明書用のリポジトリ。

    パッケージキーストアは、デフォルトで /var/sadm/security ディレクトリに格納されます。

信頼される証明書

別のエンティティーに属する公開鍵を備えた証明書。「信頼される証明書」という呼び名は、証明書に含まれている公開鍵が、その証明書のサブジェクトまたは所有者によって示された本人のものであることを、キーストアの所有者が信頼することに由来しています。この信頼を表明するために、証明書の発行者はその証明書に署名します。

信頼される証明書は、署名を検証する際やセキュリティー保護されたサーバー (SSL サーバー) への接続を確立する際に使用されます。

ユーザー鍵

暗号鍵に関する機密情報を保持します。この情報は、不正なアクセスを防ぐために、セキュリティーが施された形式で格納されます。ユーザー鍵は、ユーザーの非公開鍵と対応する公開鍵証明書から構成されます。

    pkgadd コマンドまたは patchadd コマンドを使って署名付きのパッケージまたはパッチをシステムに追加する手順は、基本的に次の 3 つから構成されます。

  1. pkgadm コマンドを使ってシステムのパッケージキーストアに証明書を追加する

  2. (省略可能) pkgadm コマンドを使って証明書を一覧表示する

  3. pkgadd コマンドを使ってパッケージを追加するか、patchadd コマンドを使ってパッチを適用する

署名付きパッケージをシステムに追加する手順については、pkgadd コマンドによる署名付きパッケージの追加および削除 (作業マップ)」を参照してください。

patchadd コマンドを使って署名付きパッチをシステムに適用するステップ単位の手順については、patchadd コマンドによる Solaris パッチの管理 (作業マップ)」を参照してください。

Sun の証明書による署名付きパッケージおよびパッチの検証

Sun の証明書をインポートするときに特別なパスワードを使用することで、パッケージキーストアへのアクセスを保護できます。

pkgadm listcert コマンドを使えば、ローカルのパッケージキーストア内に格納されている証明書の情報を表示できます。次に例を示します。


# pkgadm listcert -P pass:store-pass
    Keystore Alias: /C=US/O=VeriSign, Inc./OU=Class 2 Public Primary Certification Authority - G2/O
        Common Name: /C=US/O=VeriSign, Inc./OU=Class 2 Public Primary Certification Authority - G2/O
   Certificate Type: Trusted Certificate
Issuer Common Name: /C=US/O=VeriSign, Inc./OU=Class 2 Public Primary Certification Authority - G2/O
Validity Dates: <May 18 00:00:00 1998 GMT> - <Aug 1 23:59:59 2028 GMT>
 MD5 Fingerprint: 2D:BB:E5:25:D3:D1:65:82:3A:B7:0E:FA:E6:EB:E2:E1
   SHA1 Fingerprint: B3:EA:C4:47:76:C9:C8:1C:EA:F2:9D:95:B6:CC:A0:08:1B:67:EC:9D 

次では、pkgadm listcert コマンドの出力について説明します。

キーストア別名

印刷、署名、削除のいずれかの目的で証明書を取得する場合、この名前を証明書の参照名として使用する必要があります。

共通名

証明書の共通の名前。信頼される証明書の場合、この名前はキーストア別名と同じになります。

証明書の種類

次の 2 つの種類があります。

  • Trusted Certificate (信頼される証明書) – ほかの証明書を検証する際の信頼基盤として使用可能な証明書。信頼される証明書には非公開鍵は関連付けられません。

  • Signing Certificate (署名証明書) – パッケージまたはパッチへの署名用として使用可能な証明書。署名証明書には非公開鍵が関連付けられます。

発行者の共通名

この証明書の署名、発行をしたエンティティーの名前。信頼される証明書発行局 (CA、Certificate Authority) が発行した証明書の場合、発行者の共通名は、共通名と同じになります。

有効な日付

証明書の有効な日付。

MD5 指紋

証明書の MD5 ダイジェスト。このダイジェストを使えば、その証明書が証明元からの転送中に改変されなかったかどうかを検証できます。

SHA1 指紋

MD5 指紋に似ていますが、異なるアルゴリズムを使って計算されます。

証明書を認証するには、各証明書の MD5 ハッシュおよび SHA1 ハッシュ (「指紋」とも呼ばれる) を、発行者によって公開されている既知の正しい指紋と比較します。

Sun の信頼される証明書のインポート

署名付きパッケージおよびパッチを追加するための Sun の信頼される証明書を取得するには、次の方法を使います。

  • Java キーストア – Sun のルート CA 証明書をインポートします。この証明書は、この Solaris リリースをインストールする際に Java キーストア内にデフォルトで格納されます。

  • Sun の公開鍵インフラストラクチャー (PKI) サイト – システム上に Java キーストアが存在していない場合は、次のサイトから証明書をインポートできます。

パッケージキーストアのセットアップ

証明書の格納された Java キーストアがシステム上にすでに存在している場合、Sun Microsystems のルート CA 証明書を Java キーストアから keytool コマンドを使ってエクスポートできます。続いて、その証明書を、pkgadm コマンドを使ってパッケージキーストア内にインポートします。

ルート CA 証明書のパッケージキーストアへのインポートが完了すると、pkgadd コマンドや patchadd コマンドを使って署名付きパッケージおよびパッチをシステムに追加できるようになります。


注 –

なお、Sun Microsystems のルート証明書が必要となるのは、Sun が署名したパッチやパッケージを追加する場合のみです。


証明書をパッケージキーストアにインポートする手順については、「信頼される証明書を Java キーストアからインポートする方法 (pkgadm addcert)」を参照してください。

pkgadd コマンドを使って署名付きパッケージを追加する完全な手順については、「署名付きパッケージを追加する方法 (pkgadd)」を参照してください。

ソフトウェアパッケージを管理するためのツール

次の表では、Solaris リリースがインストールされたシステム上でソフトウェアパッケージを追加および削除するためのツールについて説明します。

表 19–1 ソフトウェアパッケージを管理するためのツールまたはコマンド

ツールまたはコマンド  

説明 

マニュアルページ 

installer

Solaris インストール GUI などのインストーラを起動して、Solaris メディアからソフトウェアを追加します。インストーラがローカル、リモートのいずれかで利用可能になっている必要があります。 

installer(1M)

prodreg (GUI)

インストーラを起動して、ソフトウェア製品情報を追加、削除、または表示します。Solaris インストール GUI プログラムや Solaris pkgadd コマンドを使って初めからインストールされているソフトウェア製品に関する情報を削除または表示する場合は、Solaris Product Registry を使用します。

prodreg(1M)

Solaris Product Registry prodreg ビューア (CLI)

prodreg コマンドでは、Solaris インストール GUI や Solaris pkgadd コマンドを使ってインストールされているソフトウェア製品に関する情報を削除または表示できます。

prodreg(1M)

pkgadd

 

署名付きまたは署名なしのソフトウェアパッケージをインストールします。 

pkgadd(1M)

pkgadm

署名付きパッケージおよびパッチの管理に使用する鍵と証明書を保守します。 

pkgadm(1M)

pkgchk

ソフトウェアパッケージのインストールを検査します。 

pkgchk(1M)

pkginfo

ソフトウェアパッケージ情報を表示します。 

pkginfo(1)

pkgparam

 

ソフトウェアパッケージのパラメータ値を表示します。 

pkgparam(1)

pkgrm

ソフトウェアパッケージを削除します。 

pkgrm(1M)

pkgtrans

インストール可能なパッケージをある形式から別の形式に変換します。-g オプションを指定して pkgtrans コマンドを実行すると、署名が生成され、該当するデータストリーム内に格納されます。

pkgtrans(1)

これらのコマンドの詳細は、第 20 章Solaris システム管理ツールによるソフトウェアの管理 (手順)および第 21 章パッケージコマンドによるソフトウェアの管理 (手順)を参照してください。

ソフトウェアパッケージの追加または削除 (pkgadd)

表 19–1 に記載されているソフトウェア管理ツールはすべて、ソフトウェアを追加したり、インストール済みソフトウェアを削除したり、それらのソフトウェアに関する情報を照会したりするために使用されます。Solaris Product Registry の prodreg ビューアと Solaris インストール GUI はどちらも、Solaris Product Registry に格納されているインストールデータにアクセスします。pkgadd コマンドや pkgrm コマンドといったパッケージツールも、インストールデータにアクセスしたりインストールデータを変更したりします。

パッケージを追加する際、pkgadd コマンドは、ファイルを解凍して、インストール用メディアからローカルシステムのディスクにコピーします。パッケージを削除する際、pkgrm コマンドは、そのパッケージに関連するファイルがほかのパッケージと共有されている場合を除いて、それらをすべて削除します。

パッケージファイルはパッケージ形式で配布され、配布されたままの状態では使用できません。pkgadd コマンドは、ソフトウェアパッケージの制御ファイルを解釈してから、製品ファイルを解凍して、システムのローカルディスクにインストールします。

pkgaddpkgrm の各コマンドは、標準の場所にそのログ出力を記録しませんが、インストールまたは削除されるパッケージを常時追跡しています。pkgaddpkgrm の各コマンドは、インストールまたは削除されたパッケージに関する情報をソフトウェア製品用データベースに格納します。

このデータベースを更新することによって、pkgadd および pkgrm の各コマンドは、システムにインストールされたすべてのソフトウェア製品の記録を追跡します。

ソフトウェアパッケージの追加にあたっての重要な注意点 (pkgadd)

システム上でパッケージをインストールまたは削除する場合には、次の点に注意する必要があります。

  • パッケージの命名規則 – Sun パッケージは、SUNWaccrSUNWadmapSUNWcsu などのように、必ず接頭辞 SUNW で始まります。Sun 以外のパッケージは、通常、その会社を表す接頭辞で始まります。

  • インストール済みのソフトウェア – Solaris インストール GUI、Solaris Product Registry の prodreg ビューア (GUI または CLI)、pkginfo コマンドのいずれかを使えば、システム上にすでにインストールされているソフトウェアを特定できます。

  • サーバーとクライアントによるソフトウェアの共有の状態 – クライアントのソフトウェアは、一部がサーバーに、一部がクライアントに置かれる場合があります。このような場合、クライアントにソフトウェアを追加するには、サーバーとクライアントの両方にパッケージを追加する必要があります。

パッケージの削除に関するガイドライン (pkgrm)

パッケージを削除する場合、rm コマンドを使用するかもしれませんが、代わりに表 19–1 に記載されているツールのいずれかを使用するようにしてください。たとえば、rm コマンドを使用すると、バイナリ実行可能ファイルを削除することができます。しかしながら、そのような操作は、pkgrm コマンドを使ってそのバイナリ実行可能ファイルを含むソフトウェアパッケージを削除する操作と等価ではありません。rm コマンドを使用してパッケージのファイルを削除すると、ソフトウェア製品用データベースが破壊されます。1 つのファイルだけを削除する場合は、removef コマンドを使用することができます。このコマンドを使用した場合、該当ファイルがパッケージから削除されるように、ソフトウェア製品データベースが正しく更新されます。詳細は、removef(1M) のマニュアルページを参照してください。

複数のバージョンのパッケージをインストールしておきたい場合は、pkgadd コマンドを使ってインストール済みパッケージとは別のディレクトリに新しいバージョンをインストールしてください。たとえば、複数のバージョンの文書処理アプリケーションをインストールしておきたい場合などが考えられます。パッケージがインストールされているディレクトリは、ベースディレクトリと呼ばれます。ベースディレクトリは、管理ファイルと呼ばれる特殊ファイルに basedir キーワードを設定することによって操作できます。管理ファイルの使用方法やベースディレクトリの設定方法の詳細は、「パッケージ追加時のユーザーの対話操作を省略する (pkgadd)」と、admin(4) のマニュアルページを参照してください。


注 –

Solaris ソフトウェアをインストールするときにアップグレードオプションを使用すると、Solaris インストール用ソフトウェアは、ソフトウェア製品用データベースを調べて、すでにシステムにインストールされている製品があるかどうかを確認します。


ゾーンに対応していない Solaris リリースでソフトウェアパッケージおよびパッチを追加および削除する際の制限

ゾーンに対応していない Solaris リリースが稼働するシステム上では、-R オプションを指定できるコマンドを使って非大域ゾーンがインストールされた大域ゾーンの代替ルートパスを指定しても、そのコマンドは正しく動作しません。

それらのコマンドは次のとおりです。

  • pkgadd

  • pkgrm

  • patchadd

  • patchrm

pkgadd(1M)pkgrm(1M)patchadd(1M)、および patchrm(1M) のマニュアルページを参照してください。

追加情報については、patchadd -R を使って代替 root パスを作成する際の制限」を参照してください。

パッケージ追加時のユーザーの対話操作を省略する (pkgadd)

この節では、pkgadd コマンドを使用してパッケージを追加する際にユーザーの対話操作を省略する方法について説明します。

管理ファイルの使用

pkgadd -a コマンドを使用した場合、特殊な管理ファイルからインストールの処理方法に関する情報が取得されます。通常、pkgadd コマンドはいくつかのチェックを行い、指定されたパッケージを実際に追加する前に、プロンプトを表示してユーザーに確認します。ただし、管理ファイルを作成すれば、このようなチェックを省略して、ユーザーの確認なしでパッケージをインストールするように pkgadd コマンドに指示できます。

デフォルトでは、pkgadd コマンドは現在の作業用ディレクトリに管理ファイルがないか調べます。現在の作業用ディレクトリの中に管理ファイルを見つけることができなかった場合、pkgadd コマンドは /var/sadm/install/admin ディレクトリに指定の管理ファイルがないか調べます。また、pkgadd コマンドには管理ファイルへの絶対パスも使用できます。


注 –

管理ファイルは注意して使用してください。管理ファイルを使用して、pkgadd が通常実行するチェックとプロンプトを省略する場合は、事前にパッケージのファイルがインストールされている場所や、パッケージのインストール用スクリプトがどのように実行されるのかを知っておく必要があります。


次の例は、pkgadd コマンドがパッケージのインストール前にユーザーに確認のプロンプトを表示しないようにするための管理ファイルを示しています。


mail=
instance=overwrite
partial=nocheck
runlevel=nocheck
idepend=nocheck
rdepend=nocheck
space=nocheck
setuid=nocheck
conflict=nocheck
action=nocheck
networktimeout=60
networkretries=3
authentication=quit
keystore=/var/sadm/security
proxy=
basedir=default

管理ファイルは、パッケージ追加時にユーザーの対話操作を省略する以外にも、さまざまな用途で使用できます。たとえば、管理ファイルを使用すれば、エラーが発生した場合に (ユーザーの対話操作なしに) パッケージのインストールを終了したり、pkgrm コマンドでパッケージを削除する場合に対話操作を省略できます。

また、特別なインストールディレクトリをパッケージに割り当てることもできます。この方法は、1 つのシステム上で複数のバージョンのパッケージを管理する場合に役に立ちます。これを行うには、basedir キーワードを使って管理ファイル内に代替ベースディレクトリを設定します。このキーワードは、パッケージがインストールされる場所を示します。詳細は、admin(4) のマニュアルページを参照してください。

応答ファイルの使用 (pkgadd)

応答ファイルには、「対話型パッケージ」で尋ねられる特定の質問に対するユーザーの応答が格納されます。対話型パッケージには、パッケージをインストールする前にいくつかの質問 (たとえば、パッケージのオプションをインストールするかどうかなど) をユーザーに尋ねる request スクリプトが格納されています。

インストールするパッケージが対話型パッケージであることがインストール前にわかっていて、今後インストールする際にユーザーの対話操作を省略できるように応答を格納しておきたい場合は、pkgask コマンドを使ってユーザーの応答を保存します。このコマンドの詳細は、pkgask(1M) のマニュアルページを参照してください。

request スクリプトが尋ねる質問への応答を格納した後は、pkgadd -r コマンドを使用して、ユーザーの対話操作なしにパッケージをインストールすることができます。