Go to main content
Oracle® Solaris 11.3 ソフトウェアの追加と更新

印刷ビューの終了

更新: 2017 年 3 月
 
 

置換用 IDR とサポート更新のインストール

IDR は、同じ問題に対処する新しい IDR、または問題を修正する SRU で置換できます。IDR パッケージの内容に関する情報を取得し、-nv オプションを使用して、pkg update コマンドまたは pkg install コマンドの結果がどのようになるかを理解します。

  • 置換用 IDR。IDR でほかの IDR を置換できます。通常、既存の IDR は新しい修正によって更新されるため、置換用 IDR は必要ありません。場合によっては、既存の IDR の変更は実行できず、以前の IDR を置換する新しい IDR が作成されることがあります。

    置換用 IDR が必要になるのは、すでに別の IDR によって変更されているパッケージを変更するような場合です。たとえば、IDR1 は、system/core-os パッケージの一部である usr/sbin/cron に対する修正を提供します。IDR2 は、ほかのパッケージに対する無関係な修正を提供し、system/core-os の一部である usr/sbin/svcadm に対する修正を含んでいます。IDR1 および IDR2 の両方が system/core-os パッケージを変更することはできません。置換用 IDR パッケージが必要になり、それは次のいずれかの形式を取ることができます。

    • IDR2 に IDR1 の修正が含まれています。IDR2 は IDR1 を置換します。IDR1 の名前は IDR2 に変更されます。そのため、明示的に IDR1 パッケージをインストールまたは更新すると、IDR2 パッケージが代わりにインストールされ、IDR1 パッケージがシステムにすでにインストールされていた場合は削除されます。

    • IDR3 に IDR1 の修正と IDR2 の修正が含まれています。IDR3 は IDR1 と IDR2 の両方を置換します。

  • 置換用 SRU。IDR によって対処された問題が SRU で修正されている場合は、その IDR パッケージの名前が、修正が行われたパッケージの名前に変更されます。IDR パッケージの変更後の名前に等しいバージョンのパッケージをインストールする SRU の場合、その SRU に更新すると IDR パッケージは削除されます。

    修正されたパッケージのより新しいバージョンを含んではいるが問題を修正しない SRU の場合、その SRU への更新はブロックされます。更新を実行するには、IDR をアンインストールするか、または IDR パッケージを拒否します。ただし、これらの方法を使用して IDR を削除すると、システムには IDR で対処されていた問題が残ることに注意してください。

使用例 16  置換用 IDR をインストールする

次の出力は、このイメージに idr1834 のバージョン 1 がインストールされていることを示しています。idr1834 のバージョン 2 は、How to Install an IDRsolaris パブリッシャーの起点として追加された idr1929.2.p5p から使用できます。

$ pkg list -af 'idr*'
NAME (PUBLISHER)      VERSION IFO
idr1834               2       --r
idr1834               1       i--
idr1929               2       ---

使用例 15は、バージョン 2 では idr1834 パッケージの名前が idr1929 に変更されていることを示しています。idr1834 を更新すると、インストールされているバージョン 1 は削除され、idr1929 がインストールされます。更新後は、idr1834 パッケージのどのバージョンもインストールされていません。

$ pkg update -v idr1834
            Packages to remove:         1
           Packages to install:         1
     Estimated space available:  30.42 GB
Estimated space to be consumed: 718.51 MB
       Create boot environment:        No
Create backup boot environment:        No
          Rebuild boot archive:        No

Changed packages:
solaris
  idr1834
    1,5.11:20150708T000258Z -> None
  idr1929
    None -> 2,5.11:20150624T090120Z
...

$ pkg list -af 'idr*'
NAME (PUBLISHER)      VERSION IFO
idr1834               2       --r
idr1834               1       ---
idr1929               2       i--

idr1834 を更新する代わりに idr1929 のインストールを試みると、idr1834 が引き続きシステム上のパッケージを制約して idr1929 が移動するバージョンより低いバージョンに保つため、インストール操作は失敗します。

使用例 17  IDR の問題を修正する SRU に更新する

次のコマンドは、インストール済みの IDR によって対処されたすべての問題を一覧表示します。

$ pkg contents -Ho value,pkg.name -t set -a name='*bug*' 'idr*'

SRU で修正された問題を調べるには、SRU の Readme ファイルを参照してください。インストール済みの IDR によって対処されたすべての問題が SRU で修正されている場合は、その SRU に更新できます。構成済みのパブリッシャーから入手可能な最新の SRU に更新するには、制約を受けない pkg update コマンドを使用します。インストール済みの IDR によって対処されたすべての問題が修正されている中間 SRU に更新するには、Updating to a Version Older Than the Newest Version Allowedを参照してください。

修正された IDR は更新中に自動的に削除されます。

使用例 18  IDR の問題を修正しない SRU に更新する

IDR が変更しているどのパッケージも SRU で更新されない場合、pkg update コマンドは SRU への更新を行い、IDR はインストールされたままになります。

IDR が変更しているいずれかのパッケージが SRU で更新されるが、IDR が対処している問題が修正されない場合、更新操作は失敗します。IDR で提供されている修正が失われてもよい場合は、次のコマンドを使用して IDR を削除し、更新を続行することもできます。

$ pkg update --reject idr1929

IDR によって提供されている修正を失いたくない場合は、サポート担当者に連絡し、その SRU リビジョンの新しい IDR をリクエストしてください。既存の IDR を置換する新しい IDR が生成されるため、修正を失わずにシステムを新しい SRU および IDR に更新できます。

入手可能な最新の SRU ではない SRU に更新する場合は、更新で置換用 IDR パッケージを指定する必要があります。その方法の 1 つを次の例に示します。

$ pkg update entire@intermediate-version superseding-idr '*'