ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 ソフトウェアパッケージの追加および更新 Oracle Solaris 11.1 Information Library (日本語) |
パッケージのバージョンを制限する場合は、pkg freeze コマンドを使用します。パッケージを凍結するときの 1 つの例は、大域ゾーンの更新時に、非大域ゾーン内のパッケージを更新しない場合です。
/usr/bin/pkg freeze [-n] [-c reason] [ pkg_fmri_pattern] ...
pkg_fmri_pattern でバージョンを指定しない場合、名前付きのパッケージをインストールする必要があり、システムにインストールされているバージョンに制限されます。pkg_fmri_pattern にバージョンを指定した場合、この制約 (つまり、凍結) は、fmri 属性が指定されたパッケージバージョンの値を持った状態で incorporate 依存関係がインストールされているかのように機能します。
凍結されているパッケージをインストールまたは更新するときは、凍結された時点のバージョンと一致するバージョンである必要があります。たとえば、パッケージが 1.2 で凍結された場合、1.2.1、1.2.9、1.2.0.0.1 などのバージョンに更新することはできます。そのパッケージは 1.3 または 1.1 で終了することはできません。
pkg_fmri_pattern に指定された発行元を使用して、一致するパッケージが検索されます。ただし、発行元の情報は凍結の一環として記録されません。パッケージは発行元ではなくバージョンのみに関して凍結されます。
すでに凍結されているパッケージを凍結すると、新しく指定されたバージョンによって凍結バージョンが置き換えられます。
パッケージを指定しない場合、現在凍結されているパッケージについての情報 (パッケージ名、バージョン、パッケージがいつ凍結されたか、関連付けられた理由があればその理由) が表示されます。
パッケージを凍結しても、そのパッケージを削除できなくなるわけではありません。パッケージが削除される場合に警告は表示されません。
パッケージが凍結されている理由を記録するには、-c オプションを使用します。凍結が原因でインストールまたは更新に失敗する場合、その理由が示されます。
操作を試しに実行し、凍結されるパッケージの一覧を表示しますが、実際にはどのパッケージも凍結しない場合は、-n オプションを使用します。
次の例で、パッケージは現在インストールされているバージョンで凍結されます。パッケージのリストの「f」は、そのパッケージが凍結されていることを示します。
$ pfexec pkg freeze -c "Downgrade to avoid bug" library/security/openssl library/security/openssl was frozen at 1.0.0.10-0.175.1.0.0.18.0:20120611T201116Z $ pkg freeze NAME VERSION DATE COMMENT library/security/openssl 1.0.0.10-0.175.1.0.0.19.0:20120625T171753Z 29 Jul 2012 17:45:44 PDT Downgrade to avoid bug $ pkg list library/security/openssl NAME (PUBLISHER) VERSION IFO library/security/openssl 1.0.0.10-0.175.1.0.0.18.0 if-
凍結されたパッケージの別のバージョンをインストールしようとすると、凍結に関するメッセージが表示されます。
$ pfexec pkg update library/security/openssl@1.0.0.10-0.175.1.0.0.20.0 Creating Plan (Solver setup): - pkg update: No matching version of library/security/openssl can be installed: Reject: pkg://solaris/library/security/openssl@1.0.0.10,5.11-0.175.1.0.0.20.0:20120709T180243Z Reason: This version is excluded by a freeze on library/security/openssl at version 1.0.0.10,5.11-0.175.1.0.0.18.0:20120611T201116Z. The reason for the freeze is: Downgrade to avoid bug
凍結がパッケージシステムによって自動的に解除されることはありません。制約を緩和するには、pkg unfreeze コマンドを使用します。
/usr/bin/pkg unfreeze [-n] [pkg_name_pattern] ...
凍結によって適用される制約を、指定されたパッケージから削除します。バージョンを提供しても無視されます。
凍結解除を試しに実行し、凍結解除されるパッケージの一覧を表示しますが、実際にはどのパッケージも凍結解除しない場合は、-n オプションを使用します。