Solaris のシステム管理 (基本編)

第 23 章 ソフトウェアの管理 (手順)

この章では、ソフトウェアパッケージを追加、検証、削除する方法について説明します。

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

ソフトウェアパッケージを管理するためのコマンド

表 23–1 に、Solaris のインストール後に、ソフトウェアパッケージの追加、削除、検査に使用するコマンドを示します。

表 23–1 ソフトウェアパッケージを管理するためのツールまたはコマンド

ツールまたはコマンド 

マニュアルページ 

説明 

admintool

admintool(1M)

グラフィカルツールを使用してソフトウェアパッケージをインストールまたは削除する 

installer

installer(1M)

インストーラを使用してソフトウェアパッケージをインストールまたは削除する 

pkgadd

pkgadd(1M)

ソフトウェアパッケージをインストールする 

pkgchk

pkgchk(1M)

ソフトウェアパッケージのインストールを検査する 

pkginfo

pkginfo(1)

ソフトウェアパッケージ情報を表示する 

pkgparam

pkgparam(1)

ソフトウェアパッケージのパラメータ値を表示する 

pkgrm

pkgrm(1M)

ソフトウェアパッケージを削除する 

prodreg

prodreg(1M)

Solaris Product Registry 内のソフトウェアをブラウズ、登録解除、およびアンインストールする 

Solaris Web Start プログラムによるソフトウェアの追加

この節では、Solaris オペレーティング環境がすでにインストールされているシステムに、Solaris Web Start プログラムを使ってソフトウェアを追加する方法を説明します。Solaris Web Start プログラムでは、Solaris オペレーティング環境を最初にインストールしたときに、インストール対象から外したソフトウェアグループのコンポーネントだけをインストールします。インストールまたはアップグレード後に別のソフトウェアグループのアップグレードを行うことはできません。4 つのソフトウェアグループについては、『Solaris 9 インストールガイド』を参照してください。

Solaris Web Start プログラムを使ってソフトウェアをインストールする方法


注 –

この手順では、システムがボリューム管理 (vold) を実行しているものとします。システムがボリューム管理を実行していない場合、ボリューム管理を使用しないでリムーバブルメディアにアクセスする方法については、第 18 章「リムーバブルメディアへのアクセス (手順)」を参照してください。


  1. スーパーユーザーになるか、同等の役割を引き受けます。

  2. インストールを CD、DVD、またはネットワークのいずれから行うかを決めます。次のいずれかの手順に従います。

    • CD からインストールする場合は、CD-ROM ドライブに CD を挿入する。

      Solaris 9 LANGUAGES CD を挿入すると、Solaris Web Start プログラムが自動的に起動されます。手順 6 へ進んでください。

    • DVD からインストールする場合は、DVD-ROM ドライブに DVD を挿入する。

    • ネットワークからインストールする場合は、インストールするソフトウェアのネットイメージを見つける。

  3. Solaris Web Start インストーラが見つかるまで、ディレクトリを変更します。

    Solaris Web Start インストーラは、CD や DVD 上のさまざまなディレクトリにあります。

    • Solaris 9 Software 1 of 2 CD

    • Solaris 9 Software 2 of 2 CD

    • Solaris 9 Documentation CD

    • Solaris 9 Languages CD。この CD を挿入すると、Solaris Web Start プログラムが自動的に起動される

    CD や DVD の構成については、『Solaris 9 インストールガイド』の「Solaris メディアの構成に関するリファレンス情報」を参照してください。

  4. 指示に従って、ソフトウェアをインストールします。

    • ファイルマネージャから、「インストール (Installer)」をダブルクリックする。

    • コマンド行から、次のように入力する。


       % ./installer [options]

      -nodisplay

      GUI を使用しないでインストーラを実行する。 

      -noconsole

      対話式のテキストコンソールデバイスを使用しないで実行する。ソフトウェアをインストールするための UNIX スクリプトに installer コマンドを組み込んだときは、このオプションを -nodisplay オプションと合わせて使用する。

      指示に従って、ソフトウェアをインストールします。

  5. 「インストール (Installer)」をダブルクリックします。

    「インストール (Installer)」ウィンドウが表示され、続いて「Solaris Web Start」ダイアログボックスが表示されます。

  6. 画面の指示に従ってソフトウェアをインストールします。

  7. ソフトウェアの追加が終わったら、「終了 (Exit)」をクリックします。

    Solaris Web Start プログラムが終了します。

Solaris Product Registry によるソフトウェアの追加と削除 (GUI を使った作業)

Solaris Product Registry は、インストールされているソフトウェアをユーザーが管理するためのツールです。ソフトウェアのインストールが終わると、Solaris Product Registry は、Solaris Web Start プログラム 3.0 または Solaris pkgadd コマンドを使用して、インストールされたすべてのソフトウェアの一覧を表示します。

Solaris Product Registry は、GUI またはコマンド行インタフェース (CLI) で使用できます。Solaris Product Registry CLI の使用方法については、Solaris Product Registry コマンド行インタフェースによるソフトウェアの表示および削除 (prodreg)を参照してください。

Solaris Product Registry の GUI インタフェースでは、次の作業を実行できます。

Solaris Product Registry の GUI のメインウィンドウは、次の 3 つの情報領域から構成されています。

図 23–1 「Solaris Product Registry」ウィンドウ

「Solaris Product Registry」画面。登録されているソフトウェア、一覧、詳細情報の各区画が表示されています。

