Go to main content

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

印刷ビューの終了

更新: 2018 年 8 月
 
 

パッケージマニフェストからの情報の表示

pkg contents コマンドは、パッケージのファイルシステムの内容を表示します。オプションやオペランドを指定せずにこのコマンドを使用すると、現在のイメージにインストールされているすべてのパッケージのパス情報が表示されます。表示するパッケージの内容を指定するには、コマンドオプションを使用します。結果を絞り込むには、パッケージ名を 1 つ以上指定します。パッケージ名にはワイルドカードを使用できます。引数が直接 pkg に渡され、シェルで展開されないようにするために、ワイルドカードは引用符で囲みます。

contents サブコマンドと search サブコマンドはどちらも、パッケージの内容をクエリーします。pkg contents コマンドは、パッケージのアクションと属性を表示します。pkg search コマンドは、クエリーに一致するパッケージを一覧表示します。pkg search コマンドと pkg contents コマンドの比較も参照してください。

パッケージによってインストールされるファイルの一覧表示

次の例では、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 ファイルです。バリアントとファセットについては、オプションのコンポーネントのインストールの制御を参照してください。

パス以外の情報の表示

パス以外の情報を表示するには、またはパス情報のサブセットを表示するには、pkg contents コマンドの -t-a、および -o オプションを使用します。

-t オプションは、filelinkdepend などの選択するアクションタイプを指定します。パッケージアクションのリストについては、pkg(7) のマニュアルページを参照してください。コンマ区切りリストで複数のアクションタイプを指定するか、-t オプションを複数回指定できます。-t オプションを使用した場合、デフォルト出力はそのアクションのキー属性の値です。

-a オプションは、選択するアクションの属性値を指定します。各アクションタイプの属性のリストについては、pkg(7) のマニュアルページを参照してください。-a オプションは何度でも指定できます。

-o オプションは、表示する出力を指定します。-a オプションの説明に示されている属性の名前、または pkg(1) のマニュアルページにリストされている疑似属性のいずれかを指定できます。コンマ区切りリストで複数の属性引数を指定するか、-o オプションを複数回指定できます。それぞれの -o 引数は出力の 1 つの列です。

使用例 1  パッケージによってインストールされるファイルの属性の表示

この例では、パッケージによってインストールされるファイルの一覧表示の例にリストされているパスの追加の属性が表示されています。

$ 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-18c-preinstall パッケージがファイル、リンク、またはディレクトリを直接提供しないことを示しています。

$ pkg contents -r oracle-rdbms-server-18c-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 パッケージに setsignature、および depend アクションが含まれることを示しています。

$ pkg contents -rm oracle-rdbms-server-18c-preinstall
$ pkg contents -ro action.name oracle-rdbms-server-18c-preinstall
$ pkg contents -ro action.raw oracle-rdbms-server-18c-preinstall
使用例 2  アクションタイプの指定

次のコマンドは、oracle-rdbms-server-18c-preinstall パッケージ内の各依存関係の、依存関係のタイプとパッケージ名を表示します。

$ pkg contents -rt depend oracle-rdbms-server-18c-preinstall
TYPE    FMRI
group   system/header
group   system/kernel/oracka
group   system/picl
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
require system/dtrace
require system/library/openmp
使用例 3  アクション属性の指定

一部の依存関係にのみ関心がある場合は、-a オプションを使用して選択範囲を絞り込みます。

$ pkg contents -rt depend -a fmri='*lib*' oracle-rdbms-server-18c-preinstall
TYPE  FMRI
group   x11/library/libxi
group   x11/library/libxtst
require system/library/openmp

デフォルトで、出力は、パスまたは -o オプションで指定された最初の属性によってソートされます。-s オプションを使用して、別の属性をソート鍵として指定できます。-s オプションは複数回指定できます。

次の例では、指定された属性は set アクションに固有であり、set アクションタイプを指定する必要はありません。

$ pkg contents -ra name=pkg.summary -a name=pkg.description -o name,value -s value oracle-rdbms-server-18c-preinstall
NAME            VALUE
pkg.summary     Prerequisite package for Oracle Database 18c
pkg.description Provides the set of Oracle Solaris packages required for installation and operation of Oracle Database 18c.

set アクションタイプを指定した場合、name および valueset アクションのデフォルト出力であるため、出力列を指定する必要はありません。

$ pkg contents -rt set -a name=pkg.summary -a name=pkg.description -s value oracle-rdbms-server-18c-preinstall
使用例 4  メディエーションに含まれているすべてのリンクの表示

次のコマンドは、python-35 パッケージによって提供される python メディエーションに参加しているリンクの pathtarget を示しています。複数バージョンの調整については、デフォルトのアプリケーション実装の指定を参照してください。

