prodreg コマンドは、Oracle Solaris Product Registry のコマンド行インタフェース (CLI) です。prodreg コマンドは、システム上のソフトウェアを管理するための複数のサブコマンドをサポートしています。
端末ウィンドウで prodreg コマンドを実行して、次の作業を行うことができます。
インストールおよび登録されているソフトウェアとソフトウェア属性の一覧表示。
System Software Localizations ディレクトリにインストールされている地域対応版のすべての Oracle Solaris システム製品の表示。
損傷を受けたソフトウェアの特定。
Oracle Solaris Product Registry のソフトウェアエントリの削除。
ソフトウェアや個々のソフトウェアパッケージのアンインストール。
コマンド行インタフェース経由で Oracle Solaris Product Registry を管理する方法については、prodreg(1M) のマニュアルページを参照してください。
Oracle Solaris Product Registry 内のソフトウェアに関する情報を確認するには、端末ウィンドウで prodreg コマンドのサブコマンド browse を実行します。
端末ウィンドウを開きます。
Oracle Solaris Product Registry の内容を表示します。
% prodreg browse BROWSE # +/-/. UUID # NAME ======== ===== ==================================== = ============ 1 - root 1 System Registry 2 + a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b 1 Solaris 10 System Software 3 + 8f64eabf-1dd2-11b2-a3f1-0800209a5b6b 1 Unclassified Software |
prodreg のサブコマンド browse では、登録済みソフトウェアに関する次の情報を表示できます。
prodreg browse コマンドを実行すると、Oracle Solaris Product Registry により、登録済みの各ソフトウェアコンポーネントの「ブラウズ番号」が生成されます。この番号を prodreg browse コマンドや prodreg info コマンドの引数に指定することにより、登録済みの特定のコンポーネントの下位コンポーネントを表示できます。
ブラウズ番号 (BROWSE#) は、システムのリブートや再インストールによって変更される可能性があります。ブラウズ番号をスクリプト内に記述したり、その他のログインセッションで再利用したりすることはできません。
このフィールドは、ソフトウェアコンポーネントが Oracle Solaris Product Registry に登録された子コンポーネントを持っているかどうかを示します。
このフィールドには、次の文字が表示されます。
+ - ソフトウェアコンポーネントは、現在表示されていないが子コンポーネントを持っていることを示します。
- - ソフトウェアコンポーネントは、現在表示されている子コンポーネントを持っていることを示します。
. - ソフトウェアコンポーネントが子コンポーネントを持っていないことを示します。
このフィールドには、Oracle Solaris Product Registry に格納されているソフトウェア固有の識別子が表示されます。
このフィールドには、システム上のソフトウェアコンポーネントのインスタンス番号が表示されます。システム上に複数のソフトウェアコンポーネントインスタンスがある場合、Oracle Solaris Product Registry はそれぞれのインスタンスに別々のインスタンス番号を割り当てます。
このフィールドには、ソフトウェアの地域対応化された名前が表示されます。この出力例では、Oracle Solaris OS の名前は「Oracle Solaris 10 System Software」になっています。
Oracle Solaris Product Registry 内の任意のソフトウェアコンポーネント 1 個の情報をブラウズします。
% prodreg browse -m "name" |
-m “name” コマンドは、name を名前に持つソフトウェアコンポーネントの情報を表示します。
システム上に name ソフトウェアのインスタンスが複数存在する場合は、次のコマンドを実行して Oracle Solaris Product Registry をブラウズします。
% prodreg browse -u name-UUID -i instance -n number |
一意の識別子 name-UUID で指定された name ソフトウェアコンポーネントの情報を表示します。
インスタンス番号 instance で指定された name ソフトウェアコンポーネントの情報を表示します。
コンポーネントのブラウザ番号 number を参照することでソフトウェアの情報を表示します。
次の例では、コンポーネント名を指定してソフトウェア情報を表示します。
% prodreg browse BROWSE # +/-/. UUID # NAME ======== ===== ==================================== = ============ 1 - root 1 System Registry 2 + a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b 1 Solaris 10 System Software 3 + 8f64eabf-1dd2-11b2-a3f1-0800209a5b6b 1 Unclassified Software % prodreg browse -m "Solaris 10 System Software" |
次の例では、prodreg browse コマンドの -n オプションでコンポーネントのブラウズ番号を指定して、ソフトウェアの情報を表示します。
% prodreg browse BROWSE # +/-/. UUID # NAME ======== ===== ==================================== = ============ 1 - root 1 System Registry 2 + a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b 1 Solaris 10 System Software 3 + 8f64eabf-1dd2-11b2-a3f1-0800209a5b6b 1 Unclassified Software % prodreg browse -n 2 |
次の例では、prodreg browse コマンドの -u オプションでコンポーネントの UUID を指定して、ソフトウェアの情報を表示します。UUID は、Oracle Solaris Product Registry におけるソフトウェアの一意の識別子です。
% prodreg browse BROWSE # +/-/. UUID # NAME ======== ===== ==================================== = ============ 1 - root 1 System Registry 2 + a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b 1 Solaris 10 System Software 3 + 8f64eabf-1dd2-11b2-a3f1-0800209a5b6b 1 Unclassified Software % prodreg browse -u a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b |
prodreg info コマンドを使って、特定のソフトウェア属性を表示できます。
prodreg info コマンドは、登録済みソフトウェアに関するさまざまな情報を表示します。次に例を挙げます。
ソフトウェアコンポーネントの名前
ソフトウェアコンポーネントの説明
ソフトウェアの必須コンポーネント
このソフトウェアを必要とするその他のコンポーネント
ソフトウェアのベースディレクトリ
ソフトウェアコンポーネントのパス
端末ウィンドウを開きます。
Oracle Solaris Product Registry の内容を表示します。
% prodreg browse BROWSE # +/-/. UUID # NAME ======== ===== ==================================== = ============ 1 - root 1 System Registry 2 + a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b 1 Solaris 10 System Software 3 + 8f64eabf-1dd2-11b2-a3f1-0800209a5b6b 1 Unclassified Software |
表示されたソフトウェアコンポーネントのいずれかの属性を表示します。
% prodreg info -m "name" |
-m “name” コマンドは、name を名前に持つソフトウェアコンポーネントの属性を表示します。
表示するソフトウェアコンポーネントごとに、手順 3 を繰り返します。
次の例では、コンポーネント名を指定してソフトウェア属性を表示します。
% prodreg browse BROWSE # +/-/. UUID # NAME ======== ===== ==================================== = ============ 1 - root 1 System Registry 2 + a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b 1 Solaris 10 System Software 3 + 8f64eabf-1dd2-11b2-a3f1-0800209a5b6b 1 Unclassified Software % prodreg info -m "Solaris 10 System Software" |
次の例では、prodreg info コマンドの -n オプションでコンポーネントのブラウズ番号を指定して、ソフトウェアの属性を表示します。
% prodreg browse BROWSE # +/-/. UUID # NAME ======== ===== ==================================== = ============ 1 - root 1 System Registry 2 + a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b 1 Solaris 10 System Software 3 + 8f64eabf-1dd2-11b2-a3f1-0800209a5b6b 1 Unclassified Software % prodreg info -n 2 |
次の例では、prodreg info コマンドの -u オプションでコンポーネントの UUID を指定して、ソフトウェア属性を表示します。UUID は、Oracle Solaris Product Registry におけるソフトウェアの一意の識別子です。
% prodreg browse BROWSE # +/-/. UUID # NAME ======== ===== ==================================== = ============ 1 - root 1 System Registry 2 + a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b 1 Solaris 10 System Software 3 + 8f64eabf-1dd2-11b2-a3f1-0800209a5b6b 1 Unclassified Software % prodreg info -u a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b |
特定のソフトウェアコンポーネントに依存するコンポーネントを表示するには、prodreg info コマンドを使用します。特定のコンポーネントをアンインストールする前に、ソフトウェア製品間の依存関係を確認できます。
端末ウィンドウを開きます。
Oracle Solaris Product Registry の内容を表示します。
% prodreg browse BROWSE # +/-/. UUID # NAME ======== ===== ==================================== = ============ 1 - root 1 System Registry 2 + a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b 1 Solaris 10 System Software 3 + 8f64eabf-1dd2-11b2-a3f1-0800209a5b6b 1 Unclassified Software |
確認するソフトウェアコンポーネントが表示されるまで、prodreg browse コマンドを繰り返します。prodreg browse コマンドを使って Oracle Solaris Product Registry をブラウズする方法の詳細については、「インストールまたはアンインストールしたソフトウェアの情報を表示する方法 (prodreg)」を参照してください。
特定のソフトウェアコンポーネントの依存関係を表示します。
% prodreg info -m "name" -a "Dependent Components" |
name で名前を指定されたソフトウェアコンポーネントの属性を表示します。
Dependent Components 属性の値を表示することにより、name ソフトウェアに依存するコンポーネントを表示します。
このコマンドの出力には、name ソフトウェアに依存するソフトウェアコンポーネントの一覧が表示されます。
次の例では、ExampleSoft というソフトウェア製品に依存するコンポーネントを一覧表示します。
% prodreg -m "ExampleSoft" -a "Dependent Components" Dependent Components: Name UUID # --------------------------- ------------------------------------ - ExampleSoftA 7f49ecvb-1ii2-11b2-a3f1-0800119u7e8e 1 |
適切なアンインストーラを使用しないでインストール済みのソフトウェアファイルやパッケージを削除すると、システム上のソフトウェアが損傷を受ける可能性があります。損傷を受けたソフトウェアは、正しく機能しない場合があります。prodreg info コマンドを使って、ソフトウェア製品が損傷を受けていないかどうかを確認できます。
確認するソフトウェアの Oracle Solaris Product Registry 情報を表示します。
% prodreg browse -m name |
ソフトウェアコンポーネントが損傷を受けていないかどうかを検証します。
% prodreg info -u name-UUID -i 1 -d |
name-UUID ソフトウェアコンポーネントを構成するパッケージを特定します。
% prodreg info -u name-UUID -i 1 -a PKGS |
このコマンドの出力に、複数のパッケージが表示されることもあります。
前の手順で表示されたパッケージがシステムにインストールされていることを確認するため、パッケージごとに pkginfo コマンドを実行します。
% pkginfo component-a-pkg % pkginfo component-b-pkg . . . |
次の例では、ExampleSoft ソフトウェアが損傷を受けていないかどうかを確認します。
% prodreg browse -m Examplesoft BROWSE # +/-/. UUID # NAME ======== ===== ==================================== = ============ 1 - root 1 System Registry 2 + a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b 1 Solaris 10 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 |
NAME フィールドに、ExampleSoft の子コンポーネント EXSOzzt のエントリがありません。ExampleSoft ソフトウェアは損傷を受けている可能性があります。prodreg info コマンドに -u、-i、および -d オプションを指定して、ExampleSoft ソフトウェアが損傷を受けているかどうかを確認します。
% prodreg info -u 95842091-725a-8501-ef29-0472985982be -i 1 -d isDamaged=TRUE |
isDamaged=TRUE という出力結果から、ExampleSoft ソフトウェアが損傷を受けていることがわかります。prodreg info コマンドの -a PKGS オプションを実行して、ExampleSoft ソフトウェアパッケージを特定します。
% prodreg info -u 95842091-725a-8501-ef29-0472985982be -i 1 -a PKGS pkgs: EXSOzzt EXSOblob |
パッケージ EXSOzzt と EXSOblob がシステムにインストールされていることを確認するために、pkginfo コマンドを使用します。
% pkginfo EXSOzzt ERROR: information for "EXSOzzt" was not found % pkginfo EXSOblob application EXSOblob Example Data |
pkginfo コマンドの出力結果から、EXSOzzt パッケージがシステムにインストールされていないことがわかります。したがって、ExampleSoft ソフトウェアは損傷を受けています。
prodreg uninstall コマンドを使って、システムからソフトウェアを削除できます。prodreg uninstall コマンドを使ってソフトウェアをアンインストールすると、指定のソフトウェアとそのソフトウェアに関連付けられている子コンポーネントがすべて削除されます。アンインストールするソフトウェアに依存するソフトウェアがないことを確認してから、ソフトウェアを削除してください。「ソフトウェアの依存関係を確認する方法 (prodreg)」を参照してください。
ソフトウェアのアンインストールが完了したら、prodreg unregister -r コマンドを使って、ソフトウェアそのものと、その子コンポーネント全部を Oracle Solaris Product Registry から削除できます。
スーパーユーザーになるか、同等の役割を引き受けます。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
アンインストールするソフトウェアの情報を表示します。
# prodreg browse -u name-UUID |
ソフトウェアをアンインストールします。
# prodreg uninstall -u name-UUID |
アンインストールするソフトウェアの依存関係を確認します。
# prodreg info -u name-UUID |
prodreg info コマンドによって出力された次の情報を確認します。
「Child Components」– name ソフトウェアコンポーネントに関連付けられたソフトウェアコンポーネントを一覧表示します。name ソフトウェアの登録を解除すると、その子コンポーネントの登録も解除されます。前出の prodreg info コマンドでは、すべての子コンポーネントが一覧表示されます。これらの子コンポーネントの登録を解除してもよいかどうか確認してください。
「Required Components」– name ソフトウェアによって必要とされているソフトウェアコンポーネントを一覧表示します。ソフトウェアコンポーネントは、子コンポーネント以外のコンポーネントを必要とする場合があります。コンポーネントとともにアンインストールされ、登録を解除されるのは、子コンポーネントだけです。
「Dependent Components」– name ソフトウェアがないと実行できないコンポーネントを一覧表示します。name ソフトウェアの登録を解除すると、その依存コンポーネントの登録も解除されます。prodreg info コマンドの出力結果に依存コンポーネントが含まれていた場合、それらの依存コンポーネントの登録を解除してもよいかどうか確認してください。
前出の出力例では、name ソフトウェアに依存コンポーネントはありません。
name ソフトウェアの子コンポーネントの依存関係を確認します。
# prodreg info -u component-a-UUID -i l -a "Dependent Components" |
この出力例では、name ソフトウェアの子コンポーネントに依存するソフトウェアはありません。
ソフトウェアコンポーネントとその子コンポーネントの登録を解除します。
# prodreg unregister -r -u name-UUID -i 1 |
一意の識別子 name-UUID を指定して、ソフトウェアとその子コンポーネント全部の登録を再帰的に解除します。
登録を解除するソフトウェアを表す一意の識別子を指定します。
登録を解除するソフトウェアのインスタンスを指定します。
次の例では、ExampleSoft ソフトウェアとその子コンポーネントすべてをアンインストールします。
# prodreg browse -m "ExampleSoft" BROWSE # +/-/. UUID # NAME ======== ===== ==================================== = ============ 1 - root 1 System Registry 2 + a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b 1 Solaris 10 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 |
損傷を受けたソフトウェアコンポーネントを prodreg uninstall コマンドでアンインストールしようとすると、失敗します。これは、ソフトウェアコンポーネントのアンインストールプログラムがシステムから削除されている場合に発生する現象です。
システム上にソフトウェアコンポーネントのアンインストールプログラムがない場合は、次の手順に従ってアンインストールを行なってください。
スーパーユーザーになるか、同等の役割を引き受けます。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
アンインストールするソフトウェアの情報を表示します。
# prodreg browse -m "name" |
ソフトウェアをアンインストールします。
# prodreg uninstall -u UUID -i 1 |
ソフトウェアコンポーネントのアンインストールプログラムを特定します。
# prodreg info -m "name" -a uninstallprogram |
登録場所にアンインストーラが存在するかどうか確認します。
# ls uninstaller-location uninstaller-location |
次のいずれかの方法でシステムからソフトウェアを削除します。
次の例では、損傷を受けた ExampleSoft ソフトウェアをアンインストールします。この例では、システムバックアップ上のアンインストールプログラムにはアクセスできないものとします。
# prodreg browse -m Examplesoft BROWSE # +/-/. UUID # NAME ======== ===== ==================================== = ============ 1 - root 1 System Registry 2 + a01ee8dd-1dd1-11b2-a3f2-0800209a5b6b 1 Solaris 10 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 |
損傷を受けたソフトウェアコンポーネントに依存するソフトウェアがある場合は、損傷を受けたコンポーネントと依存ソフトウェアをアンインストールするのではなく、損傷を受けたコンポーネントを再インストールできます。-f オプションを指定して prodreg unregister コマンドを実行すれば、損傷を受けたコンポーネントの登録を強制的に解除できます。その後、そのコンポーネントを再インストールできます。
スーパーユーザーになるか、同等の役割を引き受けます。
役割には、認証と特権コマンドが含まれます。役割の詳細については、『Solaris のシステム管理 (セキュリティサービス)』の「RBAC の構成 (作業マップ)」を参照してください。
再インストールするソフトウェアの情報を表示します。
# prodreg browse -m "name" |
再インストールするソフトウェアに依存するソフトウェアを特定します。
# prodreg info -m "name" -a "Dependent Components" |
再インストールするソフトウェアコンポーネントの登録を解除します。
# prodreg unregister -f -u UUID |
ソフトウェアコンポーネントを再インストールします。
# /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 10 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 |