pkg contents コマンドは、パッケージのファイルシステムの内容を表示します。オプションやオペランドを指定せずにこのコマンドを使用すると、現在のイメージにインストールされているすべてのパッケージのパス情報が表示されます。表示するパッケージの内容を指定するには、コマンドオプションを使用します。結果を絞り込むには、パッケージ名を 1 つ以上指定します。パッケージ名にはワイルドカードを使用できます。引数が直接 pkg に渡され、シェルで展開されないようにするために、ワイルドカードは引用符で囲みます。
contents サブコマンドと search サブコマンドはどちらも、パッケージの内容をクエリーします。pkg contents コマンドは、パッケージのアクションと属性を表示します。pkg search コマンドは、クエリーに一致するパッケージを一覧表示します。Comparing the pkg search and pkg contents Commandsも参照してください。
次の例では、pkg contents コマンドのデフォルト動作、つまり、このイメージにインストール可能なファイルシステムオブジェクトごとの path 属性値の表示が示されています。
$ pkg contents amp pkg: This package delivers no filesystem content, but may contain metadata. Use the -o option to specify fields other than 'path', or use the -m option to show the raw package manifests. $ pkg contents zip PATH usr/bin/zip usr/bin/zipcloak usr/bin/zipnote usr/bin/zipsplit usr/share/man/man1/zip.1 usr/share/man/man1/zipcloak.1 usr/share/man/man1/zipnote.1 usr/share/man/man1/zipsplit.1
pkg contents コマンドは、このイメージにインストール可能な内容のみ表示します。パッケージマニフェストを表示した場合 (-m オプションを使用)、zip パッケージに 12 個のファイルアクションがあることがわかります。この出力に表示されていない 4 つのファイルは、このイメージにインストールできないファイルです。このイメージは x86 アーキテクチャーです。表示されていないファイルは、SPARC アーキテクチャーの 4 つの /usr/bin ファイルです。バリアントとファセットについては、Controlling Installation of Optional Componentsを参照してください。
パス以外の情報を表示するには、またはパス情報のサブセットを表示するには、pkg contents コマンドの -t、-a、および -o オプションを使用します。
-t オプションは、file、link、depend などの選択するアクションタイプを指定します。パッケージアクションのリストについては、pkg(5) のマニュアルページを参照してください。コンマ区切りリストで複数のアクションタイプを指定するか、-t オプションを複数回指定できます。
-a オプションは、選択するアクションの属性値を指定します。各アクションタイプの属性のリストについては、pkg(5) のマニュアルページを参照してください。-a オプションは何度でも指定できます。
-o オプションは、表示する出力を指定します。-a オプションの説明に示されている属性の名前、または pkg(1) のマニュアルページにリストされている疑似属性のいずれかを指定できます。コンマ区切りリストで複数の属性引数を指定するか、-o オプションを複数回指定できます。それぞれの -o 引数は出力の 1 つの列です。
使用例 1 パッケージによってインストールされるファイルの属性の表示この例では、Listing Files Installed by a Packageの例にリストされているパスの追加の属性が表示されています。
$ pkg contents -o owner,group,mode,path zip OWNER GROUP MODE PATH root bin 0555 usr/bin/zip root bin 0555 usr/bin/zipcloak root bin 0555 usr/bin/zipnote root bin 0555 usr/bin/zipsplit root bin 0444 usr/share/man/man1/zip.1 root bin 0444 usr/share/man/man1/zipcloak.1 root bin 0444 usr/share/man/man1/zipnote.1 root bin 0444 usr/share/man/man1/zipsplit.1
-o オプションが指定されていない場合に表示されるデフォルトの出力は、path 属性の値です。次の出力は、oracle-rdbms-server-12-1-preinstall パッケージがファイル、リンク、またはディレクトリを直接提供しないことを示しています。
$ pkg contents -r oracle-rdbms-server-12-1-preinstall pkg: This package delivers no filesystem content, but may contain metadata. Use the -o option to specify fields other than 'path', or use the -m option to show the raw package manifests.
次のコマンドはすべて、oracle-rdbms-server-12-1-preinstall パッケージに set、signature、および depend アクションが含まれることを示しています。
$ pkg contents -rm oracle-rdbms-server-12-1-preinstall $ pkg contents -ro action.name oracle-rdbms-server-12-1-preinstall $ pkg contents -ro action.raw oracle-rdbms-server-12-1-preinstall使用例 2 アクションタイプの指定
次のコマンドは、oracle-rdbms-server-12-1-preinstall パッケージ内の各依存関係の、依存関係のタイプとパッケージ名を表示します。
$ pkg contents -rt depend -o type,fmri oracle-rdbms-server-12-1-preinstall TYPE FMRI group x11/diagnostic/x11-info-clients group x11/library/libxi group x11/library/libxtst group x11/session/xauth require compress/unzip require developer/assembler require developer/build/make使用例 3 アクション属性の指定
一部の依存関係にのみ関心がある場合は、-a オプションを使用して選択範囲を絞り込みます。
$ pkg contents -rt depend -a fmri='*lib*' -o type,fmri oracle-rdbms-server-12-1-preinstall TYPE FMRI group x11/library/libxi group x11/library/libxtst
デフォルトで、出力は、パスまたは -o オプションで指定された最初の属性によってソートされます。-s オプションを使用して、別の属性をソート鍵として指定できます。-s オプションは複数回指定できます。
次の例では、指定された属性は set アクションに固有であり、set アクションタイプを指定する必要はありません。
$ pkg contents -ra name=pkg.summary -a name=pkg.description -o name,value -s value oracle-rdbms-server-12-1-preinstall NAME VALUE pkg.summary Prerequisite package for Oracle Database 12.1 pkg.description Provides the set of Oracle Solaris packages required for installation and operation of Oracle Database 12.使用例 4 メディエーションに含まれているすべてのリンクの表示
次のコマンドは、python-34 パッケージによって提供される python メディエーションに参加しているリンクの path と target を示しています。複数バージョンの調整については、Specifying a Default Application Implementationを参照してください。
$ pkg contents -a mediator=python -o path,target python-34 PATH TARGET usr/bin/2to3 2to3-3.4 usr/bin/idle idle3.4 usr/bin/pydoc pydoc3.4 usr/bin/python python3.4 usr/bin/python-config python3.4-config usr/bin/pyvenv pyvenv-3.4 usr/lib/amd64/pkgconfig/python3.pc python-3.4.pc usr/lib/pkgconfig/python3.pc python-3.4.pc usr/share/man/man1/python3.1 python3.4.1使用例 5 他のファイルシステムオブジェクトおよび属性の表示
次の例は、指定されたパッケージによってインストールされたリンクのパスおよびターゲットを示しています。pkg(5) のマニュアルページに示されている属性のほかに、いくつかの疑似属性を使用できます。疑似属性の一覧については、pkg(1) のマニュアルページを参照してください。
次の例で、pkg.name 疑似属性は、指定されたアクションを提供するパッケージの名前を示しています。この例では、Python 2.6.8 と Python 2.7.3 の両方がインストールされており、/usr/bin/python リンクに依存しない場合に特定バージョンにアクセスするために使用するパスがコマンドによって表示されます。複数バージョンの調整については、Specifying a Default Application Implementationを参照してください。
$ pkg contents -t link -a path=usr/bin/python -o path,target,pkg.name PATH TARGET PKG.NAME usr/bin/python python2.6 runtime/python-26 usr/bin/python python2.7 runtime/python-27
Oracle Solaris には、いくつかのシステムインストールグループパッケージが用意されています。Oracle Solaris 11 GUI インストーラは solaris-desktop グループパッケージをインストールします。テキストインストーラおよび自動インストーラインストールのデフォルトの AI マニフェストは、solaris-large-server グループパッケージをインストールします。非大域ゾーン用のデフォルトのインストールマニフェストは、solaris-small-server グループパッケージをインストールします。solaris-minimal-server グループパッケージは、Oracle Solaris を実行するために必要な、サポートされる最小限のパッケージのセットをインストールします。
次のコマンドを使用して、指定されたグループパッケージに含まれる一連のパッケージを表示できます。
$ pkg contents -ro type,fmri -t depend solaris-minimal-server TYPE FMRI group network/ping group service/network/ssh-common group shell/tcsh group shell/zsh group system/network require developer/debug/mdb require editor/vim/vim-core require group/system/solaris-core-platform require package/pkg require release/name require release/notices require shell/bash require shell/ksh93 require system/core-os require system/library/platform
-t オプションは、パッケージの depend アクションに一致します。-o オプションは、depend アクションの type および fmri 属性の値を表示します。各パッケージの名前とバージョンを表示するには、pkg.shortfmri を使用します。グループパッケージではファイルシステムの内容は指定されないことを思い出してください。グループパッケージは、グループに含まれるほかのパッケージを指定します。グループパッケージの詳細については、Group Packagesを参照してください。
各パッケージのサマリーも表示するには、pkg list -s コマンドを使用します。pkg contents コマンドの -o fmri オプションは、前の例の 2 番目の列に示されている出力を制限します。
$ pkg list -Has `pkg contents -Hro fmri -t depend solaris-minimal-server` developer/debug/mdb Modular Debugger (MDB) editor/vim/vim-core Vi IMproved (core executables) group/system/solaris-core-platform Oracle Solaris Core Platform network/ping Ping command package/pkg Image Packaging System release/name Solaris Naming Enabler release/notices Oracle Solaris notices service/network/ssh-common Secure Shell (SSH) service and configuration files shell/bash GNU Bourne-Again shell (bash) shell/ksh93 Ksh93 - The AT&T Korn Shell shell/tcsh Tenex C-shell (tcsh) shell/zsh Z Shell (zsh) system/core-os Core Solaris system/library/platform Core Architecture, (Kvm) system/network Core Network Infrastructure
次の例は、パッケージライセンスに同意する必要があるすべてのパッケージを表示します。
$ pkg contents -rt license -a must-accept=true -o license,pkg.name '*' LICENSE PKG.NAME BCL developer/java/jdk-7 BCL runtime/java/jre-7 LICENSE developer/java/jdk-6 LICENSE library/java/java-demo-6 LICENSE runtime/java/jre-6 lic_OTN consolidation/osnet/osnet-incorporation lic_OTN install-image/solaris-auto-install
これらのパッケージをインストールまたは更新するには、--accept オプションを指定しなければならない場合があります。
ライセンステキストを表示するには、Displaying Package Licenses に記載されているように、次の例のようなコマンドを使用します。複数の FMRI を一覧表示できます。
$ pkg info -r --license runtime/java/jre-7 osnet-incorporation