Image Packaging Systemを使用してOracle Solaris 11.1に更新する方法

Peter Dennis著

この記事では、Image Packaging System(IPS)を使用して、Oracle Solaris 11 11/11システムをOracle Solaris 11.1に更新するステップについて説明します。


2012年10月公開

現在の環境に応じて、Oracle Solaris 11.1に更新するためのおもなアプローチは2つあります。

このような技術記事の配信を希望する場合は、システム・コミュニティ・ニュースレーターの購読で登録してください。システム管理者および開発者向けの技術的な内容のみが送信されます。
  • Oracle Solarisリリース・リポジトリを使用
  • Oracle Solarisサポート・リポジトリを使用(Oracleサポート契約を結んでいる場合)

Oracleサポート契約を結ばずにOracle Solaris 11をインストールしたユーザーは通常、次に示すようにpkg publisherコマンドを使用して、Oracle Solarisリリース・リポジトリを構成済みのパッケージ・リポジトリとして使用できます。

# pkg publisher
PUBLISHER   TYPE    STATUS  URI
solaris     origin  online  http://pkg.oracle.com/solaris/release/

Oracleサポート契約を結んでいるユーザーは、次に示すように、Oracle Solarisサポート・リポジトリを構成済みのパッケージ・リポジトリとして使用できます。

# pkg publisher
PUBLISHER   TYPE    STATUS  URI
solaris     origin  online  https://pkg.oracle.com/solaris/support

Oracle Solarisリリース・リポジトリの使用

Oracle Solaris 11.1への更新プロセスは複数のステップからなります。これは、特定のシステム・パッケージを最初に更新する必要があるためです。特定のシステム・パッケージを更新しないと、残りのシステム・パッケージを正常に更新できません。

  1. まず、pkg update--acceptオプションを使用して、少数のシステム・パッケージを更新してから再起動します。

    # pkg update --accept
    # reboot
    
    
  2. (SPARCの場合のみ)SPARCシステムを稼働していて、Oracle Solaris Zonesがインストールされている場合は、この段階で追加のステップを実行する必要があります。システムにインストールされているゾーンごとに、pkg:/system/ldoms/ldomsmanagerパッケージを次のように削除する必要があります。

    # for z in `zoneadm list`; do zlogin $z pkg uninstall ldomsmanager; done
    
  3. 次に、IPSパッケージ自体を更新します。

    # pkg update pkg:/package/pkg
    
  4. 最後に、システム・パッケージの残りを更新して、システムを再起動します。

    更新するには、pkg update--acceptフラグを使用し、更新されているライセンスの条件に同意して受諾します。また、--be-nameフラグを使用して、作成されるブート環境に新しい名前を付けます。

    # pkg update --be-name s11.1ga --accept
    # reboot
    

:オラクルのホスト・パッケージ・リポジトリに直接接続できないシステムの場合、Oracle Solaris 11.1 Pre-Upgrade Repository Imageをダウンロードする必要があります。このイメージには、Oracle Solaris 11.1への更新前に更新する必要のあるパッケージが含まれています。ISOイメージには、リポジトリを作成してOracle Solaris 11.1に更新するために必要なステップを記載したREADMEが含まれています。

Oracle Solarisサポート・リポジトリの使用

Oracleサポート契約を結んでいるユーザーのOracle Solaris 11のリリース・プロセスが変更されました。この変更により、Oracle Solaris 11への次回更新の最終プレリリース段階中におけるバグ修正リリースが中断されることはなくなりました。 そのため、Oracle Solaris 11の最新リリース・バージョンの重要なカスタマ・バグ修正のリリースが早まります。 この改善の結果、更新リリース自体には、先行リリースの最終Support Repository Update(SRU)でリリースされた少数のバグ修正が含まれない可能性があります。

たとえば、Oracle Solaris 11 11/11の最終SRUはSRU#12.4とSRU#13.4です。SRU#12.4とSRU#13.4の一部のパッケージには、Oracle Solaris 11.1リリースのバージョンより高いバージョンが含まれています。これらのバグ修正を保持するため、バージョンの違いによって、Oracle Solaris 11.1リリースへの更新が回避されます。また、コア・オペレーティング・システムには、Oracle Solaris 11.1リリースに直接移行すると削除される修正が一部存在します。参考のため、これらのバグ番号を"SRU#12.4で修正されたバグ"のセクションに示します。

上述のSRUによって提供されるすべてのバグ修正は、最初のOracle Solaris 11.1 SRUによって対処されています。 このSRUはサポート・リポジトリに含まれています。

