ナビゲーションリンクをスキップ | |
印刷ビューの終了 | |
Oracle Solaris 11.1 ソフトウェアパッケージの追加および更新 Oracle Solaris 11.1 Information Library (日本語) |
Oracle Solaris 11 OS に含まれるどのパッケージにも、incorporation パッケージへの依存関係があります。incorporation パッケージは、incorporation 対象のパッケージのバージョンを制約して、更新にわたりシステムをサポート可能な状態に保つのに役立ちます。incorporation 対象のパッケージの一部は、incorporation で指定されたバージョンとは異なるバージョンでダウングレードやアップグレードを安全に行うことができる場合があります。そのような incorporation 対象のパッケージには、incorporation パッケージで version-lock.pkg_name ファセット属性が指定されます。version-lock.pkg_name ファセットのデフォルト値は true です。パッケージのバージョン制約を緩和するには、その version-lock.pkg_name ファセットの値を false に設定します。
次の例では、パッケージを以前のバージョンにダウングレードしようとしています。pkg update コマンドは、パッケージのアップグレードだけでなくダウングレードも行います。
$ pkg list -af library/security/openssl NAME (PUBLISHER) VERSION IFO library/security/openssl 1.0.0.10-0.175.1.0.0.19.0 i-- library/security/openssl 1.0.0.10-0.175.1.0.0.18.0 --- $ pfexec pkg update library/security/openssl@1.0.0.10-0.175.1.0.0.18.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.18.0:20120611T201116Z Reason: This version is excluded by installed incorporation pkg://solaris/consolidation/userland/userland-incorporation@0.5.11,5.11-0.175.1.0.0.19.0:20120625T163952Z
このパッケージのバージョン制約を緩和するには、その version-lock ファセットを false に設定します。その後、ダウングレードをもう一度試みます。新しい BE は作成されませんが、バックアップ BE が作成されます。BE が作成される状況については、「ブート環境ポリシーイメージのプロパティー」を参照してください。
$ pfexec 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 $ pfexec pkg update library/security/openssl@1.0.0.10-0.175.1.0.0.18.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.0.10-0.175.1.0.0.18.0 i--
このパッケージのダウングレードやアップグレードを防止するには、パッケージを現在のバージョンで凍結します。パッケージのリストの「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 list library/security/openssl NAME (PUBLISHER) VERSION IFO library/security/openssl 1.0.0.10-0.175.1.0.0.18.0 if-
アップグレードやダウングレードを再度有効にするには、pkg unfreeze コマンドを使用してバージョンの凍結を解除します。incorporation パッケージで指定されているバージョンより低いバージョンでパッケージがインストールされている場合、このパッケージの version-lock ファセットを true に設定すると、incorporation パッケージで指定されているバージョンがインストールされます。
ダウングレードまたはアップグレードしようとしているパッケージに対して、ほかのインストール済みパッケージが require 依存関係を持っている場合、そのような関連パッケージのバージョン制約の緩和も必要になることがあります。次の例では、hexedit パッケージのバージョン制約は解除されていますが、system/library パッケージのバージョン制約のためインストールは拒否されます。
$ pfexec pkg install editor/hexedit@1.2.12-0.175.1.0.0.21.0 Creating Plan (Solver setup): - pkg install: No matching version of editor/hexedit can be installed: Reject: pkg://solaris/editor/hexedit@1.2.12,5.11-0.175.1.0.0.21.0:20120723T170720Z Reason: All versions matching 'require' dependency pkg:/system/library@0.5.11,5.11-0.175.1.0.0.20.0 are rejected Reject: pkg://solaris/system/library@0.5.11,5.11-0.175.1.0.0.20.0:20120709T163421Z pkg://solaris/system/library@0.5.11,5.11-0.175.1.0.0.21.0:20120723T163000Z Reason: This version is excluded by installed incorporation pkg://solaris/consolidation/osnet/osnet-incorporation@0.5.11,5.11-0.175.1.0.0.19.0:20120625T152525Z
個々のコンポーネントパッケージのほかに、incorporation のバージョン制約も緩和できます。この場合、version-lock ファセットを false に設定すると、incorporation に組み込まれているパッケージの同期は保ちながら、incorporation をシステムの残りの部分からロック解除することができます。