$ pkg contents -a mediator=python -o path,target python-35
PATH                                 TARGET
usr/bin/2to3                         2to3-3.5
usr/bin/idle                         idle3.5
usr/bin/pydoc                        pydoc3.5
usr/bin/python                       python3.5
usr/bin/python-config                python3.5-config
usr/bin/pyvenv                       pyvenv-3.5
usr/lib/pkgconfig/python3.pc         python-3.5.pc
usr/lib/sparcv9/pkgconfig/python3.pc python-3.5.pc
usr/share/man/man1/python3.1         python3.5.1
使用例 5  他のファイルシステムオブジェクトおよび属性の表示

次の例は、指定されたパッケージによってインストールされたリンクのパスおよびターゲットを示しています。pkg(7) のマニュアルページに示す属性のほかに、いくつかの疑似属性を使用できます。疑似属性の一覧については、pkg(1) のマニュアルページを参照してください。

次の例で、pkg.name 疑似属性は、指定されたアクションを提供するパッケージの名前を示しています。この例では、Python 2.7.14、Python 3.4.6、および Python 3.5.3 がインストールされており、/usr/bin/python リンクに依存しない場合に特定バージョンにアクセスするために使用するパスがコマンドによって表示されます。複数バージョンの調整については、デフォルトのアプリケーション実装の指定を参照してください。

$ pkg contents -t link -a path=usr/bin/python -o path,target,pkg.name
PATH           TARGET    PKG.NAME
usr/bin/python python2.7 runtime/python-27
usr/bin/python python3.4 runtime/python-34
usr/bin/python python3.5 runtime/python-35

グループパッケージ内のすべてのインストール可能なパッケージの一覧表示

Oracle Solaris には、いくつかのシステムインストールグループパッケージが用意されています。テキストインストーラおよび自動インストーラインストールのデフォルトの AI マニフェストは、solaris-large-server グループパッケージをインストールします。非大域ゾーン用のデフォルトのインストールマニフェストは、solaris-small-server グループパッケージをインストールします。solaris-minimal-server グループパッケージは、Oracle Solaris を実行するために必要な、サポートされる最小限のパッケージのセットをインストールします。

次のコマンドを使用して、指定されたグループパッケージに含まれる一連のパッケージを表示できます。


注 -  このパッケージリストには、グループパッケージのインストール時にインストールされるすべてのパッケージが含まれているわけではありません。このリスト内のパッケージの依存関係、およびそれらの依存関係の依存関係もインストールされます。
$ pkg contents -rt depend solaris-minimal-server
TYPE    FMRI
group   network/ping
group   network/ssh
group   service/network/ssh
group   shell/tcsh
group   shell/zsh
group   system/network
group   system/rsyslog
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 アクションに一致します。group タイプの依存関係を持つパッケージのインストールを回避できます。グループパッケージに含まれる一部のパッケージのインストールの回避を参照してください。グループパッケージではファイルシステムの内容は指定されないことを思い出してください。グループパッケージは、グループに含まれるほかのパッケージを指定します。グループパッケージの詳細については、グループパッケージを参照してください。

各パッケージのサマリーも表示するには、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
network/ssh                         OpenSSH client and associated utilities
package/pkg                         Image Packaging System
release/name                        Solaris Naming Enabler
release/notices                     Oracle Solaris notices
service/network/ssh                 OpenSSH servers and SSH (Secure Shell) services
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
system/rsyslog                      reliable and extended syslogd

マニュアルページは、その対象となるソフトウェアがインストールされるときにデフォルトでインストールされます。ただし、solaris-minimal-server インストールグループは man コマンドをインストールしません。solaris-minimal-server グループをインストールする場合、次のいずれかを行うことが必要な場合があります。

  • doc.man ファセットを false に設定して、マニュアルページのインストールを回避します。ファセット値の表示と変更を参照してください。

  • text/doctools パッケージをインストールして man コマンドをインストールします。

ライセンス要件の表示

次の例は、パッケージライセンスに同意する必要があるすべてのパッケージを表示します。

$ pkg contents -rt license -a must-accept=true -o license,pkg.name '*'
LICENSE PKG.NAME
lic_OTN install-image/solaris-auto-install
lic_OTN release/notices

これらのパッケージをインストールまたは更新するには、--accept オプションを指定しなければならない場合があります。

ライセンステキストを表示するには、パッケージライセンスの表示 に記載されているように、次の例のようなコマンドを使用します。複数の FMRI を一覧表示できます。

$ pkg info -r --license install-image/solaris-auto-install