システムによっては異なるSRUバージョンを実行しているため、必要な更新ステップが異なる場合があります。システム上のSRUを確認するには、リスト1に示すように、pkg:/entireパッケージのpkg infoコマンドを使用します。


# pkg info entire
Name:entire
Summary:entire incorporation including Support Repository Update (Oracle Solaris 11 11/11 SRU 10.5).
Description:This package constrains system package versions to the same
build.WARNING:Proper system update and correct package
selection depend on the presence of this incorporation.
Removing this package will result in an unsupported system.For
more information see https://support.oracle.com/CSP/main/article
?cmd=show&type=NOT&doctype=REFERENCE&id=1372094.1.
Category:Meta Packages/Incorporations
State:Installed
Publisher:solaris
Version:0.5.11 (Oracle Solaris 11 SRU 10.5)
Build Release: 5.11
Branch: 0.175.0.10.0.5.0
Packaging Date:Fri Aug 03 18:26:27 2012
Size:5.45 kB
FMRI:pkg://solaris/entire@0.5.11,5.11-0.175.0.10.0.5.0:20120803T182627Z

リスト1 システムのSRUの判別

これら後続のOracle Solaris 11 11/11 SRUリリースのすべてのバグ修正が必要な場合は、次に説明されるように、Oracle Solaris 11.1 SRU#1.4に更新してください。

SRU#10.5を実行しているシステムの更新

  1. (SPARCの場合のみ)SPARCシステムを稼働していて、Oracle Solaris Zonesがインストールされている場合、この最初のステップを実行する必要があります。システムにインストールされているゾーンごとに、pkg:/system/ldoms/ldomsmanagerパッケージを次のように削除する必要があります。

    # for z in `zoneadm list`; do zlogin $z pkg uninstall ldomsmanager; done
    
  2. IPSパッケージ自体を更新します。

    
    # pkg update pkg:/package/pkg
    

    一部のパッケージに以前のバグが含まれているために、それらのパッケージがシステムに間違ってインストールされる可能性がありました。SRU#10.5ではこれらの問題に対処し、このような不正パッケージを削除するためのメカニズムを提供します。上述のコマンドにより、この処理が実行され、一部のパッケージを削除していることが通知されます(そのようなパッケージがインストールされていた場合)。削除されるパッケージは次のとおりです。

    X86 pkg://solaris/ldoms/ldoms-incorporation
    SPARC
    pkg://solaris/consolidation/nvidia/nvidia-incorporation
    pkg://solaris/driver/network/ethernet/elxl
    pkg://solaris/driver/network/ethernet/pcn
    pkg://solaris/driver/network/ethernet/dnet
    pkg://solaris/driver/network/ethernet/iprb
    
  3. システム・パッケージの残りを更新して、システムを再起動します。

    更新するには、pkg update--acceptフラグを使用し、更新されているライセンスの条件に同意して受諾します。また、--be-nameフラグを使用して、作成されるブート環境に新しい名前を付けます。

    
    # pkg update --be-name s11.1ga --accept
    # reboot
    

以前のSRUバージョンを実行するシステムの更新

このケースでは、SRU#10.5またはそれ以降のSRUリリースへ更新することを選択できます。ただし、最新のSRU(12と13)には、Oracle Solaris 11.1リリースの最初のSRUが利用できるようになるまで、Oracle Solaris 11.1に存在しない修正が含まれている点に留意してください。

次のコマンドを実行して、システムをSRU#10.5に更新します。


# pkg update --accept entire@0.5.11,5.11-0.175.0.10
# reboot

または、次のコマンドを実行して、システムを最新のSRUに更新します。

# pkg update --accept
# reboot


SRU#12.4以降を実行しているシステムのOracle Solaris 11.1とSRU#1.4以降への更新

Oracle Solaris 11.1 SRU#1.4リリースでは、システムの更新には、次の簡単なコマンドを実行します。

# pkg update --be-name s11.1sru --accept
# reboot

システムはその後、Oracle Solaris 11.1をSRU#1.4とともに実行します。

SRU#12.4以降を実行しているシステムのOracle Solaris 11.1への更新

SRUなしで、単にOracle Solaris 11.1への更新が必要な場合は、次のステップが必要になります。

次のパッケージのいずれかがインストールされている場合は、次のステップで説明するように、これらを削除して、Oracle Solaris 11.1への更新後に戻すか、システム上の制約からこれらの関連付けを解除(ロック解除と呼ばれる)する必要があります。

