Solaris のシステム管理 (基本編)

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

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

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

この章では、新しいシステムでの Solaris ソフトウェアのインストールについては説明しません。また、新バージョンの Solaris ソフトウェアのインストールやアップグレードについても説明しません。Solaris ソフトウェアのインストールやアップグレードについては、『Solaris 9 インストールガイド』を参照してください。

ソフトウェア管理における新機能

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

署名付きパッチ

Solaris 2.6、7、8、9 リリースのすべてのパッチには、デジタル署名が付いています。有効なデジタル署名は、署名が適用された以降にパッチの変更が行われていないことを保証します。

署名付きパッチには、パッチがシステムに適用される前に確認できるデジタル署名が含まれているため、パッチのダウンロードやパッチの適用を安全に行うことができます。

署名付きパッチは Java アーカイブ形式 (JAR) ファイルに格納され、SunSolve OnlineSM から入手できます。

署名付きパッチの概要については、第 24 章「Solaris パッチの管理 (概要)」を参照してください。署名付きパッチ関連の問題の障害追跡については http://sunsolve.Sun.COM/pub-cgi/show.pl?target=patches/spfaq を参照してください。

Solaris Product Registry 3.0

Solaris Product Registry 3.0 は、ソフトウェアパッケージのインストールとアンインストールを行うための GUI ツールです。

この製品を使ってソフトウェアパッケージを管理する方法については、Solaris Product Registry によるソフトウェアの追加と削除 (GUI を使った作業)を参照してください。

prodreg コマンドの拡張機能

prodreg コマンドのオプションを使って、コマンド行から Solaris Product Registry にアクセスし、管理できます。

prodreg コマンドを使ってソフトウェアパッケージを管理する方法については、Solaris Product Registry コマンド行インタフェースによるソフトウェアの表示および削除 (prodreg)を参照してください。

パッチアナライザ

SolarisTM Web Start プログラムを使用して Solaris 9 Update リリースにアップグレードするときに、パッチアナライザを使用すると、システムの分析が行われて、Solaris Update リリースへのアップグレードによってどのパッチ (もしあれば) が除去またはダウングレードされるかが確認されます。Solaris 9 リリースにアップグレードするときは、パッチアナライザを使用する必要はありません。

Solaris 9 Update リリースへのアップグレード時にこのツールを使用する方法については、『Solaris 9 インストールガイド』の「Solaris Update リリースへのアップグレード」を参照してください。

Solaris 管理コンソールのパッチマネージャ

Solaris 管理コンソールには、パッチを管理するための新しいパッチツールが用意されています。このパッチツールを使用するだけで、Solaris 9 リリースを実行しているシステムにパッチを追加できます。

Solaris 管理コンソールの起動方法については、スーパーユーザーまたは役割としてコンソールを起動する方法を参照してください。

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

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

ソフトウェア管理作業 

参照先 

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

Solaris 9 インストールガイド

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

第 23 章「ソフトウェアの管理 (手順)」

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

第 25 章「Solaris パッチの管理 (手順)」

ソフトウェアパッケージ問題の障害追跡  

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

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

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

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

Solaris リリースをシステムにインストールした後でソフトウェアパッケージをシステムに追加したり、システムから削除するためのツールは、次のとおりです。

表 22–1 ソフトウェアパッケージツール

ソフトウェアパッケージ情報の追加、削除、表示に使用するツール 

追加機能  

Solaris Web Start プログラム 

インストーラを起動して、Solaris 9 メディアパックに含まれている製品を追加する。個々のソフトウェアパッケージを追加することはできない 

Solaris Product Registry (GUI) 

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

Solaris Product Registry prodreg ビューア (コマンド行インタフェース)

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

パッケージコマンド (pkgaddpkgrmpkginfo)

これらのコマンドをスクリプトに組み込む、オプションのファイルを設定してユーザーの対話操作を省略したり特別なチェック作業を追加したりする、ソフトウェアパッケージをスプールディレクトリにコピーする 

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

表 22–1 に記載されているソフトウェア管理ツールはすべて、インストール済みソフトウェアに関する情報の追加、削除、または照会に使用できます。Admintool、Solaris Product Registry の prodreg ビューア、および Web Start プログラムはいずれも、Solaris Product Registry に格納されているインストールデータにアクセスします。pkgadd コマンドや pkgrm コマンドといったパッケージツールでも、インストールデータにアクセスし、管理できます。

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

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

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

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

ソフトウェアパッケージの追加または削除にあたっての重要な注意点

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

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

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

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


注 –

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


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

管理ファイルの使用

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
basedir=default

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

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

応答ファイルの使用

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

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

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