Go to main content

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

印刷ビューの終了

更新: 2018 年 8 月
 
 

指定したバージョンへのパッケージのロック

パッケージのバージョンを制限する場合は、pkg freeze コマンドを使用します。

パッケージオペランドにバージョンを指定しない場合、名前付きのパッケージをインストールする必要があり、システムにインストールされているバージョンに制限されます。パッケージオペランドにバージョンを指定した場合、この制約 (つまり、凍結) は、fmri 属性が指定されたパッケージバージョンの値を持った状態で incorporate 依存関係がインストールされているかのように機能します。

凍結されているパッケージをインストールまたは更新するときは、凍結された時点のバージョンと一致するバージョンである必要があります。たとえば、パッケージが 1.2 で凍結された場合、1.2.1、1.2.9、1.2.0.0.1 などのバージョンに更新することはできます。そのパッケージは 1.3 または 1.1 で終了することはできません。

パッケージオペランドに指定されたパブリッシャーを使用して、一致するパッケージが検索されます。ただし、パブリッシャーの情報は凍結の一環として記録されません。パッケージはパブリッシャーではなくバージョンのみに関して凍結されます。

すでに凍結されているパッケージを凍結すると、新しく指定されたバージョンによって凍結バージョンが置き換えられます。

パッケージを凍結しても、そのパッケージを削除できなくなるわけではありません。パッケージが削除される場合に警告は表示されません。

次の例で、パッケージは現在インストールされているバージョンで凍結されます。-c オプション引数は、パッケージが凍結される理由です。凍結が原因でインストールまたは更新に失敗する場合、その理由が示されます。

$ pkg list openssl
NAME (PUBLISHER)                                  VERSION                    IFO
library/security/openssl                          1.0.2.15-11.4.0.0.1.10.0   i--
$ pkg freeze -c "Prevent update until testing complete." openssl
library/security/openssl was frozen at 1.0.2.15-11.4.0.0.1.10.0:20180702T170444Z

パッケージを指定しない場合、現在凍結されているパッケージについての情報 (パッケージ名、凍結バージョン、パッケージがいつ凍結されたか、パッケージが凍結された理由) が表示されます。

$ pkg freeze
NAME                     VERSION                                   DATE                     COMMENT
library/security/openssl 1.0.2.15-11.4.0.0.1.10.0:20180702T170444Z 06 Aug 2018 15:56:16 PDT Prevent
update until testing complete.

パッケージのリストの「f」は、そのパッケージが凍結されていることを示します。

$ pkg list openssl
NAME (PUBLISHER)                                  VERSION                    IFO
library/security/openssl                          1.0.2.15-11.4.0.0.1.10.0   if-

pkg info 出力の「State」フィールドは、このパッケージが凍結されているかどうかも示します。

$ pkg info openssl
          Name: library/security/openssl
       Summary: OpenSSL - a Toolkit for Secure Sockets Layer (SSL v2/v3) and
                Transport Layer (TLS v1) protocols and general purpose
                cryptographic library
   Description: OpenSSL is a full-featured toolkit implementing the Secure
                Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1)
                protocols as well as a full-strength general purpose
                cryptography library.
      Category: System/Security
         State: Installed (Frozen)
     Publisher: solaris
       Version: 1.0.2.15 (1.0.2o)
        Branch: 11.4.0.0.1.10.0
Packaging Date: Mon Jul 02 17:04:44 2018
          Size: 16.05 MB
          FMRI: pkg://solaris/library/security/openssl@1.0.2.15-11.4.0.0.1.10.0:20180702T170444Z
   Project URL: https://www.openssl.org/
    Source URL: https://www.openssl.org/source/openssl-1.0.2o.tar.gz

凍結されたパッケージの別のバージョンをインストールしようとすると、凍結に関するメッセージが表示されます。

$ pkg list -n openssl
NAME (PUBLISHER)                                  VERSION                    IFO
library/security/openssl                          1.0.2.15-11.4.0.0.1.12.0   ---
$ pkg update openssl
No updates available for this image.
$ pkg update openssl@1.0.2.15-11.4.0.0.1.12.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.2.15-11.4.0.0.1.12.0
  Reason:  This version is excluded by a freeze on library/security/openssl at
version 1.0.2.15-11.4.0.0.1.10.0:20180702T170444Z.  The reason for the freeze is:
Prevent update until testing complete.

凍結がパッケージシステムによって自動的に解除されることはありません。凍結によって適用される制約を、指定されたパッケージから削除するには、pkg unfreeze コマンドを使用します。バージョンを提供しても無視されます。