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

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

管理ファイルの使用

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 オプションを指定すれば、ユーザーの対話操作なしにパッケージをインストールできます。