Solaris 9 インストールガイド

付録 C その他の SvR4 パッケージ要件に関するリファレンス情報

この付録は、カスタム JumpStart プログラムや Solaris Live Upgrade を使ってパッケージ (特にサードパーティのパッケージ) のインストールや削除を行うシステム管理者のためのものです。パッケージが SvR4 パッケージ要件に準拠していれば、カスタム JumpStart インストールを非対話的に行うことができます。さらに、動作中の現在のシステムは変更されないため、Solaris Live Upgrade を使ってアップグレードを行うことができます。


注 -

代替ルート (/) はオペレーティング環境のコピーであり、動作中のシステムではありません。


パッケージ化要件の概要

カスタム JumpStart プログラムや Solaris Live Upgrade が正しく動作するためには、パッケージが SvR4 パッケージ要件に準拠していなければなりません。『 Application Packaging Developer's Guide』には、パッケージ化要件や用語の定義が記載されています。その中でも特に、「Advanced Package Creation Techniques」を参照してください。

パッケージやユーザー管理ファイルの追加や削除に関する基本的な情報については、『Solaris のシステム管理 (基本編) 』の「ソフトウェアの管理 (概要) 」を参照してください。 さらに、該当するマニュアルページも参照してください。

この付録で参照するコマンドの詳細については、マニュアルページ dircmp(1)fssnap(1M)ps(1)、または truss(1) を参照してください。

表 C-1 に、Solaris Live Upgrade とカスタム JumpStart プログラムに適用される情報の参照先を示します。

表 C-1 要件情報

インストール方法 

要件に関する参照先 

Solaris Live Upgrade 

Custom JumpStart プログラム 

カスタム JumpStart プログラムと Solaris Live Upgrade の代替ルート (/) 要件

代替ルート (/) はオペレーティング環境のコピーであり、動作中のシステムではありません。Live Upgrade やカスタム JumpStart プログラムで使用するパッケージは、次の要件に準拠していなければなりません。

以下に、代替ルート (/) 要件に準拠する必要性を説明します。

$PKG_INSTALL_ROOT$BASEDIR の相違点の概要

$PKG_INSTALL_ROOT は、パッケージを追加しようとするマシンのルート (/) ファイルシステムの場所です。この値は、pkgadd コマンドの -R 引数の後にセットされます。たとえば、次のコマンドを実行すると、パッケージのインストール時に $PKG_INSTALL_ROOT の値は /a にセットされます。


# pkgadd -R /a SUNWvxvm

$BASEDIR は、再配置可能なパッケージオブジェクトがインストールされる再配置可能なベースディレクトリを指しています。 ここにインストールされるのは、再配置可能オブジェクトだけです。再配置可能でないオブジェクト (pkgmap ファイルに 絶対パスが指定されているオブジェクト) は、代替ルート (/) の相対パスにインストールされます。$BASEDIR との相対パスにはインストールされません。再配置可能なオブジェクトがないパッケージは、絶対パッケージ (非再配置可能) と呼ばれます。その場合、$BASEDIR は未定義であるため、これをパッケージに添付されているスクリプトで使用することはできません。

たとえば、パッケージの pkgmap ファイルに次のエントリがあるとします。


1 f none sbin/ls 0555 root sys 3541 12322 1002918510
1 f none /sbin/ls2 0555 root sys 3541 12322 2342423332

さらに、pkginfo ファイルには、 $BASEDIR が次のように指定されているとします。


BASEDIR=/opt

このパッケージを次のコマンドでインストールすると、 ls は、 /a/opt/sbin/ls としてインストールされますが、 ls2 は、 /a/sbin/ls2 としてインストールされます。


# pkgadd -R /a SUNWtest

Solaris Live Upgrade 代替ブート環境の要件

Solaris Live Upgrade を使用したり、新しいブート環境を作成する場合には、次の項目に従って問題の発生を防止してください。

ファイルの作成や変更、削除に対する要件はさまざまなコマンドで検証できます。たとえば、パッケージが正しく動作するかどうかを dircmpfssnap コマンドを使って検証できます。 さらに、ps コマンドでは、パッケージによりデーモンの開始や停止が行われていないことを確認することによってデーモンに対する要件準拠を確認できます。trusspkgadd コマンドでは、実行時のパッケージインストール要件に準拠しているかどうかを確認できます。ただし、これが常に機能するとはかぎりません。次の例では、truss コマンドは、読み取り専用ディレクトリまたは $BASEDIR へのアクセスをすべて除外し、読取専用でないディレクトリまたは指定された代替ルート (/) 以外のディレクトリへのアクセス情報のみを表示します。


# BASEDIR=/a; export BASEDIR
# truss -t open /usr/sbin/pkgadd -R ${BASEDIR} SUNWvxvm \
2>&1> /dev/null | grep -v O_RDONLY | grep -v \
'open("'${BASEDIR}

この節で参照したコマンドについては、マニュアルページ dircmp(1)fssnap(1M)ps(1)、または truss(1) を参照してください。

カスタム JumpStart プログラムのアップグレード要件

パッケージがカスタム JumpStart プログラムの要件に準拠していれば、次に示す従来の Solaris インストールユーティリティを使ってパッケージの追加や削除を行うことができます。

さらに、カスタム JumpStart プログラムの要件に準拠したパッケージは Solaris アップグレードに入れることができます。パッケージがカスタム JumpStart プログラムの要件に準拠するためには、代替ルート (/) 要件を満たしていなければなりません。これについては、「カスタム JumpStart プログラムと Solaris Live Upgrade の代替ルート (/) 要件」を参照してください。

処理の途中でユーザー入力を求められないほうが、カスタム JumpStart プログラムを効果的に使用することができます。ユーザーの入力作業をなくすためには、 pkgadd コマンドの -a オプションで使用する新しい管理ファイルを設定する必要があります。-a オプションは、デフォルトの管理ファイルの代わりにユーザー定義の管理ファイルを使用することを意味します。デフォルトのファイルを使用すると、情報の入力が必要になることがあります。管理ファイルを作成すれば、pkgadd でこのようなチェックを省略し、パッケージをインストールすることができます。次の例で、pkgadd 管理ファイルの使い方を説明します。

次の例はユーザー定義の管理ファイルの例です。このファイルを使用すると、pkgadd はパッケージをインストールする前に確認のプロンプトを表示しません。

mail=
instance=overwrite
partial=nocheck
runlevel=nocheck
idepend=nocheck
space=nocheck
setuid=nocheck
confiict=nocheck
action=nocheck
basedir=default

詳細は、マニュアルページ admin(4) または pkgadd(1M) を参照してください。