Go to main content

Oracle® Solaris 11.4 のシステムの更新およびソフトウェアの追加

印刷ビューの終了

更新: 2018 年 8 月
 
 

パッケージのインストール状態情報の表示

pkg list コマンドは、現在のイメージにパッケージがインストールされているかどうか、および更新が使用可能かどうかを示します。オプションやオペランドを指定しない場合、pkg list コマンドによって、現在のイメージにインストールされているすべてのパッケージが一覧表示されます。結果を絞り込むには、パッケージ名を 1 つ以上指定します。パッケージ名にはワイルドカードを使用できます。引数が直接 pkg に渡され、シェルで展開されないようにするために、ワイルドカードは引用符で囲みます。

インストール済みのパッケージ

次の例に示すように、pkg list コマンドは、一致するパッケージごとに 1 行の情報を表示します。I 列内の「i」は、これらのパッケージがこのイメージにインストールされていることを示します。

$ pkg list '*java*8*'
NAME (PUBLISHER)                               VERSION             IFO
consolidation/java-8/java-8-incorporation      1.8.0.172.11-0      i--
runtime/java/jre-8                             1.8.0.172.11        i--

パブリッシャー名がパッケージ名のあとで丸括弧で囲まれて表示されている場合、そのパブリッシャーは、このイメージのパブリッシャーの検索順序で先頭のパブリッシャーではないことを示します。この例で示されている両方のパッケージは、検索順序の先頭のパブリッシャーによって発行されています。パブリッシャーの検索順序およびスティッキネスの設定を参照してください。

インストール可能なパッケージ

このイメージにインストールされているパッケージと、インストールされていないが、インストール可能なパッケージの最新バージョンを一覧表示するには、-a オプションを使用します。

$ pkg list -a '*java*8*'
NAME (PUBLISHER)                               VERSION                    IFO
consolidation/java-8/java-8-incorporation      1.8.0.172.11-0             i--
developer/java/jdk-8                           1.8.0.172.11               ---
library/java/java-demo-8                       1.8.0.172.11               ---
runtime/java/jre-8                             1.8.0.172.11               i--
web/java-servlet/tomcat-8                      8.5.28-11.4.0.0.1.10.0     ---
web/java-servlet/tomcat-8/tomcat-admin         8.5.28-11.4.0.0.1.10.0     ---
web/java-servlet/tomcat-8/tomcat-examples      8.5.28-11.4.0.0.1.10.0     ---

この出力は、開発者キット、デモライブラリ、および tomcat パッケージが利用可能でこのイメージ内にインストールできることを示しています。

最新のパッケージ

このイメージにインストールできないパッケージも含めて、一致するすべてのパッケージの最新バージョンを一覧表示するには、-n オプションを使用します。

$ pkg list -n '*java*8*'
NAME (PUBLISHER)                               VERSION                    IFO
consolidation/java-8/java-8-incorporation      1.8.0.181.12-0             ---
developer/java/jdk-8                           1.8.0.181.12               ---
library/java/java-demo-8                       1.8.0.181.12               ---
runtime/java/jre-8                             1.8.0.181.12               ---
web/java-servlet/tomcat-8                      8.5.28-11.4.0.0.1.10.0     ---
web/java-servlet/tomcat-8/tomcat-admin         8.5.28-11.4.0.0.1.10.0     ---
web/java-servlet/tomcat-8/tomcat-examples      8.5.28-11.4.0.0.1.10.0     ---

tomcat パッケージは –a オプションで一覧表示されたパッケージと同じバージョンです。これらの tomcat パッケージはインストールできます。このリストのほかのパッケージは、–a オプションで一覧表示された同じパッケージより新しいバージョンです。これらのパッケージは –a オプションによって一覧表示されていないため、これらのパッケージをこのイメージにインストールできないことがわかります。これらのパッケージをインストールできないのは、インストールできるバージョンが、制約パッケージに示すように制約されているためです。これらのパッケージをシステムで取得するには、システムに pkg update を実行する必要があり、これによって新しいイメージが作成されます。

最新バージョンのパッケージが、廃止されたパッケージ (O 列に「o」が表示されている) または名前が変更されたパッケージ (O 列に「r」が表示されている) である場合があります。詳細は、パッケージの名前変更と廃止を参照してください。

更新が利用可能なパッケージ

