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

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

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

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

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

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

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

Solaris Product Registry 3.0

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

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

パッチアナライザ

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

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

Solaris Management Console のパッチマネージャ

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

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

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

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

ソフトウェア管理作業 

参照先 

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

Solaris 9 インストールガイド

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

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

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

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

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

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

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

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

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

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

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

追加機能  

Solaris Web Start プログラム 

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

Solaris Product Registry 

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

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

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

Admintool 

この GUI ツールの使い方に関する一般的な情報を提供するオンラインヘルプを表示する。次の場合は、Admintool を使用してソフトウェアの追加や削除を行うのが最も簡単な方法である。 

  • ソフトウェアパッケージの命名規則に慣れていない場合

  • コマンド行オプションの使い心地が悪い場合

  • 一度に 1 つのシステムでしかソフトウェアの管理を行わない場合

次の表に、pkgadd コマンドや pkgrm コマンドではなく、GUI ツールを使用して行うことができるソフトウェア管理作業を示します。

表 22-1 ソフトウェア管理機能

ソフトウェア管理作業 

Admintool、Solaris Product Registry、Solaris Web Start プログラムを使用して行えるかどうか 

スタンドアロンシステム、またはサーバーシステムでのソフトウェアパッケージの追加と削除 

可能 

インストールされているすべてのソフトウェアの簡単な表示 

可能 

インストール用メディア上のパッケージの簡単な表示と選択 

可能 

スプールディレクトリへのパッケージの追加 

不可 

管理ファイルを使用したユーザー対話操作の省略 

不可 

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

表 23-1 に記載されているソフトウェア管理ツールはすべて、ソフトウェアの追加と削除に使用できます。Admintool、Solaris Product Registry、Solaris Web Start プログラムは、pkgadd コマンドと pkgrm コマンドの GUI フロントエンドソフトウェアです。

パッケージを追加する際、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 コマンドを使用して、ユーザーの対話操作なしにパッケージをインストールすることができます。