Solaris のシステム管理 (第 1 巻)

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

ソフトウェアの管理には、スタンドアロンシステム、サーバー、およびそのクライアントへのソフトウェアの追加、また、ソフトウェアの削除が含まれます。この章では、ソフトウェアのインストールと管理についての概要を示します。ここでは Solaris ソフトウェアのインストールについては説明しません。

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

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

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

手順 

参照先 

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

Solaris 8 インストールガイド (SPARC 版)』または『Solaris 8 インストールガイド (Intel 版)

Solaris 8 をインストールした後のソフトウェア追加と削除 

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

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

第 22 章「パッチの管理 (概要)」

ソフトウェア管理の問題の解決 

Solaris のシステム管理 (第 2 巻)』の「ソフトウェア管理の問題の解決」

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

今回のリリースの Solaris には、新しいソフトウェア管理ツール Solaris Product Registry が含まれています。Solaris 8 リリースをインストールした後、Product Registry は Solaris Web Start 3.0 または Solaris パッケージ管理コマンドでインストールしたすべてのソフトウェアのリストを提供します。Product Registry を表示するには、コマンド行で /usr/bin/prodreg と入力します。

詳細は、『Solaris 8 インストールガイド (SPARC 版)』または『Solaris 8 インストールガイド (Intel 版)』の「Product Registry によるソフトウェアの追加と削除」を参照してください。

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

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

ソフトウェア管理ツール

システムにソフトウェアを追加したり、システムから削除するために、次の 3 つのツールがあります。

パッケージ情報を追加、削除、および表示するツール 

説明 

パッケージコマンド (pkgadd, pkgrm, pkginfo)

これらのコマンドをスクリプトに組み込んだり、オプションのファイルを設定してユーザーの対話操作や特別なチェック作業をなくしたり、また、ソフトウェアパッケージをスプールディレクトリにコピーすることができる。すでにこれらのコマンドによるパッケージの追加と削除に詳しいユーザーの場合は、これらのコマンドを引き続き使用した方が簡単である。

Admintool 

グラフィカルインタフェースツールの使用方法についての一般的な説明をオンライン表示する。ソフトウェアパッケージの命名規則やコマンド行オプションの使用方法にまだ慣れていないユーザー、また、一度に 1 つのシステムでしかソフトウェアの管理を行わないユーザーの場合は、Admintool を使用して、ソフトウェアの追加、削除を行うことを推奨する。

Solaris Product Registry 

製品を追加するためのインストーラを起動する。 

次の表に、ソフトウェアを管理するとき、pkgadd コマンドや pkgrm コマンドよりも Admintool を使用する利点を説明します。

表 20-1 Admintool のソフトウェア管理機能

ソフトウェア管理作業 

Admintool を使用して実行可能かどうか 

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

可能 

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

可能 

インストール用媒体上のパッケージの簡単な表示と選択 

可能 

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

不可 

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

不可 

初期の Solaris リリースでは、ソフトウェアの追加、削除を行うグラフィカルユーザーインタフェースのツールとしてソフトウェアマネージャ (swmtool コマンドでアクセス) を使用しました。swmtool コマンドを Solaris 2.5 および以降の互換バージョンで使用すると、Admintool が起動します。

パッケージの追加または削除時の動作

pkgadd コマンドと pkgrm コマンド、または Admintool はソフトウェアを追加したり削除したりするのに使用します。Admintool は pkgadd コマンドと pkgrm コマンドのグラフィカルインタフェースです。

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

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

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

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

パッケージを追加または削除する前に知っておくこと

システムでパッケージのインストールまたは削除を行うにあたっては、次のことを知っておく必要があります。

クライアントソフトウェア管理に関するガイドライン

スタンドアロンシステムでのソフトウェアの管理は、パッケージのインストール用ツールと規則を理解すれば、かなり簡単なものです。ソフトウェアパッケージをシステムのローカルディスクにインストールするだけで、そのソフトウェアを使用できるようになります。しかし、クライアントシステム上でソフトウェアを管理する方法は、これよりも難しくなります。ソフトウェアがサーバーとクライアントに分かれて置かれる場合には特に困難です。(たとえば、1 つのソフトウェアに、クライアントのルートファイルシステムにインストールされるファイルを持つパッケージと、クライアントが通常サーバーからマウントする /usr ファイルシステムにインストールされるファイルを持つパッケージがある場合などです。)

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

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

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


注 -

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


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

管理ファイルの使用

pkgadd コマンドを -a オプションを指定して実行するとき、pkgadd コマンドは、どのようにインストールを進めるかについての情報を持つ特殊な管理ファイルを参照します。通常、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 オプションを指定すれば、ユーザーの対話操作なしにパッケージをインストールできます。