次のコマンドは、現在選択されている Python、Ruby、および Secure Shell の優先実装を表示します。
$ pkg mediator python ruby ssh MEDIATOR VER. SRC. VERSION IMPL. SRC. IMPLEMENTATION python vendor 2.6 vendor ruby system 1.9 system ssh vendor vendor sunssh
次のコマンドは、各調停の参加要素をすべて表示します。
$ pkg mediator -a python ruby ssh MEDIATOR VER. SRC. VERSION IMPL. SRC. IMPLEMENTATION python vendor 2.6 vendor python system 2.7 system ruby system 1.9 system ruby system 1.8 system ssh vendor vendor sunssh
下位バージョンがシステムにより優先 Python 実装として選択されていますが、これは、VER. SRC. および IMPL. SRC. と次のコマンドによって示されるように、このバージョンには mediator-priority が指定されているためです。
$ pkg contents -Ho action.raw -t link -a path=usr/bin/python 'runtime/python*' link mediator=python mediator-version=2.7 path=usr/bin/python pkg.linted.pkglint .dupaction010.2=true target=python2.7 link mediator=python mediator-priority=vendor mediator-version=2.6 path=usr/bin/ python target=python2.6
-a オプションの引数として mediator=python を指定すると、出力では python 調停にさらに多くのリンクが表示されます。調停に必要なすべてのパスを含めることを忘れないでください。
$ pkg contents -Ho action.raw -t link -a mediator=python runtime/python-26 link mediator=python mediator-priority=vendor mediator-version=2.6 path=usr/bin/ 2to3 target=2to3-2.6 link mediator=python mediator-priority=vendor mediator-version=2.6 path=usr/bin/ python target=python2.6 link mediator=python mediator-priority=vendor mediator-version=2.6 path=usr/bin/ pydoc target=pydoc-2.6 link mediator=python mediator-priority=vendor mediator-version=2.6 path=usr/bin/ idle target=idle-2.6 link mediator=python mediator-priority=vendor mediator-version=2.6 path=usr/bin/ python-config target=python2.6-config link mediator=python mediator-priority=vendor mediator-version=2.6 path=usr/bin/ amd64/python target=python2.6 variant.arch=i386 link mediator=python mediator-priority=vendor mediator-version=2.6 path=usr/bin/ amd64/python-config target=python2.6-config variant.arch=i386 link facet.doc.man=all mediator=python mediator-priority=vendor mediator-version =2.6 path=usr/share/man/man1/python.1 target=python2.6.1
runtime/python-27 パッケージ内の調停されたリンク usr/bin/python の pkg.linted.pkglint.dupaction010.2=true 属性は、/usr/bin/python リンクが複数のパッケージによって配布されており、有効な調停されたリンクであることを示します。調停されたリンクは、アクションを配布できるのは 1 つのパッケージだけであるという規則の例外です。pkglint ユーティリティーが、重複するアクションの有無を確認します。pkg.linted.check.id を true に設定すると、そのアクションの check.id の確認が省略されます。パッケージを検証するおよびpkglint(1) のマニュアルページを参照してください。pkglint が実行するチェックの完全なリストを表示するには、pkglint -L コマンドを使用します。pkglint.dupaction010 チェックの説明は「調停されたリンクは有効である」です。
システムにより、上位バージョンが優先 Ruby 実装として選択されます。
$ pkg contents -Ho action.raw -t link -a path=usr/bin/ruby runtime/ruby-19 link mediator=ruby mediator-version=1.9 path=usr/bin/ruby pkg.linted.pkglint.dup action010.2=true target=./ruby19
ssh 調停の参加要素は 1 つだけです。追加のアプリケーション実装を配布することを予定している場合は、ほかの実装が配布される場合に元のパッケージが調停の参加要素となるように、元のパッケージで調停を定義します。このようにしないと、元のパッケージに対する更新を配布する必要が生じます。更新を配布しないと、ユーザーが元の実装を優先実装として選択できなくなります。
次のコマンドは、リンクアクションのほかに、このアクションが定義されているパッケージの名前も表示します。
$ pkg contents -o pkg.name,action.raw -t link -a path=usr/bin/ssh '*' PKG.NAME ACTION.RAW network/ssh link mediator=ssh mediator-implementation=sunssh mediator-priority= vendor path=usr/bin/ssh target=../lib/sunssh/bin/ssh
mediator-implementation を指定する調停されたリンクは、mediator-version、mediator-priority、またはこの両方も指定できます。調停のすべての参加要素が mediator-implementation だけを指定している場合、システムは優先実装を任意に選択します。選択された mediator-implementation がバージョン管理されている場合、次のコマンドに示すように最上位バージョンが選択されます。
$ pkg mediator -a myapp MEDIATOR VER. SRC. VERSION IMPL. SRC. IMPLEMENTATION myapp system system db@12 myapp system system db@11 myapp system system db $ pkg mediator myapp MEDIATOR VER. SRC. VERSION IMPL. SRC. IMPLEMENTATION myapp system system db@12
調停に別の実装が追加されると、次のコマンドにより示されるように、システムによってその実装が選択されることがあります。
$ pkg mediator -a myapp MEDIATOR VER. SRC. VERSION IMPL. SRC. IMPLEMENTATION myapp system system aa myapp system system db@12 myapp system system db@11 myapp system system db $ pkg mediator myapp MEDIATOR VER. SRC. VERSION IMPL. SRC. IMPLEMENTATION myapp system system aa