アプリケーションパッケージ開発者ガイド

リモートでインストール可能なパッケージの作成

すべてのパッケージをリモートでインストール可能にする必要があります。リモートでインストール可能とは、パッケージをインストールする管理者が、pkgadd コマンドを実行するシステムのルート (/) ファイルシステムにインストールすることを仮定できないということです。手続きスクリプトの 1 つで、ターゲットシステムの /etc/vfstab ファイルを取得する必要がある場合、PKG_INSTALL_ROOT 環境変数を使用する必要があります。つまり、パス名 /etc/vfstab を使用して pkgadd コマンドを実行するシステムの /etc/vfstab ファイルを取得できますが、管理者はクライアントの /export/root/client3 にインストールする場合もあります。パス ${PKG_INSTALL_ROOT}/etc/vfstab は、ターゲットファイルシステムを取得できることが保証されています。

例 – クライアントシステムへのインストール

この例では、SUNWstuf パッケージを、ルート (/) ファイルシステムの /opt で構成された client3 にインストールします。このパッケージのほかのバージョンの 1 つが、すでに client3 にインストールされています。また、ベースディレクトリは管理ファイル thisadmin から basedir=/opt/$PKGINST に設定されています。管理ファイルの詳細については、「管理デフォルトファイル」を参照してください。サーバーで実行する pkgadd コマンドは、次のとおりです。


# pkgadd -a thisadmin -R /export/root/client3 SUNWstuf

次の表は、環境変数と、手続きスクリプトに渡される値の一覧です。

表 6–1 手続きスクリプトに渡される値

環境変数 

値 

PKGINST

SUNWstuf.2

PKG_INSTALL_ROOT

/export/root/client3

CLIENT_BASEDIR

/opt/SUNWstuf.2

BASEDIR

/export/root/client3/opt/SUNWstuf.2

例 – サーバーまたはスタンドアロンシステムへのインストール

前の例と同じ状況でサーバーまたはスタンドアロンシステムにインストールするには、次のコマンドを使用します。


# pkgadd -a thisadmin SUNWstuf

次の表は、環境変数と、手続きスクリプトに渡される値の一覧です。

表 6–2 手続きスクリプトに渡される値

環境変数 

値 

PKGINST

SUNWstuf.2

PKG_INSTALL_ROOT

未定義 

CLIENT_BASEDIR

/opt/SUNWstuf.2

BASEDIR

/opt/SUNWstuf.2

例 – 共有ファイルシステムのマウント

SUNWstuf パッケージにより、サーバーに /export/SUNWstuf/share を作成し、ファイルシステムを共有すると仮定します。パッケージをクライアントシステムにインストールする場合、/etc/vfstab ファイルを更新して、この共有ファイルシステムにマウントする必要があります。これは、CLIENT_BASEDIR 変数を使用できる場合です。

クライアントのエントリは、クライアントのファイルシステムを参照してマウントポイントを指定する必要があります。インストールをサーバーから行う場合でもクライアントから行う場合でも、この行を正確に構成するようにしてください。サーバーのシステム名は $SERVER であるとします。$PKG_INSTALL_ROOT/etc/vfstab に移動して、sed コマンドまたは awk コマンドを使用してクライアントの /etc/vfstab ファイルの次の行を構成します。


$SERVER:/export/SUNWstuf/share - $CLIENT_BASEDIR/usr nfs - yes ro

たとえば、サーバー universe とクライアントシステム client9 の場合、クライアントシステムの /etc/vfstab ファイルは、次の行になります。


universe:/export/SUNWstuf/share - /opt/SUNWstuf.2/usr nfs - yes ro

これらのパラメータを正確に使用して、ローカルで構成する場合でもサーバーから構成する場合でも常にクライアントのファイルシステムをマウントします。