インストール/アンインストールしたソフトウェアの情報を Solaris Product Registry を使って表示する方法 (GUI を使った作業)

  1. スーパーユーザーになるか、同等の役割を引き受けます。

  2. Solaris Product Registry ツールを起動します。


    # prodreg &
    

    「Solaris Product Registry」メインウィンドウが表示されます。

  3. 「登録されているソフトウェア (Registered Software)」ボックスの「システムレジストリ (System registry) 」ディレクトリの左側にあるアイコンをクリックします。

    右側を指していたアイコンが下側に変わります。Solaris Product Registry の項目は、左側にテキストファイルアイコンがあるものを除き、どの項目も展開または短縮できます。

    「登録されているソフトウェア (Registered Software)」ボックスにインストールされているソフトウェアには、必ず次のものが含まれます。

    • Solaris のインストール時に選択した構成ソフトウェアグループ。ソフトウェアグループは、「コアシステムサポート (Core System Support」、「エンドユーザーシステムサポート (End User System Support)」、「開発者システムサポート (Developer System Support)」、「全体ディストリビューション (Entire Distribution)」、「全体ディストリビューションと OEM サポート (Entire Distribution plus OEM Support)」のいずれかです。

    • 追加のシステムソフトウェア (選択したソフトウェアグループに含まれていない Solaris 製品)。

    • 分類していないソフトウェア (pkgadd コマンドを使ってインストールした Solaris 製品以外のパッケージまたはソフトウェアグループに含まれていないパッケージ)。

  4. 表示するソフトウェアアプリケーションが見つかるまでディレクトリを選択します。

    ディレクトリを開くと、リストが展開されます。

  5. 属性を表示する場合は、ディレクトリまたはファイルを選択します。

    属性情報が「一覧 (Summary)」ボックスと「詳細情報 (more information)」ボックスに表示されます。

    • Solaris Web Start プログラムでインストールされたソフトウェア製品の場合、「タイトル (Title)」、「バージョン (Version)」、「インストール場所 (Location)」、「インストール日時 (Installed on)」の値が必ず表示されます。製品またはソフトウェアグループの下で展開されているリスト内の項目の場合、その製品のバージョン情報が表示されます。

    • pkgrm コマンドを使って製品のすべてまたは一部を削除した場合は、ソフトウェア製品の名前の横にそれを警告するアイコンが表示されます。

Solaris Product Registry を使ってソフトウェアをインストールする方法 (GUI を使った作業)

Solaris Product Registry を使用すると、ソフトウェアを検索し、ソフトウェアのインストール手順をガイドしてくれる Solaris Web Start プログラムを起動できます。

  1. スーパーユーザーになるか、同等の役割を引き受けます。

  2. Solaris Product Registry ツールを起動します。


    # prodreg
    

    「Solaris Product Registry」ウィンドウが表示されます。

  3. インストールを CD、DVD、またはネットワークのいずれから行うかを決めます。次のいずれかの手順に従います。

    • CD からインストールする場合は、CD-ROM ドライブに CD を挿入する。

    • DVD からインストールする場合は、DVD-ROM ドライブに DVD を挿入する。

    • ネットワークからインストールする場合は、インストールするソフトウェアのネットイメージを見つける。

  4. インストールおよび登録されているソフトウェアの一覧を表示するには、その左側にあるアイコンをクリックします。

  5. 「Solaris Product Registry」ウィンドウの下にある「新規インストール (New Install)」ボタンをクリックします。

    「インストーラの選択 (Select Installer)」ダイアログボックスが表示され、最初は /cdrom ディレクトリまたは現在使用中のディレクトリが選択されています。

  6. Solaris Web Start プログラムのインストーラが見つかるまで、ディレクトリを選択します。

    Solaris Web Start インストーラは、CD や DVD 上のさまざまなディレクトリにあります。CD や DVD の構成については、『Solaris 9 インストールガイド』の「Solaris メディアの構成に関するリファレンス情報」を参照してください。

    • Solaris 9 Software 1 of 2 と 2 of 2 CD

    • Solaris 9 Software 2 of 2 CD

    • Solaris 9 Documentation CD

    • Solaris 9 Languages CD。この CD を挿入すると、Solaris Web Start プログラムが自動的に起動される

  7. 起動するインストーラを見つけたら、「ファイル (Files)」ボックスでそのインストーラの名前を選択します。

  8. 「了解 (OK)」をクリックします。

    選択したインストーラが起動されます。

  9. インストーラによって表示される手順に従って、ソフトウェアをインストールします。

Solaris Product Registry を使ってソフトウェアをアンインストールする方法 (GUI を使った作業)

  1. スーパーユーザーになるか、同等の役割を引き受けます。

  2. Solaris Product Registry ツールを起動します。


    # prodreg
    

    「Solaris Product Registry」ウィンドウが表示されます。

  3. インストールおよび登録されているソフトウェアの一覧を表示するには、その左側にあるアイコンをクリックします。

  4. アンインストールするソフトウェアの名前が見つかるまでディレクトリを選択します。

  5. ソフトウェア属性を読んで、このソフトウェアがアンインストールするソフトウェアであることを確認します。

  6. 「Solaris Product Registry」ウィンドウの下にある「アンインストール (Uninstall)」ボタンをクリックします。

    選択したソフトウェアがアンインストールされます。

Solaris Product Registry コマンド行インタフェースによるソフトウェアの表示および削除 (prodreg)

prodreg コマンドは、Solaris Product Registry のコマンド行インタフェース (CLI) です。prodreg コマンドは、システム上のソフトウェアを管理するための複数のサブコマンドをサポートしています。

端末ウィンドウで prodreg コマンドを実行して、次の作業を行うことができます。

コマンド行インタフェースから Solaris Product Registry を管理する方法については、prodreg(1M) のマニュアルページを参照してください。

インストール/アンインストールしたソフトウェアの情報を Solaris Product Registry を使って表示する方法 (prodreg CLI を使った作業)

Solaris Product Registry 内のソフトウェアに関する情報を確認するには、端末ウィンドウで prodreg コマンドのサブコマンド browse を実行します。

  1. 端末ウィンドウを開きます。

  2. Solaris Product Registry をブラウズします。


    % prodreg browse
        BROWSE # +/-/.  UUID                                  #  NAME
        ======== =====  ====================================  =  ============
        1        -      root                                  1  System 
                                                                 Registry
        2         +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 9 4/03 
                                                                 System 
                                                                 Software
        3         +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified
                                                                 Software

    prodreg コマンドのサブコマンド browse では、登録済みソフトウェアに関する次の情報を表示できます。

    BROWSE #

    prodreg browse コマンドを実行すると、Solaris Product Registry により、登録済みの各ソフトウェアコンポーネントのブラウズ番号が生成されます。この番号を prodreg browse コマンドや prodreg info コマンドの引数に指定することにより、登録済みの特定のコンポーネントの下位コンポーネントを表示できます。


    注 –

    ブラウズ番号 (BROWSE#) は、システムのリブートや再インストールによって変更される可能性があります。ブラウズ番号をスクリプト内に記述したり、その他のログインセッションで再利用したりすることはできません。


    +/-/.

    このフィールドは、ソフトウェアコンポーネントが Solaris Product Registry に登録された子コンポーネントを持っているかどうかを示します。このフィールドには、次の文字が表示されます。

    • + - ソフトウェアコンポーネントは、現在表示されていないが子コンポーネントを持っていることを示します。

    • - - ソフトウェアコンポーネントは、現在表示されている子コンポーネントを持っていることを示します。

    • . - ソフトウェアコンポーネントが子コンポーネントを持っていないことを示します。

    UUID

    このフィールドには、Solaris Product Registry に格納されているソフトウェア固有の識別子が表示されます。 

    #

    このフィールドには、システム上のソフトウェアコンポーネントのインスタンス番号が表示されます。システム上に複数のソフトウェアコンポーネントインスタンスがある場合、Solaris Product Registry はそれぞれのインスタンスに別々のインスタンス番号を割り当てます。 

    NAME

    このフィールドには、ソフトウェアの地域対応化された名前が表示されます。出力例では、Solaris オペレーティング環境の名前は「Solaris 9 4/03」になっています。 

  3. Solaris Product Registry 内の任意のソフトウェアコンポーネント 1 個の情報をブラウズします。


    % prodreg browse  -m "name"
    
    -m name

    name で名前を指定されたソフトウェアコンポーネントの情報を表示する

    システム上に name ソフトウェアのインスタンスが複数存在する場合は、次のコマンドを実行して Solaris Product Registry をブラウズします。


    % prodreg browse  -u name-UUID -i instance
    
    -u name-UUID

    一意の識別子 name-UUID で指定された name ソフトウェアコンポーネントの情報を表示する

    -i instance

    インスタンス番号 instance で指定された name ソフトウェアコンポーネントの情報を表示する

  4. ブラウズするそれぞれのソフトウェアコンポーネントに対して、手順 3 を繰り返します。

例 — コンポーネント名によるソフトウェア情報の表示

次の例では、コンポーネント名を指定してソフトウェア情報を表示します。


% prodreg browse
    BROWSE # +/-/.  UUID                                  #  NAME
    ======== =====  ====================================  =  ============
    1        -      root                                  1  System 
                                                             Registry
    2         +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 9 4/03 
                                                             System 
                                                             Software
    3         +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified
                                                             Software

% prodreg browse -m "Solaris 9 4/03 System Software"

例 — コンポーネントのブラウズ番号によるソフトウェア情報の表示

次の例では、prodreg browse コマンドの -n オプションでコンポーネントのブラウズ番号を指定して、ソフトウェアの情報を表示します。


% prodreg browse
    BROWSE # +/-/.  UUID                                  #  NAME
    ======== =====  ====================================  =  ============
    1        -      root                                  1  System 
                                                             Registry
    2         +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 9 4/03 
                                                             System 
                                                             Software
    3         +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified
                                                             Software

% prodreg browse -n 2

例 — コンポーネントの UUID によるソフトウェア情報の表示

次の例では、prodreg browse コマンドの -u オプションでコンポーネントの UUID を指定して、ソフトウェアの情報を表示します。


% prodreg browse
    BROWSE # +/-/.  UUID                                  #  NAME
    ======== =====  ====================================  =  ============
    1        -      root                                  1  System 
                                                             Registry
    2         +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 9 4/03 
                                                             System 
                                                             Software
    3         +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified
                                                             Software

% prodreg browse -u a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b

Product Registry を使ってソフトウェア属性を表示する方法 (prodreg CLI を使った作業)

prodreg info コマンドを使って、特定のソフトウェア属性を表示できます。prodreg info コマンドは、登録済みソフトウェアに関するさまざまな情報を表示します。次に例を挙げます。

  1. 端末ウィンドウを開きます。

  2. Solaris Product Registry をブラウズします。


    % prodreg browse
        BROWSE # +/-/.  UUID                                  #  NAME
        ======== =====  ====================================  =  ============
        1        -      root                                  1  System 
                                                                 Registry
        2         +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 9 4/03 
                                                                 System 
                                                                 Software
        3         +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified
                                                                 Software
  3. Solaris Product Registry 内の任意のソフトウェアコンポーネントの属性を表示します。

    prodreg info コマンドで出力された任意のソフトウェアコンポーネントの属性を表示できます。次のコマンドを使用します。


    % prodreg info  -m "name"
    
    -m name

    name で名前を指定されたソフトウェアコンポーネントの属性を表示する

  4. 表示するそれぞれのソフトウェアコンポーネントに対して、手順 3 を繰り返します。

例 — コンポーネント名によるソフトウェア属性の表示

次の例では、コンポーネント名を指定してソフトウェア属性を表示します。


% prodreg browse
    BROWSE # +/-/.  UUID                                  #  NAME
    ======== =====  ====================================  =  ============
    1        -      root                                  1  System 
                                                             Registry
    2         +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 9 4/03 
                                                             System 
                                                             Software
    3         +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified
                                                             Software

% prodreg info -m "Solaris 9 4/03 System Software"

例 — コンポーネントのブラウズ番号によるソフトウェア属性の表示

次の例では、prodreg info コマンドの -n オプションでコンポーネントのブラウズ番号を指定して、ソフトウェアの属性を表示します。


% prodreg browse
    BROWSE # +/-/.  UUID                                  #  NAME
    ======== =====  ====================================  =  ============
    1        -      root                                  1  System 
                                                             Registry
    2         +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 9 4/03 
                                                             System 
                                                             Software
    3         +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified
                                                             Software

% prodreg info -n 2

例 — コンポーネントの UUID によるソフトウェア属性の表示

次の例では、prodreg info コマンドの -u オプションでコンポーネントの UUID を指定して、ソフトウェア属性を表示します。


% prodreg browse
    BROWSE # +/-/.  UUID                                  #  NAME
    ======== =====  ====================================  =  ============
    1        -      root                                  1  System 
                                                             Registry
    2         +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 9 4/03 
                                                             System 
                                                             Software
    3         +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified
                                                             Software

% prodreg info -u a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b

ソフトウェアコンポーネント間の依存関係を確認する方法 (prodreg CLI を使った作業)

特定のソフトウェアコンポーネントに依存するコンポーネントを表示するには、prodreg info コマンドを使用します。特定のコンポーネントをアンインストールする前に、ソフトウェア製品間の依存関係を確認できます。

  1. 端末ウィンドウを開きます。

  2. Solaris Product Registry をブラウズします。


    % prodreg browse
        BROWSE # +/-/.  UUID                                  #  NAME
        ======== =====  ====================================  =  ============
        1        -      root                                  1  System 
                                                                 Registry
        2         +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 9 4/03 
                                                                 System 
                                                                 Software
        3         +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified
                                                                 Software

    Solaris Product Registry に確認するソフトウェアコンポーネントが表示されるまで prodreg browse コマンドを繰り返し実行します。prodreg browse コマンドを使って Solaris Product Registry をブラウズする方法については、インストール/アンインストールしたソフトウェアの情報を Solaris Product Registry を使って表示する方法 (prodreg CLI を使った作業)を参照してください。

  3. 特定のソフトウェアコンポーネントの依存関係を表示します。


    % prodreg info -m "name" -a "Dependent Components"
    
    -m name

    name で名前を指定されたソフトウェアコンポーネントの属性を表示する

    -a “Dependent Components”

    Dependent Components 属性の値を表示することにより、name ソフトウェアに依存するコンポーネントを表示する

    このコマンドは、name ソフトウェアに依存するソフトウェアコンポーネントの一覧を出力します。

例 — その他のソフトウェア製品に依存するコンポーネントの表示

次の例では、ExampleSoft というソフトウェア製品に依存するコンポーネントを一覧表示します。


% prodreg -m "ExampleSoft" -a "Dependent Components"
Dependent Components:
Name                         UUID                                  #
---------------------------  ------------------------------------  -
ExampleSoftA                 7f49ecvb-1ii2-11b2-a3f1-0800119u7e8e  1

損傷を受けたソフトウェア製品を特定する方法 (prodreg CLI を使った作業)

適切なアンインストーラを使用しないでインストール済みのソフトウェアファイルやパッケージを削除すると、システム上のソフトウェアが損傷を受ける可能性があります。損傷を受けたソフトウェアは、正しく機能しない場合があります。prodreg info コマンドを使って、ソフトウェア製品が損傷を受けていないかどうかを確認できます。

  1. 確認するソフトウェアの Solaris Product Registry 情報を表示します。


    % prodreg browse -m name
    BROWSE #  +/-/.  UUID                                  #  NAME
    ========  =====  ====================================  =  ============
    1         -      root                                  1  System 
                                                              Registry
    2          +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 9 4/03 
                                                              System
                                                              Software
    3          +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified 
                                                              Software
    4          -     name-UUID                              1  name
    233         .    component-a-pkg                           1  component-a
    234         .    component-b-pkg                           1
    -m name

    name で名前を指定されたソフトウェアコンポーネントの情報を表示する

    name-UUID

    name ソフトウェアコンポーネントの UUID を指定する

    component-a-pkg

    name ソフトウェアに依存する component-a コンポーネントのパッケージ名を指定する

    component-a

    name ソフトウェアに依存するコンポーネントの名前を指定する

    component-b-pkg

    name ソフトウェアに依存する component-b コンポーネントのパッケージ名を指定する

    前出の出力例では、Name 列に component-b-pkg エントリの名前が表示されていません。Solaris Product Registry にソフトウェアコンポーネント名が表示されない場合、そのコンポーネントは損傷を受けている可能性があります。

  2. ソフトウェアコンポーネントが損傷を受けていないかどうかを検証します。


    % prodreg info -u name-UUID -i 1 -d
    isDamaged=TRUE
    -u name-UUID

    name ソフトウェアコンポーネントの情報を表示する

    -i 1

    name ソフトウェアコンポーネントの 1 番目のインスタンスの情報を表示する

    -d

    name ソフトウェアコンポーネントの isDamaged 属性の値を表示する

    isDamaged=TRUE と出力された場合、name ソフトウェアコンポーネントは損傷を受けています。

  3. name-UUID ソフトウェアコンポーネントを構成するパッケージを特定します。


    % prodreg info -u name-UUID -i 1 -a PKGS
    pkgs:
    component-a-pkg component-b-pkg
    
  4. これらのパッケージがシステムにインストールされていることを確認します。


    % pkginfo component-a-pkg
    application component-a-pkg component-a
    
    % pkginfo component-b-pkg
    ERROR: information on "component-b-pkg" was not found

    pkginfo component-b-pkg コマンドのエラーメッセージは、component-b-pkg パッケージがシステムから削除されたことを示しています。name ソフトウェアコンポーネントは、component-b-pkg パッケージがないと正しく機能しない可能性があります。

例 — 損傷を受けたソフトウェアコンポーネントの特定

次の例では、ExampleSoft ソフトウェアが損傷を受けていないかどうかを確認します。


% prodreg browse -m Examplesoft
BROWSE #  +/-/.  UUID                                  #  NAME
========  =====  ====================================  =  ============
1         -      root                                  1  System 
                                                          Registry
2          +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 9 4/03 
                                                          System
                                                          Software
3          +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified 
                                                          Software
4          -     95842091-725a-8501-ef29-0472985982be  1  ExampleSoft
233         .    90209809-9785-b89e-c821-0472985982be  1  Example Doc
234         .    EXSOzzt                               1
235         .    EXSOblob                              1  Example Data

Solaris Product Registry の NAME 列で、ExampleSoft の子コンポーネント EXSOzzt のエントリがありません。ExampleSoft ソフトウェアは損傷を受けている可能性があります。prodreg info コマンドに - u-i、および -d オプションを指定して、ExampleSoft ソフトウェアが損傷を受けているかどうかを確認します。


% prodreg info -u 95842091-725a-8501-ef29-0472985982be -i 1 -d 
isDamaged=TRUE

前出のコマンドの出力結果から、ExampleSoft ソフトウェアが損傷を受けていることがわかります。prodreg info コマンドの -a PKGS オプションを実行して、ExampleSoft ソフトウェアパッケージを特定します。


% prodreg info 
     -u 95842091-725a-8501-ef29-0472985982be 
     -i 1 -a PKGS 
pkgs: 
EXSOzzt EXSOblob

pkginfo コマンドを実行して、システムに EXSOzzt および EXSOblob パッケージがインストールされていることを確認します。


% pkginfo EXSOzzt 
ERROR: information for "EXSOzzt" was not found 

% pkginfo EXSOblob
application EXSOblob       Example Data

pkginfo コマンドの出力結果から、EXSOzzt パッケージがシステムにインストールされていないことがわかります。

Solaris Product Registry からソフトウェアをアンインストールする方法 (prodreg CLI を使った作業)

prodreg uninstall コマンドを使って、システムからソフトウェアを削除できます。prodreg uninstall コマンドを使ってソフトウェアをアンインストールすると、指定のソフトウェアとそのソフトウェアに関連付けられている子コンポーネントがすべて削除されます。アンインストールするソフトウェアに依存するソフトウェアがないことを確認してから、ソフトウェアを削除してください。ソフトウェアの依存関係を確認する方法については、ソフトウェアコンポーネント間の依存関係を確認する方法 (prodreg CLI を使った作業)を参照してください。

ソフトウェアコンポーネントのアンインストールが完了したら、prodreg unregister -r コマンドを使って、ソフトウェアそのものと、その子コンポーネント全部を Solaris Product Registry から削除できます。

  1. スーパーユーザーになるか、同等の役割を引き受けます。

  2. アンインストールするソフトウェアの情報を表示します。


    # prodreg browse -u name-UUID
    BROWSE #  +/-/.  UUID                                  #  NAME
    ========  =====  ====================================  =  ============
    1         -      root                                  1  System 
                                                              Registry
    2          +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 9 4/03 
                                                              System
                                                              Software
    3          +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified 
                                                              Software
    1423       -     name-UUID                              1  name
    1436        .    component-a-UUID                          1  component-a
    1437        -    component-b-UUID                          1  component-b
    1462         .   component-c-UUID                          1  component-c
    
    -u name-UUID

    一意の識別子 name-UUID で指定されたソフトウェアコンポーネントの情報を表示する

    name

    一意の識別子 name-UUID でアンインストールするソフトウェアコンポーネントの名前を指定する

    . component-a-UUID

    name ソフトウェアによって必要とされているソフトウェアコンポーネント component-a の一意の識別子を指定する

    component-a

    name ソフトウェアによって必要とされているコンポーネントの名前を指定する

    - component-b-UUID

    name ソフトウェアによって必要とされているソフトウェアコンポーネント component-b の一意の識別子を指定する。ハイフン (-) は、component-b がその他のソフトウェアコンポーネントを必要としていることを表す

    component-b

    name ソフトウェアによって必要とされているソフトウェアコンポーネントの名前を指定する

    . component-c-UUID

    component-b ソフトウェアによって必要とされているソフトウェアコンポーネント component-c の一意の識別子を指定する

    component-c

    component-b ソフトウェアによって必要とされているソフトウェアコンポーネントの名前を指定する

  3. ソフトウェアをアンインストールします。


    # prodreg uninstall -u name-UUID 
    
  4. アンインストールするソフトウェアの依存関係を確認します。


    # prodreg info -u name-UUID
    Title: name
    .
    .
    .
    Child Components:
    Name                        UUID                                  #
    --------------------------  ------------------------------------  -
    component-a                    component-a-UUID                        1
    component-b                    component-b-UUID                        1
    
    Required Components:
    Name                        UUID                                  #
    --------------------------  ------------------------------------  -
    component-a                    component-a-UUID                        1
    component-b                    component-b-UUID                        1

    prodreg info コマンドによって出力された次の情報を確認します。

    • 「Child Components」– name ソフトウェアコンポーネントに関連付けられたソフトウェアコンポーネントを一覧表示します。name ソフトウェアの登録を解除すると、その子コンポーネントの登録も解除されます。前出の prodreg info コマンドでは、すべての子コンポーネントが一覧表示されます。これらの子コンポーネントの登録を解除してもよいかどうか確認してください。

    • 「Required Components」– name ソフトウェアによって必要とされているソフトウェアコンポーネントを一覧表示します。ソフトウェアコンポーネントは、子コンポーネント以外のコンポーネントを必要とする場合があります。コンポーネントとともにアンインストールされ、登録を解除されるのは、子コンポーネントだけです。

    • 「Dependent Components」– name ソフトウェアがないと実行できないコンポーネントを一覧表示します。name ソフトウェアの登録を解除すると、その依存コンポーネントの登録も解除されます。前出の prodreg info コマンドでは、すべての依存コンポーネントが一覧表示されます。これらの依存コンポーネントの登録を解除してもよいかどうか確認してください。

    前出の出力例では、name ソフトウェアに依存コンポーネントはありません。

  5. name ソフトウェアの子コンポーネントの依存関係を確認します。


    # prodreg info -u component-a-UUID -i 1 -a "Dependent Components"
    Dependent Components:
    Name                         UUID                                  #
    ---------------------------  ------------------------------------  -
    name                          name-UUID                             1
    
    # prodreg info -u component-b-UUID -i 1 -a "Dependent Components"
    Dependent Components:
    Name                         UUID                                  #
    ---------------------------  ------------------------------------  -
    name                          name-UUID                             1
    
    # prodreg info -u component-c-UUID -i 1 -a "Dependent Components"
    Dependent Components:
    Name                         UUID                                  #
    ---------------------------  ------------------------------------  -
    component-b                     component-b-UUID                        1

    前出の出力例では、name ソフトウェアの子コンポーネントに依存するソフトウェアはありません。

  6. ソフトウェアコンポーネントと子コンポーネントの登録を解除します。


    # prodreg unregister -r -u name-UUID -i 1
    
    -r

    一意の識別子 name-UUID を指定して、ソフトウェアとその子コンポーネント全部の登録を再帰的に解除する

    -u name-UUID

    登録を解除するソフトウェアを表す一意の識別子を指定する

    -i 1

    登録を解除するソフトウェアのインスタンスを指定する

例 — ソフトウェアコンポーネントのアンインストール

次の例では、ExampleSoft ソフトウェアとその子コンポーネントすべてをアンインストールします。


# prodreg browse -m "ExampleSoft"
BROWSE #  +/-/.  UUID                                  #  NAME
========  =====  ====================================  =  ============
1         -      root                                  1  System 
                                                          Registry
2          +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 9 4/03 
                                                          System
                                                          Software
3          +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified 
                                                          Software
1423       -     95842091-725a-8501-ef29-0472985982be  1  ExampleSoft
1436        .    90209809-9785-b89e-c821-0472985982be  1  Example Doc
1437        -    EXSOzzt                               1  Example Data
1462         .   EXSOblob                              1  Example Data

# prodreg uninstall -u 95842091-725a-8501-ef29-0472985982be -i 1

# prodreg info -u 95842091-725a-8501-ef29-0472985982be
Title: ExampleSoft Software
.
.
.
Child Components:
Name                        UUID                                  #
--------------------------  ------------------------------------  -
Example Doc                 90209809-9785-b89e-c821-0472985982be  1
Example Data                EXSOzzt                               1

Required Components:
Name                        UUID                                  #
--------------------------  ------------------------------------  -
Example Doc                 90209809-9785-b89e-c821-0472985982be  1
Example Data                EXSOzzt                               1

# prodreg info -u 90209809-9785-b89e-c821-0472985982be -i 1 
    -a "Dependent Components"
Dependent Components:
Name                         UUID                                  #
---------------------------  ------------------------------------  -
ExampleSoft                  95842091-725a-8501-ef29-0472985982be  1

# prodreg info -u EXSOzzt -i 1 -a "Dependent Components"
Dependent Components:
Name                         UUID                                  #
---------------------------  ------------------------------------  -
ExampleSoft                  95842091-725a-8501-ef29-0472985982be  1

# prodreg info -u EXSOblob -i 1 -a "Dependent Components"
Dependent Components:
Name                         UUID                                  #
---------------------------  ------------------------------------  -
Example Data                 EXSOzzt                               1

# prodreg unregister -r -u 95842091-725a-8501-ef29-0472985982be -i 1

損傷を受けたソフトウェアを Product Registry からアンインストールする方法 (prodreg CLI を使った作業)

損傷を受けたソフトウェアコンポーネントを prodreg uninstall コマンドでアンインストールしようとすると、失敗します。これは、ソフトウェアコンポーネントのアンインストールプログラムがシステムから削除されている場合に発生する現象です。

システム上にソフトウェアコンポーネントのアンインストールプログラムがない場合は、次の手順に従ってアンインストールを行なってください。

  1. スーパーユーザーになるか、同等の役割を引き受けます。

  2. アンインストールするソフトウェアの情報を表示します。


    # prodreg browse -m "name"
    BROWSE #  +/-/.  UUID                                  #  NAME
    ========  =====  ====================================  =  ============
    1         -      root                                  1  System 
                                                              Registry
    2          +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 9 4/03 
                                                              System
                                                              Software
    3          +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified 
                                                              Software
    4           -    UUID                                  1  name
    1436        .    component-a-UUID                         1  component-a
    1437        .    component-b-UUID                         1  
    -m name

    アンインストールする name ソフトウェアコンポーネントの 情報を表示する

    UUID

    アンインストールするソフトウェアコンポーネントの UUID を指定する

    . component-a-UUID

    component-a ソフトウェアコンポーネントの UUID を指定する

    component-a

    name ソフトウェアの子ソフトウェアコンポーネントの名前を指定する

    . component-b-UUID

    name ソフトウェアの子ソフトウェアコンポーネントの UUID を指定する

    前出の出力例では、component-b-UUID エントリにコンポーネント名が関連付けられていません。このように名前の値がない場合、このコンポーネントは損傷を受けている可能性があります。

  3. ソフトウェアをアンインストールします。


    # prodreg uninstall -u UUID -i 1
    The install program requested could not be found
    -u UUID

    アンインストールするソフトウェアコンポーネントの UUID を指定する

    -i 1

    アンインストールするソフトウェアのインスタンスを指定する

    前出のエラーメッセージは、システム上にアンインストールプログラムが存在しないことを示しています。

  4. ソフトウェアコンポーネントのアンインストールプログラムを特定します。


    # prodreg info -m "name" -a uninstallprogram
    uninstallprogram: /usr/bin/java -mx64m -classpath 
    uninstaller-location uninstall_name
    
    -m name

    name ソフトウェアコンポーネントの情報を表示する

    -a uninstallprogram

    name ソフトウェアコンポーネントに関連付けられたアンインストールプログラムの情報を表示する

    uninstaller-location

    name ソフトウェアコンポーネントのアンインストールプログラムの登録場所を指定する

  5. 登録場所にアンインストーラが存在するかどうか確認します。


    # ls uninstaller-location
    uninstaller-location:
    No such file or directory

    ls(1) コマンドの出力結果から、登録場所にアンインストールプログラムが存在しないことがわかります。

  6. システムからソフトウェアを削除します。

    次のいずれかの方法で削除できます。

    • システムのバックアップを使用できる場合は、次の手順に従います。

      1. バックアップからアンインストールプログラムをロードします。

      2. 端末ウィンドウなどのシェルコマンド行インタフェースからアンインストールプログラムを実行します。

    • バックアップのアンインストールプログラムにアクセスできない場合は、次の手順に従います。

      1. ソフトウェアコンポーネントの登録を解除します。


        # prodreg unregister -u UUID -i 1
        
      2. 削除するソフトウェアによって必要とされている登録済みコンポーネントをすべて削除します。


        # pkgrm component-a-UUID
        

例 — 損傷を受けたソフトウェアのアンインストール

次の例では、損傷を受けた ExampleSoft ソフトウェアをアンインストールします。この例では、システムバックアップ上のアンインストールプログラムにはアクセスできないものとします。


# prodreg browse -m Examplesoft
BROWSE #  +/-/.  UUID                                  #  NAME
========  =====  ====================================  =  ============
1         -      root                                  1  System 
                                                          Registry
2          +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 9 4/03 
                                                          System
                                                          Software
3          +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified 
                                                          Software
4          -     95842091-725a-8501-ef29-0472985982be  1  ExampleSoft
233         .    90209809-9785-b89e-c821-0472985982be  1  Example Doc
234         .    EXSOzzt                               1
235         .    EXSOblob                              1  Example Data

# prodreg uninstall -u 95842091-725a-8501-ef29-0472985982be -i 1
The install program requested could not be found

# prodreg info -m "ExampleSoft" -a uninstallprogram
uninstallprogram: /usr/bin/java -mx64m -classpath 
/var/sadm/prod/org.example.ExampleSoft/987573587 uninstall_ExampleSoft

# ls /var/sadm/prod/org.example.ExampleSoft/987573587
/var/sadm/prod/org.example.ExampleSoft/987573587:
No such file or directory

# prodreg unregister -u 95842091-725a-8501-ef29-0472985982be -i 1

# pkgrm EXSOblob

損傷を受けたソフトウェアコンポーネントを再インストールする方法 (prodreg CLI を使った作業)

損傷を受けたソフトウェアコンポーネントに依存するソフトウェアがある場合は、損傷を受けたコンポーネントを再インストールできます。損傷を受けたコンポーネントと依存ソフトウェアをアンインストールする必要はありません。prodreg unregister コマンドの -f オプションを実行して、損傷を受けたコンポーネントの登録を強制的に解除し、インストールし直します。

  1. スーパーユーザーになるか、同等の役割を引き受けます。

  2. 再インストールするソフトウェアの情報を表示します。


    # prodreg browse -m "name"
    BROWSE #  +/-/.  UUID                                  #  NAME
    ========  =====  ====================================  =  ============
    1         -      root                                  1  System 
                                                              Registry
    2          +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 9 4/03 
                                                              System
                                                              Software
    3          +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified 
                                                              Software
    4           .    UUID                                  1  name
    
    -m name

    再インストールする name ソフトウェアコンポーネントの情報を表示する

    UUID

    再インストールするソフトウェアコンポーネントの UUID を指定する

  3. 再インストールするソフトウェアに依存するソフトウェアを特定します。


    # prodreg info -m "name" -a "Dependent Components"
    Dependent Components:
    Name                         UUID                                  #
    ---------------------------  ------------------------------------  -
    component-a                     component-a-UUID                        1
    -m name

    再インストールするソフトウェアコンポーネントの名前を name で指定する

    -a “Dependent Components”

    name ソフトウェアに依存するコンポーネントを表示する

    component-a

    name ソフトウェアに依存するソフトウェアコンポーネントの名前を指定する

    component-a-UUID

    component-a ソフトウェアコンポーネントの UUID を指定する

    component-a ソフトウェアコンポーネントは、再インストールするソフトウェアに依存しています。component-a の登録を解除しないで name ソフトウェアを再インストールする場合は、name ソフトウェアの登録を強制的に解除したあと、name ソフトウェアを再インストールします。

  4. 再インストールするソフトウェアコンポーネントだけの登録を解除します。


    # prodreg unregister -f -u UUID
     
    
  5. ソフトウェアコンポーネントを再インストールします。


    # /usr/bin/java -cp /usr/installers/installer
    
    installer

    name ソフトウェアのインストールプログラムの名前を指定する

例 — 損傷を受けたソフトウェアコンポーネントの再インストール

次の例では、損傷を受けたソフトウェアコンポーネント ComponentSoft を、依存コンポーネントである ExampleSoft の登録解除やアンインストールを行うことなく再インストールします。


# prodreg browse -m "ComponentSoft"
BROWSE #  +/-/.  UUID                                  #  NAME
========  =====  ====================================  =  ============
1         -      root                                  1  System 
                                                          Registry
2          +     a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b  1  Solaris 9 4/03 
                                                          System
                                                          Software
3          +     8f64eabf-1dd2-11b2-a3f1-0800209a5b6b  1  Unclassified 
                                                          Software
4           .    86758449-554a-6531-fe90-4352678362fe  1  ComponentSoft

# prodreg info -m "ComponentSoft" -a "Dependent Components"
Dependent Components:
Name                         UUID                                  #
---------------------------  ------------------------------------  -
ExampleSoft                  95842091-725a-8501-ef29-0472985982be  1

# prodreg unregister -f -u 86758449-554a-6531-fe90-4352678362fe -i 1

# /usr/bin/java -cp /usr/installers/org.example.componentsoft

Admintool によるソフトウェアパッケージの追加と削除

Solaris オペレーティングシステム には Admintool が組み込まれています。このツールは、ソフトウェアパッケージの追加と削除など、いくつかの管理作業を実行するためのグラフィカルユーザーインタフェースです。特に、Admintool を使用すると次の作業を行うことができます。

Admintool を使ってソフトウェアパッケージを追加する方法

  1. スーパーユーザーになります。

    Admintool を使ってソフトウェアパッケージを追加または削除する場合、sysadmin グループ (グループ 14) のメンバー以外のユーザーは、スーパーユーザーになるか、同等の役割を引き受ける必要があります。

  2. Solaris 9 Software CD または DVD をドライブに挿入します。

    ボリュームマネージャが自動的に CD をマウントします。

  3. Admintool を起動します。


    # admintool &
    

    「ユーザー (Users)」ウィンドウが表示されます。

  4. 「ブラウズ (Browse)」メニューから「ソフトウェア (Software)」を選択します。

    「ソフトウェア (Software)」ウィンドウが表示されます。

  5. 「編集 (Edit)」メニューから「追加 (Add)」を選択します。

    「ソースメディアの設定 (Set Source Media)」ウィンドウが表示されます。必要であれば、インストールメディアへのパスを指定して、「了解 (OK)」をクリックします。デフォルトのパスは、マウント済みの Solaris CD です。

    「ソフトウェアを追加 (Add Software)」ウィンドウが表示されます。

    「ソフトウェアを追加 (Add Software) 」画面。ソフトウェア区画、説明区画、ソースメディアの設定ボタンの他に、5 つのボタンが表示されています。
  6. ローカルシステムにインストールするソフトウェアを選択します。

    ウィンドウの「ソフトウェア (Software)」部分で、インストールするソフトウェアに対応するチェックボックスをクリックします。

  7. 「追加」をクリックします。

    パッケージがインストールされるごとに、コマンドツールウィンドウが表示され、インストールの出力が示されます。

    「ソフトウェア (Software)」ウィンドウがリフレッシュされて、追加されたばかりのパッケージが表示されます。

Admintool を使ってソフトウェアパッケージを削除する方法

  1. スーパーユーザーになります。

    Admintool を使ってソフトウェアパッケージを追加または削除する場合、sysadmin グループ (グループ 14) のメンバー以外のユーザーは、スーパーユーザーになるか、同等の役割を引き受ける必要があります。

  2. Admintool を起動します。


    # admintool &
    

    「ユーザー (Users)」ウィンドウが表示されます。

  3. 「ブラウズ (Browse)」メニューから「ソフトウェア (Software)」を選択します。

    「ソフトウェア (Software)」ウィンドウが表示されます。

    「ソフトウェア (Software) 」画面。スクロール可能なリストには、インストールされているソフトウェアがアルファベット順に表示されています。
  4. ローカルシステムから削除するソフトウェアを選択します。

  5. 「編集」メニューから「削除」を選択します。

    本当にソフトウェアを削除するのかどうかを確認するための警告ポップアップウィンドウが表示されます。

  6. 「削除 (Delete)」をクリックして、ソフトウェアの削除を確定します。

    パッケージが削除されるごとに、コマンドツールウィンドウが表示され、もう一度ソフトウェアを削除するのかどうか確認されます。yn、または q を入力します。ソフトウェアを削除することを選択した場合、削除プロセスからの出力が表示されます。

パッケージコマンドによるソフトウェアパッケージの追加と削除

この節では、パッケージコマンドを使ってパッケージを追加、検査、削除する方法について説明します。

ソフトウェアパッケージを追加する方法 (pkgadd)

  1. スーパーユーザーになるか、同等の役割を引き受けます。

  2. インストール済みのパッケージの中で、追加しようとしているものと同じ名前のものがあれば、すべて削除します。

    この手順によって、追加および削除されたソフトウェアの正しい記録が取れます。同じアプリケーションの複数のバージョンをシステムで管理する場合もあります。ソフトウェアの複数のコピーを管理する方法については、パッケージの削除に関するガイドラインを、その作業手順については、ソフトウェアパッケージを削除する方法 (pkgrm)を参照してください。

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


    # pkgadd -a admin-file -d device-name pkgid ... 

    -a admin-file

    (省略可能) インストール時に pkgadd コマンドが参照する管理ファイルを示す。管理ファイルの使用方法については、管理ファイルの使用を参照。

    -d device-name

    ソフトウェアパッケージへの絶対パスを指定する。device-name には、デバイス、ディレクトリ、またはスプールディレクトリへのパスを指定できる。パッケージのあるパスを指定しないと、pkgadd コマンドはデフォルトのスプールディレクトリ (/var/spool/pkg) をチェックする。パッケージがそこにない場合、パッケージのインストールは失敗する。

    pkgid

    (省略可能) インストールする 1 つまたは複数のパッケージの名前を空白で区切って指定する。この引数を省略すると、使用可能なすべてのパッケージがインストールされる。

    パッケージのインストール中に pkgadd コマンドによって問題が検出されると、その問題に関連するメッセージに続いて、次のプロンプトが表示されます。


    Do you want to continue with this installation?

    このプロンプトには、yesno、または quit のいずれかで応答します。複数のパッケージを指定した場合は、no と入力して、インストール中のパッケージのインストールを中止してください。他のパッケージのインストールが続行されます。インストールを中止する場合は、quit と入力してください。

  4. 指定したパッケージが正常にインストールされていることを確認します。


    # pkgchk -v pkgid
    

    エラーがない場合は、インストールされたファイルのリストが返されます。エラーがある場合は、pkgchk コマンドによってエラーが報告されます。

例 — マウント済みの CD からソフトウェアパッケージを追加する

次の例は、マウント済みの Solaris 9 CD から SUNWpl5u パッケージをインストールする方法を示しています。また、パッケージファイルが正しくインストールされているかどうかを確認する方法も示します。


# pkgadd -d /cdrom/cdrom0/s0/Solaris_9/Product SUNWpl5u
	.
	.
	.
Installation of <SUNWpl5u> was successful.
# pkgchk -v SUNWpl5u
/usr
/usr/bin
/usr/bin/perl
/usr/perl5
/usr/perl5/5.00503
.
.
.

例 — リモートパッケージサーバーからソフトウェアパッケージをインストールする

インストールするパッケージがリモートシステムから利用できる場合は、そのパッケージが (パッケージ形式で) 格納されているディレクトリを手動でマウントして、ローカルシステムにパッケージをインストールすることができます。

次の例は、リモートシステムからソフトウェアパッケージをインストールする方法を示しています。この例では、package-server というリモートシステムの /latest-packages ディレクトリにソフトウェアパッケージが格納されているものとします。まず mount コマンドによってパッケージが /mnt にローカルにマウントされ、次に pkgadd コマンドによって SUNWpl5u パッケージがインストールされます。


# mount -F nfs -o ro package-server:/latest-packages /mnt
# pkgadd -d /mnt SUNWpl5u
	.
	.
	.
Installation of <SUNWpl5u> was successful.

オートマウンタがサイトで実行されている場合は、リモートパッケージサーバーを手動でマウントする必要はありません。代わりに、オートマウンタパス (この場合は /net/package-server/latest-packages) を、-d オプションの引数として使用します。


# pkgadd -d /net/package-server/latest-packages SUNWpl5u
	.
	.
	.
Installation of <SUNWpl5u> was successful.

次の例は、前の例に似ていますが、-a オプションを使用して noask-pkgadd という管理ファイルを指定している点が異なります。この管理ファイルについては、パッケージ追加時のユーザーの対話操作を省略するに説明されています。この例では、noask-pkgadd 管理ファイルがデフォルトの格納場所である /var/sadm/install/admin にあるものとします。


# pkgadd -a noask-pkgadd -d /net/package-server/latest-packages SUNWpl5u
	.
	.
	.
Installation of <SUNWpl5u> was successful.

ソフトウェアパッケージをスプールディレクトリに追加する

使用頻度の高いインストール済みパッケージを、スプールディレクトリにコピーしておくと便利です。パッケージをデフォルトのスプールディレクトリ /var/spool/pkg にコピーする場合、pkgadd コマンドを使用するときに、コピー元のパッケージの位置 (-d device-name 引数) を指定する必要はありません。pkgadd コマンドは、デフォルトで /var/spool/pkg ディレクトリを調べて、コマンド行に指定されたパッケージをすべて見つけます。パッケージをスプールディレクトリにコピーすることと、パッケージをシステム上にインストールすることとは異なることに注意してください。

ソフトウェアパッケージをスプールディレクトリに追加する方法 (pkgadd)

  1. スーパーユーザーになるか、同等の役割を引き受けます。

  2. スプール済みのパッケージの中で、追加しようとしているものと同じ名前のものがあれば、すべて削除します。

    スプール済みのパッケージを削除する方法については、例 — スプールされたソフトウェアパッケージを削除するを参照してください。

  3. ソフトウェアパッケージをスプールディレクトリに追加します。


    # pkgadd -d device-name -s spooldir pkgid...

    -d device-name

    ソフトウェアパッケージへの絶対パスを指定する。device-name には、デバイス、ディレクトリ、またはスプールディレクトリへのパスを指定できる。

    -s spooldir

    パッケージがスプールされるスプールディレクトリの名前を指定する。spooldir を指定する必要がある。

    pkgid

    (省略可能) スプールディレクトリに追加する 1 つまたは複数のパッケージの名前を空白で区切って指定する。この引数を省略すると、使用可能なすべてのパッケージがコピーされる。 

  4. 指定したパッケージがスプールディレクトリに正常にコピーされていることを確認します。


    $ pkginfo -d spooldir | grep pkgid
    

    pkgid が正常にコピーされると、pkginfo コマンドによって、pkgid に関する 1 行の情報が返されます。正常にコピーされなかった場合は、pkginfo コマンドによってシステムプロンプトが返されます。

例 — マウント済みの CD からスプールディレクトリを設定する

次の例は、SUNWman パッケージをマウント済みの SPARC Solaris 9 CD からデフォルトのスプールディレクトリ (/var/spool/pkg) に転送する方法を示しています。


# pkgadd -d /cdrom/cdrom0/s0/Solaris_9/Product -s /var/spool/pkg SUNWman
Transferring <SUNWman> package instance

例 — リモートソフトウェアパッケージサーバーからスプールディレクトリを設定する

コピーするパッケージがリモートシステムから利用できる場合は、そのパッケージが (パッケージ形式で) 格納されているディレクトリを手動でマウントして、ローカルスプールディレクトリにパッケージをコピーすることができます。

次の例は、このためのコマンドを示しています。この例では、package-server というリモートシステムの /latest-packages ディレクトリにソフトウェアパッケージが格納されているものとします。まず mount コマンドによってパッケージが /mnt にローカルにマウントされ、次に pkgadd コマンドによって SUNWpl5p パッケージが /mnt からデフォルトのスプールディレクトリ (/var/spool/pkg) にコピーされます。


# mount -F nfs -o ro package-server:/latest-packages /mnt
# pkgadd -d /mnt -s /var/spool/pkg SUNWpl5p
Transferring <SUNWpl5p> package instance

オートマウンタが実行されている場合は、リモートパッケージサーバーを手動でマウントする必要はありません。代わりに、オートマウンタパス (この場合は、/net/package-server/latest-packages) を、-d オプションの引数として使用してください。


# pkgadd -d /net/package-server/latest-packages -s /var/spool/pkg SUNWpl5p
Transferring <SUNWpl5p> package instance

例 — デフォルトのスプールディレクトリからソフトウェアパッケージをインストールする

次の例は、デフォルトのスプールディレクトリから SUNWpl5p パッケージをインストールする方法を示しています。オプションを何も指定しないと、pkgadd コマンドは /var/spool/pkg ディレクトリを検索して名前付きのパッケージを見つけます。


# pkgadd SUNWpl5p
	.
	.
	.
Installation of <SUNWpl5p> was successful.

インストール済みのすべてのパッケージに関する情報を表示する方法 (pkginfo)

pkginfo コマンドを使用して、インストール済みのパッケージに関する情報を表示します。


$ pkginfo

例 — インストール済みのすべてのパッケージを表示する

次は、システムがスタンドアロンまたはサーバーのどちらであるかにかかわらず、pkginfo コマンドが、ローカルシステムにインストールされているすべてのパッケージを表示する例です。基本カテゴリ、パッケージ名、およびパッケージの説明が表示されています。


$ pkginfo
system      SUNWaccr       System Accounting, (Root)
system      SUNWaccu       System Accounting, (Usr)
system      SUNWadmap      System administration applications
system      SUNWadmc       System administration core libraries
.
.
.

例 — ソフトウェアパッケージに関する詳細情報を表示する


$ pkginfo -l SUNWcar
   PKGINST:  SUNWcar
      NAME:  Core Architecture, (Root)
  CATEGORY:  system
      ARCH:  sparc.sun4u
   VERSION:  11.9.0,REV=2001.10.16.17.05
   BASEDIR:  /
    VENDOR:  Sun Microsystems, Inc.
      DESC:  core software for a specific hardware platform group
    PSTAMP:  crash20011016171723
  INSTDATE:  Nov 02 2001 08:53
   HOTLINE:  Please contact your local service provider
    STATUS:  completely installed
     FILES:    111 installed pathnames
                36 shared pathnames
                40 directories
                56 executables
             17626 blocks used (approx)

インストール済みのソフトウェアパッケージの整合性を検査する方法 (pkgchk)

  1. スーパーユーザーになるか、同等の役割を引き受けます。

  2. インストール済みのパッケージの状態を調べます。


    # pkgchk -a| -c -v pkgid ...
    # pkgchk -d spooldir pkgid ...

    -a

    ファイルの属性と内容 (デフォルト) ではなく、ファイルの属性 (つまりアクセス権) だけを検査することを指定する。 

    -c

    ファイルの内容と属性 (デフォルト) ではなく、ファイルの内容だけを検査することを指定する。 

    -v

    冗長モードを指定する。このモードでは、処理されるたびにファイル名が表示される。 

    -d spooldir

    スプールディレクトリへの絶対パスを指定する。 

    pkgid

    (省略可能) 1 つまたは複数のパッケージの名前を空白で区切って指定する。pkgid を指定しない場合は、システムにインストールされているすべてのソフトウェアパッケージが検査される。

例 — インストール済みのソフトウェアパッケージの内容を検査する

次の例は、パッケージの内容を検査する方法を示しています。


# pkgchk -c SUNWbash

エラーがない場合は、システムプロンプトが返されます。エラーがある場合は、pkgck コマンドによってエラーが報告されます。

例 — インストール済みのソフトウェアパッケージのファイル属性を検査する

次の例は、パッケージのファイル属性を検査する方法を示しています。


# pkgchk -a SUNWbash

エラーがない場合は、システムプロンプトが返されます。エラーがある場合は、pkgck コマンドによってエラーが報告されます。

例 — スプールディレクトリにインストールされているソフトウェアパッケージを検査する

次の例は、スプールディレクトリ (/export/install/packages) にコピーされたソフトウェアパッケージを検査する方法を示しています。


# pkgchk -d /export/install/packages
## checking spooled package <SUNWadmap>
## checking spooled package <SUNWadmfw>
## checking spooled package <SUNWadmc>
## checking spooled package <SUNWsadml>

注 –

スプールされたパッケージの検査には限界があります。これは、パッケージがインストールされないとすべての情報を検査できないからです。


ソフトウェアパッケージを削除する

ソフトウェアパッケージを削除 (アンインストール) するときは、このパッケージの追加 (インストール) 時に使用した関連ツールを使用します。たとえば、Web Start インストーラを使ってインストールしたソフトウェアは、Web Start アンインストーラでアンインストールします。


注意 – 注意 –

ソフトウェアパッケージを削除するのに rm コマンドを使用しないでください。


ソフトウェアパッケージを削除する方法 (pkgrm)

  1. スーパーユーザーになるか、同等の役割を引き受けます。

  2. インストール済みのパッケージを削除します。


    # pkgrm pkgid... 
    

    pkgid は、削除する 1 つまたは複数のパッケージの名前 (空白で区切られている) を識別します。この引数を省略すると、使用可能なパッケージがすべて削除されます。

例 — ソフトウェアパッケージを削除する

次の例は、パッケージの削除方法を示しています。


# pkgrm SUNWctu

The following package is currently installed:
   SUNWctu         Netra ct usr/platform links (64-bit)
                   (sparc.sun4u) 11.9.0,REV=2001.07.24.15.53

Do you want to remove this package? y

## Removing installed package instance <SUNWctu>
## Verifying package dependencies.
## Processing package information.
## Removing pathnames in class <none>
.
.
.

例 — スプールされたソフトウェアパッケージを削除する

次の例は、スプールされたパッケージの削除方法を示しています。


# pkgrm -s /export/pkg SUNWdmfex.u
The following package is currently spooled:
   SUNWdmfex.u           Sun Davicom 10/100Mb Ethernet Driver (64-bit)
                         (sparc.sun4u) 11.9.0,REV=2001.07.24.15.53

Do you want to remove this package? y
Removing spooled package instance <SUNWdmfex.u>