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-