Contidos dentroLocalizar Mais DocumentaçãoDestaques de Recursos de Suporte | 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 パッケージおよびパッチツールの使用をサポートするこれらの機能強化の詳細については、次のドキュメントを参照してください。 遅延起動パッチパッチツールが大規模なパッチを処理できるように変更されました。パッチ 119254-42 および 119255-42 以降、パッチインストールコマンド patchadd および patchrm が変更され、新しい機能を提供する特定のパッチの処理方法が変わりました。この変更は、これらのパッチをどの Solaris 10 リリースにインストールする場合にも影響を与えます。これらの「遅延起動」パッチによって、機能パッチで提供される大規模な変更の処理能力が向上します。 詳細は、http://www.sun.com/bigadmin/sundocs/articles/patch-wn.jsp を参照してください。 Solaris OS に組み込まれた Common Agent ContainerCommon Agent Container は、Java 管理アプリケーションのコンテナを実装する、スタンドアロンの Java プログラムです。このプログラムが提供する管理インフラストラクチャーは、Java Management Extensions (JMX) および Java Dynamic Management Kit (Java DMK) ベースの管理機能向けに設計されています。このソフトウェアは SUNWcacaort パッケージによってインストールされ、/usr/lib/cacao ディレクトリに置かれます。 通常、このコンテナは表示されません。 ただし、次の 2 つの場合は、コンテナデーモンとの対話が必要になることがあります。
これらの問題のトラブルシューティングの方法については、『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) のマニュアルページを参照してください。 ソフトウェア管理作業についての参照先ソフトウェアを管理する手順については、次の表を参照してください。
ソフトウェアパッケージの概要ソフトウェア管理には、ソフトウェア製品のインストールと削除が含まれます。Sun および Sun 以外の ISV は、ソフトウェアを 1 つ以上の「パッケージ」の集まりとして提供します。 「パッケージング」という用語は一般に、ソフトウェア製品が使用されるシステム にその製品を配布してインストールする方法を指します。パッケージは、定義済みフォーマットによるファイルとディレクトリの集まりです。このフォーマットは、アプリケーションバイナリインタフェース (ABI) に準拠します。ABI は、System V インタフェース定義を補足するものです。Solaris OS には、このフォーマットを解釈し、パッケージをインストールまたは削除したり、パッケージインストールを検査したりする方法を提供する 1 組のユーティリティーがあります。 「パッチ」とは、Solaris OS 内またはその他のサポート対象ソフトウェア内の既知または潜在的な問題に対する修正をまとめたものです。また、パッチは、特定のソフトウェアリリースに対する新機能や機能拡張の提供も行います。パッチは、既存のファイルやディレクトリを置換または更新するファイルやディレクトリから構成されます。ほとんどの Solaris パッチは、一連の疎パッケージとして提供されます。 「疎パッケージ」には、そのパッケージが Solaris ディストリビューションの一部として初めて提供されたあとで変更されたオブジェクトのみが含まれます。疎パッケージには、ソフトウェア更新を提供するために完全なパッケージとして再配布した場合よりも小さなパッチが収められています。また、疎パッケージとして提供すると、顧客の環境に対する変更も最小限に抑えられます。パッチの詳細については、「Solaris オペレーティングシステムでのパッチ管理」を参照してください。 署名付きのパッケージ、パッチ、およびソフトウェア更新パッケージには、デジタル署名を含めることができます。有効なデジタル署名付きのパッケージは、署名が適用された以降はパッケージの変更が行われていないことを保証します。署名付きパッケージを使用すると、パッケージをシステムに追加する前にデジタル署名を検証できるため、パッケージを安全にダウンロードまたは追加できます。 同じことが、署名付きパッチにも言えます。有効なデジタル署名付きのパッチは、署名が適用された以降はパッチの変更が行われていないことを保証します。署名付きパッチを使用すると、パッチをシステムに適用する前にデジタル署名を検証できるため、パッチを安全にダウンロードまたは適用できます。 署名付きパッチをシステムに「適用」する方法の詳細については、「patchadd コマンドによる Solaris パッチの管理 (作業マップ)」を参照してください。 署名付きパッケージの作成方法については、『アプリケーションパッケージ開発者ガイド』を参照してください。 署名付きパッケージは、デジタル署名が含まれる点以外は、署名なしパッケージとまったく同一です。このパッケージのインストール、照会、または削除は、既存の Solaris パッケージツールを使って行うことができます。また、署名付きパッケージと署名なしパッケージは、バイナリレベルで互換性があります。 pkgadd と patchadd を使ってデジタル署名付きのパッケージまたはパッチをシステムに追加するには、信頼される証明書を使ってパッケージキーストアを設定しておく必要があります。これらの証明書は、パッケージやパッチ上のデジタル署名の有効性を確認する際に使用されます。 次では、署名付きのパッケージおよびパッチに関する一般的な用語を説明します。
pkgadd コマンドまたは patchadd コマンドを使って署名付きのパッケージまたはパッチをシステムに追加する手順は、基本的に次の 3 つから構成されます。 署名付きパッケージをシステムに追加する手順については、「pkgadd コマンドによる署名付きパッケージの追加および削除 (作業マップ)」を参照してください。 patchadd コマンドを使って署名付きパッチをシステムに適用するステップ単位の手順については、「patchadd コマンドによる Solaris パッチの管理 (作業マップ)」を参照してください。 Sun の証明書による署名付きパッケージおよびパッチの検証Sun の証明書をインポートするときに特別なパスワードを使用することで、パッケージキーストアへのアクセスを保護できます。 pkgadm listcert コマンドを使えば、ローカルのパッケージキーストア内に格納されている証明書の情報を表示できます。次に例を示します。
次では、pkgadm listcert コマンドの出力について説明します。
証明書を認証するには、各証明書の MD5 ハッシュおよび SHA1 ハッシュ (「指紋」とも呼ばれる) を、発行者によって公開されている既知の正しい指紋と比較します。 Sun の信頼される証明書のインポート署名付きパッケージおよびパッチを追加するための Sun の信頼される証明書を取得するには、次の方法を使います。
パッケージキーストアのセットアップ証明書の格納された Java キーストアがシステム上にすでに存在している場合、Sun Microsystems のルート CA 証明書を Java キーストアから keytool コマンドを使ってエクスポートできます。続いて、その証明書を、pkgadm コマンドを使ってパッケージキーストア内にインポートします。 ルート CA 証明書のパッケージキーストアへのインポートが完了すると、pkgadd コマンドや patchadd コマンドを使って署名付きパッケージおよびパッチをシステムに追加できるようになります。 注 – なお、Sun Microsystems のルート証明書が必要となるのは、Sun が署名したパッチやパッケージを追加する場合のみです。 証明書をパッケージキーストアにインポートする手順については、「信頼される証明書を Java キーストアからインポートする方法 (pkgadm addcert)」を参照してください。 pkgadd コマンドを使って署名付きパッケージを追加する完全な手順については、「署名付きパッケージを追加する方法 (pkgadd)」を参照してください。 ソフトウェアパッケージを管理するためのツール次の表では、Solaris リリースがインストールされたシステム上でソフトウェアパッケージを追加および削除するためのツールについて説明します。 表 19–1 ソフトウェアパッケージを管理するためのツールまたはコマンド
これらのコマンドの詳細は、第 20 章Solaris システム管理ツールによるソフトウェアの管理 (手順)および第 21 章パッケージコマンドによるソフトウェアの管理 (手順)を参照してください。 ソフトウェアパッケージの追加または削除 (pkgadd)表 19–1 に記載されているソフトウェア管理ツールはすべて、ソフトウェアを追加したり、インストール済みソフトウェアを削除したり、それらのソフトウェアに関する情報を照会したりするために使用されます。Solaris Product Registry の prodreg ビューアと Solaris インストール GUI はどちらも、Solaris Product Registry に格納されているインストールデータにアクセスします。pkgadd コマンドや pkgrm コマンドといったパッケージツールも、インストールデータにアクセスしたりインストールデータを変更したりします。 パッケージを追加する際、pkgadd コマンドは、ファイルを解凍して、インストール用メディアからローカルシステムのディスクにコピーします。パッケージを削除する際、pkgrm コマンドは、そのパッケージに関連するファイルがほかのパッケージと共有されている場合を除いて、それらをすべて削除します。 パッケージファイルはパッケージ形式で配布され、配布されたままの状態では使用できません。pkgadd コマンドは、ソフトウェアパッケージの制御ファイルを解釈してから、製品ファイルを解凍して、システムのローカルディスクにインストールします。 pkgadd と pkgrm の各コマンドは、標準の場所にそのログ出力を記録しませんが、インストールまたは削除されるパッケージを常時追跡しています。pkgadd と pkgrm の各コマンドは、インストールまたは削除されたパッケージに関する情報をソフトウェア製品用データベースに格納します。 このデータベースを更新することによって、pkgadd および pkgrm の各コマンドは、システムにインストールされたすべてのソフトウェア製品の記録を追跡します。 ソフトウェアパッケージの追加にあたっての重要な注意点 (pkgadd)システム上でパッケージをインストールまたは削除する場合には、次の点に注意する必要があります。
パッケージの削除に関するガイドライン (pkgrm)パッケージを削除する場合、rm コマンドを使用するかもしれませんが、代わりに表 19–1 に記載されているツールのいずれかを使用するようにしてください。たとえば、rm コマンドを使用すると、バイナリ実行可能ファイルを削除することができます。しかしながら、そのような操作は、pkgrm コマンドを使ってそのバイナリ実行可能ファイルを含むソフトウェアパッケージを削除する操作と等価ではありません。rm コマンドを使用してパッケージのファイルを削除すると、ソフトウェア製品用データベースが破壊されます。1 つのファイルだけを削除する場合は、removef コマンドを使用することができます。このコマンドを使用した場合、該当ファイルがパッケージから削除されるように、ソフトウェア製品データベースが正しく更新されます。詳細は、removef(1M) のマニュアルページを参照してください。 複数のバージョンのパッケージをインストールしておきたい場合は、pkgadd コマンドを使ってインストール済みパッケージとは別のディレクトリに新しいバージョンをインストールしてください。たとえば、複数のバージョンの文書処理アプリケーションをインストールしておきたい場合などが考えられます。パッケージがインストールされているディレクトリは、ベースディレクトリと呼ばれます。ベースディレクトリは、管理ファイルと呼ばれる特殊ファイルに basedir キーワードを設定することによって操作できます。管理ファイルの使用方法やベースディレクトリの設定方法の詳細は、「パッケージ追加時のユーザーの対話操作を省略する (pkgadd)」と、admin(4) のマニュアルページを参照してください。 注 – Solaris ソフトウェアをインストールするときにアップグレードオプションを使用すると、Solaris インストール用ソフトウェアは、ソフトウェア製品用データベースを調べて、すでにシステムにインストールされている製品があるかどうかを確認します。 ゾーンに対応していない Solaris リリースでソフトウェアパッケージおよびパッチを追加および削除する際の制限ゾーンに対応していない Solaris リリースが稼働するシステム上では、-R オプションを指定できるコマンドを使って非大域ゾーンがインストールされた大域ゾーンの代替ルートパスを指定しても、そのコマンドは正しく動作しません。 それらのコマンドは次のとおりです。
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 コマンドがパッケージのインストール前にユーザーに確認のプロンプトを表示しないようにするための管理ファイルを示しています。
管理ファイルは、パッケージ追加時にユーザーの対話操作を省略する以外にも、さまざまな用途で使用できます。たとえば、管理ファイルを使用すれば、エラーが発生した場合に (ユーザーの対話操作なしに) パッケージのインストールを終了したり、pkgrm コマンドでパッケージを削除する場合に対話操作を省略できます。 また、特別なインストールディレクトリをパッケージに割り当てることもできます。この方法は、1 つのシステム上で複数のバージョンのパッケージを管理する場合に役に立ちます。これを行うには、basedir キーワードを使って管理ファイル内に代替ベースディレクトリを設定します。このキーワードは、パッケージがインストールされる場所を示します。詳細は、admin(4) のマニュアルページを参照してください。 応答ファイルの使用 (pkgadd)応答ファイルには、「対話型パッケージ」で尋ねられる特定の質問に対するユーザーの応答が格納されます。対話型パッケージには、パッケージをインストールする前にいくつかの質問 (たとえば、パッケージのオプションをインストールするかどうかなど) をユーザーに尋ねる request スクリプトが格納されています。 インストールするパッケージが対話型パッケージであることがインストール前にわかっていて、今後インストールする際にユーザーの対話操作を省略できるように応答を格納しておきたい場合は、pkgask コマンドを使ってユーザーの応答を保存します。このコマンドの詳細は、pkgask(1M) のマニュアルページを参照してください。 request スクリプトが尋ねる質問への応答を格納した後は、pkgadd -r コマンドを使用して、ユーザーの対話操作なしにパッケージをインストールすることができます。 |
|||||||||||||||||||||||||||||||||||||||||||||