pkg://solaris/network/dns/bind
pkg://solaris/service/network/dns/bind
pkg://solaris/mail/fetchmail

  1. 次のいずれかを実行します。

    • パッケージを削除するには、次のコマンドを実行します。

      # pkg uninstall pkg://solaris/network/dns/bind
      # pkg uninstall pkg://solaris/service/network/dns/bind
      # pkg uninstall pkg://solaris/mail/fetchmail
      

      上述のコマンドは、パッケージを1行で指定することで1回のステップにまとめることができます。

      # pkg uninstall pkg://solaris/network/dns/bind \
      pkg://solaris/service/network/dns/bind \
      pkg://solaris/mail/fetchmail
      

      Oracle Solaris Zonesがシステムにインストールされている場合は、次に示すように、各ゾーンでパッケージをアンインストールする必要があります。

      # for z in `zoneadm list`; do zlogin $z pkg uninstall pkg://solaris/network/dns/bind; done
      
    • パッケージをロック解除するには、次のコマンドを実行します。

      # pkg change-facet facet.version-lock.mail/fetchmail=false
      # pkg change-facet facet.version-lock.service/network/dns/bind=false
      
      # pkg change-facet facet.version-lock.network/dns/bind=false
      

      上述のコマンドは、パッケージを1行で指定することで1回のステップにまとめることができます。

      # pkg change-facet facet.version-lock.mail/fetchmail=false \
      facet.version-lock.service/network/dns/bind=false \
      facet.version-lock.network/dns/bind=false
      
      

      パッケージがインストールされた、構成済みの各ゾーンで、上のコマンドを実行する必要があります。

  2. システムを更新します。

    パッケージを削除またはロック解除したら、システムの更新を実行して再起動できます。

    
    # pkg update --be-name s11.1ga --accept
    # reboot
    
  3. システムが再起動したら、ステップ1で実行した処理(パッケージの削除またはロック解除)に応じて、次のいずれかを実行します。

    • ステップ1でパッケージを削除した場合は、pkg installコマンドを使用して、これらのパッケージを再インストールします。

      # pkg install pkg://solaris/service/network/dns/bind
      # pkg install pkg://solaris/mail/fetchmail
      

      上述の最初のコマンドを実行すると、パッケージの依存性によってpkg://solaris/network/dns/bindもインストールされます。

    • ステップ1でパッケージをロック解除し、Oracle Solaris 11.1の最初のSRUに更新する場合は、最初にそのSRUに更新し、その後、該当するパッケージを再ロックします。

      # pkg update
      # pkg change-facet facet.version-lock.mail/fetchmail=true
      # pkg change-facet facet.version-lock.service/network/dns/bind=true
      # pkg change-facet facet.version-lock.network/dns/bind=true
      
      

      上述のコマンドは、パッケージを1行で指定することで1回のステップにまとめることができます。

      # pkg change-facet facet.version-lock.mail/fetchmail=true \
      facet.version-lock.service/network/dns/bind=true \
      facet.version-lock.network/dns/bind=true
      

      パッケージを再ロックすると、必要に応じてこれらのパッケージは更新されます。

SRU#12.4で修正されたバグ

次に、SRU#12.4で対処されたが、SRU#1がリリースされるまでOracle Solaris 11.1で対処されないバグ修正のリストを示します。

Kernelの修正:

7071362 tcp_icmp_source_quenchおよびその他のチューニング可能値のフィールドが変更可能でなくなった可能性がある
7181137 sol_umadはNGZでのユーザーランドのMAD操作を許可するべきである
7196540 7174929の統合の後、2番目のRAIDボリュームの最初のディスクに対して、0.9.0が表示される


その他のソフトウェア修正:

7166132 vimはそのテスト・スイートを実行できるはずである
7190213 libibmadおよび関連ファイルは、NGZで提供される必要がある 
7191495 mkisofsのインストールが不完全である
7195687 Fetchmailをバージョン6.3.22に更新する
7195704 ユーティリティ/Fetchmailに関する問題
7196234 ネットワーク/DNSに関する問題
7197223 構文強調表示が有効になっているdtraceスクリプトの編集時にvimが高いCPU使用率を示す

関連項目

著者について

Peter Dennisは、Oracle Solaris Revenue Product EngineeringチームのPrincipal Engineerです。 ファイル・システム、ボリューム管理とバックアップ、クラスタ、および一般的なエンドユーザー・ユーティリティといった幅広いテクノロジーに取り組んできました。現在は、Oracle Solaris 11 Updateリリースのテクニカル・リードです。

リビジョン1.2、2012/11/30

facebook banner twitter banner