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

ソフトウェアパッケージのインストール

ソフトウェアパッケージは、pkgadd コマンドを使用してインストールされます。このコマンドを使用すると、配布媒体またはディレクトリからソフトウェアパッケージの内容が転送され、システムにインストールされます。

この節では、パッケージが正しくインストールされることを確認するために、パッケージのインストール上の基本的な説明について紹介します。

インストールソフトウェアデータベース

システムにインストールされるすべてのパッケージの情報は、インストールソフトウェアデータベースに保持されます。パッケージ内のすべてのオブジェクトのエントリと、コンポーネント名、常駐場所、種類などの情報が保存されます。エントリには、コンポーネントが属するパッケージのレコード、コンポーネントを参照する可能性があるほかのパッケージ、およびパス名、コンポーネントの常駐場所、コンポーネントの種類などの情報が含まれます。エントリを自動的に追加したり削除したりするには、pkgadd および pkgrm コマンドを使用します。データベース内の情報を表示するには、pkgchk および pkginfo コマンドを使用します。

各パッケージコンポーネントには、2 種類の情報が関連付けられています。属性情報には、コンポーネント自体の内容が記述されます。たとえば、コンポーネントのアクセス権、所有者 ID、グループ ID は属性情報です。内容情報には、ファイルサイズや最終変更時刻など、コンポーネントの内容が記述されます。

インストールソフトウェアデータベースは、パッケージのステータスを追跡します。パッケージは、完全にインストールされる場合 (インストールプロセスが正常に完了した場合) と、部分的にインストールされる場合 (インストールプロセスが正常に完了しなかった場合) があります。

パッケージが部分的にインストールされる場合、インストールが中止される前にパッケージの一部分がインストールされる可能性があります。したがって、パッケージの一部分はインストールされてデータベースに記録されますが、残りの部分はインストールも記録もされません。pkgadd コマンドは、データベースにアクセスしてすでにインストールされている部分を検出できるので、パッケージを再インストールするときに、前回のインストールが停止した場所から開始するかどうかの指示を求められます。また、pkgrm コマンドを使用して、インストールソフトウェアデータベースの情報に基づいてインストール済みの部分を削除することもできます。

pkgadd コマンドでの対話

pkgadd コマンドは、問題を検出すると、まずインストール管理ファイルで命令を確認します (詳細については admin(4) を参照)。命令がない場合、または管理ファイルの関連するパラメータが ask に設定されている場合は、pkgadd は問題を説明するメッセージを表示して、応答を求めます。通常、プロンプトには「Do you want to continue with this installation?」と表示されます。「 yes」、「no」、または「quit」で応答する必要があります。

複数のパッケージを指定している場合、「no」で応答すると、インストール中のパッケージのインストールは停止しますが、pkgadd ではほかのパッケージのインストールは継続されます。「quit」で応答すると、pkgadd ではすべてのパッケージのインストールが停止されます 。

同機種環境内のスタンドアロンシステムまたはサーバーへのパッケージのインストール

ここでは、同機種環境内のスタンドアロンシステムまたはサーバーシステムにパッケージをインストールする方法について説明します。

Procedureスタンドアロンシステムまたはサーバーにパッケージをインストールする方法

  1. パッケージを構築します。

    必要に応じて、「パッケージの構築」を参照してください。

  2. システムにスーパーユーザーとしてログインします。

  3. ソフトウェアパッケージをシステムに追加します。


    # pkgadd -d device-name [pkg-abbrev...]

    -d device-name

    パッケージの位置を指定します。device-name は、完全なディレクトリパス名でも、テープ、フロッピーディスク、またはリムーバブルディスクの識別子でもかまいません。

    pkg-abbrev

    追加する 1 つ以上のパッケージの名前を空白で区切って指定します。省略すると、pkgadd では使用可能なすべてのパッケージがインストールされます。


例 4–1 スタンドアロンまたはサーバーでのパッケージのインストール

pkgA という名前のソフトウェアパッケージを、/dev/rmt/0 という名前のテープデバイスからインストールするには、次のコマンドを入力します。


# pkgadd -d /dev/rmt/0 pkgA

次のようにパッケージ名を空白で区切ることで、同時に複数のパッケージをインストールすることもできます。


# pkgadd -d /dev/rmt/0 pkgA pkgB pkgC

パッケージが常駐しているデバイスを指定しないと、コマンドによってデフォルトのスプールディレクトリ (/var/spool/pkg) がチェックされます。パッケージが見つからないと、インストールは失敗します。


参照

この手順が終了したら、次の作業、「パッケージの整合性を確認する方法」に進みます。