Oracle® Solaris 11.2 ソフトウェアの追加と更新

印刷ビューの終了

更新: 2014 年 7 月
 
 

incorporation によって指定されたバージョン制約の緩和

incorporation パッケージは、インストール可能なパッケージのバージョンを指定します。これらのバージョン制約は、更新後もシステムをサポート可能な状態に保つのに役立ちます。incorporation パッケージと制約についての詳細は、incorporation パッケージを参照してください。

incorporation 対象のパッケージの一部は、incorporation で指定されたバージョンとは異なるバージョンでダウングレードやアップグレードを安全に行うことができる場合があります。バージョン制約は、incorporation パッケージで指定される version-lock.package ファセットによって表現されます。version-lock.package ファセットのデフォルト値は true です。パッケージのバージョン制約を緩和するには、その version-lock. ファセットの値を false に設定します。

次の例では、パッケージを以前のバージョンにダウングレードしようとしています。pkg update コマンドは、パッケージのアップグレードだけでなくダウングレードも行います。

$ pkg list -af library/security/openssl
NAME (PUBLISHER)                    VERSION                    IFO
library/security/openssl            1.0.1.5-0.175.2.0.0.24.0  i--
library/security/openssl            1.0.1.5-0.175.2.0.0.23.0  --- 
$ pkg update library/security/openssl@1.0.1.5-0.175.2.0.0.23.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.1.5,5.11-0.175.2.0.0.23.0:20130916T191702Z 
  Reason:  This version is excluded by installed incorporation 
  pkg://solaris/consolidation/userland/userland-incorporation@0.5.11,5.11-0.175.2.0.0.24.0:20131001T160408Z

pkg contents コマンドは、このバージョン制約が設定されている方法を示します。このパッケージのバージョン制約を緩和するには、その version-lock ファセットを false に設定します。その後、ダウングレードをもう一度試みます。新しい BE は作成されませんが、バックアップ BE が作成されます。BE が作成される状況については、ブート環境ポリシーイメージのプロパティーを参照してください。

$ pkg contents -m userland-incorporation | grep 'library/security/openssl'
depend facet.version-lock.library/security/openssl=true 
fmri=pkg:/library/security/openssl@1.0.1.5-0.175.2.0.0.24.0 type=incorporate
$ pkg change-facet facet.version-lock.library/security/openssl=false
            Packages to update: 850
     Variants/Facets to change:   1
       Create boot environment:  No
Create backup boot environment: Yes

PHASE                                          ITEMS
Removing old actions                             1/1
Updating image state                            Done
Creating fast lookup database                   Done
Reading search index                            Done
Building new search index                    850/850
$ pkg update library/security/openssl@1.0.1.5-0.175.2.0.0.23.0
            Packages to update:   1
       Create boot environment:  No
Create backup boot environment: Yes

DOWNLOAD                                  PKGS       FILES    XFER (MB)   SPEED
Completed                                  1/1       10/10      1.6/1.6    0B/s

PHASE                                          ITEMS
Removing old actions                             3/3
Installing new actions                           3/3
Updating modified actions                      14/14
Updating package state database                 Done
Updating package cache                           1/1
Updating image state                            Done
Creating fast lookup database                   Done
Reading search index                            Done
Updating search index                            1/1
$ pkg list library/security/openssl
NAME (PUBLISHER)                    VERSION                   IFO
library/security/openssl            1.0.1.5-0.175.2.0.0.23.0  i--

このパッケージのダウングレードやアップグレードを防止するには、パッケージを現在のバージョンで凍結します。パッケージのリストの「f」は、そのパッケージが凍結されていることを示します。

$ pkg freeze -c "Downgrade to avoid bug" library/security/openssl
library/security/openssl was frozen at 1.0.1.5,5.11-0.175.2.0.0.23.0:20130916T191702Z
$ pkg list library/security/openssl
NAME (PUBLISHER)                    VERSION                   IFO
library/security/openssl            1.0.1.5-0.175.2.0.0.23.0  if-

アップグレードやダウングレードを再度有効にするには、pkg unfreeze コマンドを使用してバージョンの凍結を解除します。incorporation パッケージで指定されているバージョンより低いバージョンでパッケージがインストールされている場合、このパッケージの version-lock ファセットを true に設定すると、incorporation パッケージで指定されているバージョンがインストールされます。

ダウングレードまたはアップグレードしようとしているパッケージに対して、ほかのインストール済みパッケージが require 依存関係を持っている場合、そのような関連パッケージのバージョン制約の緩和も必要になることがあります。次の例では、hexedit パッケージのバージョン制約は解除されていますが、system/library パッケージのバージョン制約のためインストールは拒否されます。

$ pkg install editor/hexedit@1.2.12-0.175.2.0.0.25.0
Creating Plan (Solver setup): -
pkg install: No matching version of editor/hexedit can be installed:
  Reject: pkg://solaris/editor/hexedit@1.2.12-0.175.2.0.0.25.0:20131014T170634Z
  Reason:  All versions matching 'require' dependency 
  pkg:/system/library@0.5.11,5.11-0.175.2.0.0.24.0 are rejected
    Reject: pkg://solaris/system/library@0.5.11,5.11-0.175.2.0.0.24.0:20131001T152820Z

pkg://solaris/system/library@0.5.11,5.11-0.175.2.0.0.25.0:20131014T161136Z
    Reason:  This version is excluded by installed incorporation 
    pkg://solaris/consolidation/osnet/osnet-incorporation@0.5.11,5.11-0.175.2.0.0.24.0:20131001T150429Z

個々のコンポーネントパッケージのほかに、incorporation のバージョン制約も緩和できます。この場合、version-lock ファセットを false に設定すると、incorporation をシステムの残りの部分からロック解除できます。incorporation パッケージはロック解除されますが、incorporation に組み込まれているパッケージの同期は保たれます。