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

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