-u オプションは、新しいバージョンが使用可能な、インストール済みの一致するすべてのパッケージを一覧表示します。最新のパッケージに示されているように、より新しいバージョンがあるパッケージの数が、このイメージ内で更新可能なパッケージの数より多い場合があります。以下に示すインストール済みパッケージに使用可能な更新がありますが、これらの更新を現在のイメージにインストールすることはできません。パッケージは、イメージの制約で許可されたバージョンにのみ更新できます。この制約は、インストール済みパッケージの依存関係およびパブリッシャーの構成によってイメージに課せられるものです。

$ pkg list -u '*java*8*'
NAME (PUBLISHER)                               VERSION                    IFO
consolidation/java-8/java-8-incorporation      1.8.0.172.11-0             i--
untime/java/jre-8                              1.8.0.172.11               i--

使用可能なすべてのパッケージ

このイメージにインストールできないパッケージも含めて、一致するすべてのパッケージの使用可能なすべてのバージョンを一覧表示するには、-af オプションを使用します。-f オプションは、-a オプションを使用しないと使用できません。これらの結果を絞り込むために、バージョン文字列の一部を指定する場合もあります。特殊なバージョン文字列 @latest を指定すると、-n オプションで表示されるのと同じ結果が表示されます。

$ pkg list -af jre-8
NAME (PUBLISHER)                               VERSION                    IFO
runtime/java/jre-8                             1.8.0.181.12               ---
runtime/java/jre-8                             1.8.0.172.11               i--
runtime/java/jre-8                             1.8.0.162.12               ---
...

パッケージの名前変更と廃止

次の例で、O 列の「o」はパッケージが廃止されたことを示し、O 列の「r」はパッケージの名前が変更されていることを示します。

$ pkg list -n jdk storage/storage-nas
NAME (PUBLISHER)                               VERSION                    IFO
developer/java/jdk                             1.7.0.999.99               --o
storage/storage-nas                            0.1-0.173.0.0.0.1.0        --r

廃止されたパッケージも名前が変更されたパッケージもインストールできません。

廃止されたパッケージをインストールしようとすると、インストールは失敗し、このイメージに必要な更新が存在しないというメッセージが表示されます。

$ pkg install developer/java/jdk
No updates necessary for this image.

パッケージの名前が変更されていないとしても、インストールが可能な類似パッケージを見つけることができる場合もあります。前の例では、jdk-8 はインストール可能であることがわかります。

名前が変更されたパッケージをインストールしようとすると、システムは、名前が変更されたパッケージの名前が変更された場所に、パッケージのインストールを試行します。

pkg info コマンドを使用して、名前が変更されたパッケージの新しい名前を判別します。パッケージはインストールされていないため、-r オプションを使用して、構成済みのパッケージリポジトリを照会します。次の例に示されている「Renamed to」行を参照してください。

$ pkg info -r storage/storage-nas
          Name: storage/storage-nas
         State: Not installed (Renamed)
    Renamed to: consolidation/osnet/osnet-incorporation
                pkg:/group/feature/storage-nas@0.5.11,5.11-0.173.0.0.0.0.0
     Publisher: solaris
       Version: 0.1
        Branch: 0.173.0.0.0.1.0
Packaging Date: Fri Aug 26 16:26:38 2011
          Size: 5.45 kB
          FMRI: pkg://solaris/storage/storage-nas@0.1-0.173.0.0.0.1.0:20110826T162638Z

storage/storage-nas パッケージをインストールしようとすると、group/feature/storage-nas パッケージが代わりにインストールされます (まだインストールされておらず、このイメージにインストール可能な場合)。

「Renamed to」に示すパッケージがすでにインストールされている場合、必要な更新が存在しないという報告がパッケージシステムから出されます。

特定バージョンに凍結されているパッケージ

F 列の「f」は、そのパッケージが凍結されていることを示します。パッケージが凍結されている場合は、凍結されたバージョンと一致するパッケージのみをインストールまたは更新できます。パッケージの凍結については、指定したバージョンへのパッケージのロックを参照してください。

$ pkg list -v entire
FMRI                                                                      IFO
pkg://solaris/entire@11.4-11.4.0.0.1.10.0:20180702T173343Z                i--
$ pkg freeze -c "Prevent update to SRU 1 until ready." entire@11.4-11.4.0
entire was frozen at 11.4-11.4.0
$ pkg list -v entire
FMRI                                                                      IFO
pkg://solaris/entire@11.4-11.4.0.0.1.10.0:20180702T173343Z                if-