BigAdmin System Administration Portal
Feature Article
Print-friendly VersionPrint-friendly Version

x86 または SPARC プラットフォーム版 Solaris 10 OS 上のミニルートイメージへのパッチの適用

Enda O'Connor、2009 年 2 月

概要

この記事は、JumpStart インストールプログラムのための SPARC または x86 のイメージに、最新の Kernel Update (KU) パッチおよびその他のパッチをインストールする方法を説明します。 次のトピックおよびシナリオについて説明します:

はじめに

特定の場合、サンはドライバパッチでハードウェアのサポートを提供します。 サンは、ドライバパッチを提供して、IBM BladeCenter サーバーなどのサードパーティーハードウェアをサポートします。 サンがハードウェアサポートを提供するもう 1 つの理由は、Solaris オペレーティングシステムの特定のリリースをリエンジニアリングをすることなく、より新しいハードウェアにインストールできるようにするためです。そのような場合、特定ドライバパッチのインストールが必要になることがあります。 ほとんどの場合、その処理には OS へ最新 KU パッチのインストールが必要となります。

この記事は、最新 KU パッチを含む変更ミニルートを作成するためにミニルートイメージへパッチを適用する方法を説明します。 この記事での手順で使用される Solaris OS は Solaris 10 5/08 リリースです。ただし、その手順はすべての Solaris 10 リリースの場合で類似しています。

x86 プラットフォーム用の Solaris OS は、GRUB を使用して Solaris 10 1/06 リリースのシステムをブートします。 GRUB ベースのブートについての詳細情報は、『Solaris のシステム管理 (基本編)』 http://docs.sun.com/app/docs/doc/817-1985 を参照してください:

ミニルートイメージについて

ミニルートは、Solaris インストールメディアのに保存されるブート可能な最小限のルート (/) ファイルシステムです。ミニルートは、システムをブートして、システムをインストールまたはアップグレードするために必要なすべての Solaris ソフトウェアで構成されます。ミニルートは、Solaris OS の完全なインストールの実行のために、JumpStart インストールプログラムまたはインストールメディアが使用するものです。 ミニルートはインストールプロセス中にのみ実行されます。

この記事での手順は、ミニルートイメージのみにパッチをインストールする方法について説明していることを認識しておくことが重要です。ミニルートイメージにパッチを適用しても、パッチは、Solaris OS のインストールが実行されるシステム、または patchadd -C コマンドが実行されるシステムにはインストールされません。ミニルートイメージのパッチを適用するのは、厳密には実際に Solaris OS のインストールを実行するプロセスにドライバおよびハードウェアサポートを追加するためです。新規ハードウェアの例の 1 つには、より最近の KU パッチにドライバをサポートしている新しいマザーボードが考えられます。

インストールされたイメージは、最初のブートの前にさらにパッチのインストールを要求します。この処理はインストールが完了したあとに発生します。終了スクリプトが呼び出され、最初のブートの前に、新たにインストールされたシステムに KU パッチのインストールが開始されます。インストールされているシステムへの KU パッチのインストールは、この記事で記述しているミニルートのパッチ処理とは別のプロセスです。

始める前に

ミニルートパッチが実行されている実際のシステムに最新のパッチユーティリティーパッチはすでにインストールされていることを確認してください。

  • SPARC 用: 119254-xx
  • x86 用: 119255-xx

以下のコマンドでパッチ 119254-62 を SPARC システムの上のディレクトリ /tmp にダウンロードし、パッチをインストールします:

#patchadd/tmp/119254-62

この patchadd コマンドは次のすべての手順で必要です。

KU パッチ 137137-09 (Solaris 10 10/08 リリース)レベル状態の SPARC ミニルートへパッチを適用する時に、まず /boot/solaris/bin/root_archive unpackmedia を使用して、ミニルートアーカイブを展開しなければなりません。そのために、Solaris 10 10/08 OS (または、patchadd でインストール済み 137137-09)を既に実行しているシステムが必要です。これは root_archive を搭載した最初のリリースだからです。

もし、x86 ミニルートのみへパッチを適用している場合、KU パッチ 137138-09 のインストールには、patchadd コマンドが実行されるシステムは Solaris 10 1/06 リリースレベルで十分です。

もし、/boot/solaris/bin/root_archive コマンドを実行する必要がある場合(ミニルートへ 137137-09 をインストール、Solaris 10 10/08 OS あるいはそれ以降のリリースのためのミニルートへのパッチの適用、または、x86 ミニルートへのパッチの適用)、コマンドはインストールイメージと同じアーキテクチャの上で実行されることは必要です。すなわち、インストールイメージが SPARC ベースである場合、root_archive は SPARC システム上で実行されなければなりません。これは x86 にも同様であり; インストールイメージが x86 ベースである場合、root_archive は、x86 システム上で実行されなければなりません。

下記は、x86 JumpStart サーバー上の SPARC プラットフォーム用の Solaris 10 10/08 OS のためにミニルートを展開しようとする例です:

setup_install_server を使用して、常に現在のイメージのコピーを作成することが推奨されます。これで、イメージから実行中の現在のインストールへの影響を防ぐことができます。オリジナルイメージのゴールデンコピーを常に持つことも推奨されます。この記事にすべての例では、setup_install_server を使用しています。

KU パッチ 137137-09 を使用して Solaris 10 5/08 およびそれ以前のリリースの SPARC ミニルートへのパッチの適用

次の例は、Solaris 10 5/08 SPARC ミニルートイメージへ KU パッチ 137137-09 のインストール方法を示します。

: このタスクの実行には、管理ユーザー(ルート)か、あるいは等価なロールを保有していることが前提になります。

1. SPARC プラットフォーム用の Solaris 10 5/08 OS インストールイメージが格納されていた Tools ディレクトリに変更します:

# cd /export/images/SPARC/solaris_10_u5/Solaris_10/Tools

2. setup_install_server コマンドを実行します:

# ./setup_install_server /export/u5
Verifying target directory...
Calculating the required disk space for the Solaris_10 product
Calculating space required for the installation boot image
Copying the CD image to disk...
Copying Install Boot Image hierarchy...
Install Server setup complete
#

インストールサーバーセットアップが、ここまで完了しました。

3. ディレクトリを変更する:

# cd /export/u5/Solaris/Tools/Boot/sbin

4. sulogin ファイルのコピーを作成する:

# cp sulogin sulogin.orig

5. 次の環境変数をセットします:

# export PKG_NONABI_SYMLINKS=true

6. patchadd を使用して KU パッチ 137137-09 およびその他の必要なパッチをインストールします:

patchadd -C /export/u5/Solaris/Tools/Boot /export/119254-59
patchadd -C /export/u5/Solaris/Tools/Boot /export/138866-01
patchadd -C /export/u5/Solaris/Tools/Boot /export/119252-26
patchadd -C /export/u5/Solaris/Tools/Boot /export/124628-08
patchadd -C /export/u5/Solaris/Tools/Boot /export/124630-19
patchadd -C /export/u5/Solaris/Tools/Boot /export/137137-09

: パッチ 124630-20(またはそれ以降のバージョン)および 137137-09 は互いに依存です; 両方のパッチはミニルートにインストールしなければなりません。

7. svc を変更します:

注意: SVCCFG_REPOSITORY 変数は未展開のミニルートの repository.db の位置を指していなければなりません。このプロシージャーの場合、その位置は /export/u5/Solaris_10/Tools/Boot/etc/svc ディレクトリです。repository.db ファイルの位置は、未展開のミニルートの下の etc/svc ディレクトリです。この変数のエクスポートに失敗したら、実際リポジトリの変更を招き、実際システムのブートを妨げることになります。

8. 現在、Solaris 10 10/08 KU パッチ 137137-09 を適用するということは、インストール済みのミニルートが、インストール済みミニルートを要求される SPARC NewBoot を使用することを表します:

# /Boot/boot/solaris/bin/root_archive packmedia /export/u5 /export/u5/Solaris_10/Tools/Boot

ミニルートインストール済みの実際システムが Solaris 10 10/08 OS (137137-09) レベル、あるいはそれ以降のバージョンであるならば、#/boot/solaris/bin/root_archive ディレクトリを使用することができます。

この段階で、umount コマンドからのエラーを見られます; これらのエラーは無視されても問題はありません。

:

  • Solaris 10 10/08 以前のミニルートに KU パッチ 137137-09 を適用されようとしている場合のみ、ステップ 8 が必要になります。すなわち、137137-09 で Solaris 5/08 OS あるいは以前のリリースのミニルートへパッチを適用することです。もし、Solaris 10 10/08 以前のミニルートへパッチを適用しようとしていて、137137-09 は適用されない場合にも、ステップ 8 は必要ではありません。

  • パッチ適用が行われているシステムが Solaris 10 10/08 アップデートレベル状態ではない場合、/boot/solaris/bin/root_archive コマンドは存在しません。この時、137137-09 パッチからの root_archive あるいは Solaris 10 10/08 メディアからそれを抽出されても結構です。137137-09 内の root_archive コマンドは、137137-09/SUNWcakr.u/reloc/boot/solaris/bin/root_archive にあります。アーキテクチャ特有のパッケージの一部ではありますが、それ自体はアーキテクチャに特有ではありません。また、それは Solaris 10 FCS 以降のバージョンで実行できます。そのため、それを /tmp/root_archive へコピーして、ステップ 8 の /boot/solaris/bin/root_archive の代わりに、/tmp/root_archiveを使用します。Solaris 10 10/08 以前のシステム上にインストールする前に、最新バージョンの 119254 を使用することを確保してください。これは patchadd を実行しているシステムは Solaris 10 10/08 以前のバージョンのレベル状態の場合のみに適用します。

Solaris 10 10/08 およびそれ以降のリリースの SPARC ミニルートへのパッチの適用

下記プロシージャは、Solaris 10 10/08 SPARC ミニルートイメージへのパッチ適用方法を示します。Solaris 10 10/08 ミニルートの展開を容易にするために、その手順は Solaris 10 10/08 OS がインストールされたシステム上で実行されます。

: このタスクの実行には、管理ユーザー(ルート)か、あるいは等価なロールを保有していることが前提になります。

1. SPARC プラットフォーム用の Solaris 10 5/08 OS インストールイメージが格納されていた Tools ディレクトリに変更します:

# cd /export/images/SPARC/solaris_10_u6/Solaris_10/Tools

2. setup_install_server コマンドを実行する:

# ./setup_install_server /export/u6
Verifying target directory...
Calculating the required disk space for the Solaris_10 product
Calculating space required for the installation boot image
Copying the CD image to disk...
Copying Install Boot Image hierarchy...
Install Server setup complete
#

インストールサーバーセットアップが、ここまで完了しました。

3. ミニルートを展開します:

# mkdir/export/mr
# /boot/solaris/bin/root_archive unpackmedia /export/u6 /export/mr

4. ディレクトリを変更します:

# cd/export/mr/sbin

5. sulogin ファイルのコピーを作成します:

# cp sulogin sulogin.orig

6. 次の環境変数を設定します:

# export PKG_NONABI_SYMLINKS=true

7. 必要なパッチをインストールします:

patchadd -C/export/mr/export/138888-02

8. svc を変更します:

注意: SVCCFG_REPOSITORY 変数は未展開のミニルートの repository.db の位置を指していなければなりません。 このプロシージャーの場合、その位置は /export/mr/etc/svc ディレクトリです。 repository.db ファイルの位置は、未展開のミニルートの下の etc/svc ディレクトリです。この変数のエクスポートに失敗したら、実際リポジトリの変更を招き、実際システムのブートを妨げることになります。。

# export SVCCFG_REPOSITORY=/export/mr/etc/svc/repository.db
# svccfg -s system/manifest-import setprop start/exec = :true
# svccfg -s system/filesystem/usr setprop start/exec = :true
# svccfg -s system/identity:node setprop start/exec = :true
# svccfg -s system/device/local setprop start/exec = :true
# svccfg -s network/loopback:default setprop start/exec = :true
# svccfg -s network/physical:default setprop start/exec = :true
# svccfg -s milestone/multi-user setprop start/exec = :true

9. パッチをインストールしたミニルートをパックします:

# /Boot/boot/solaris/bin/root_archive packmedia /export/u6 /export/mr

: この段階で、umount コマンドからのエラーを見られます; これらのエラーは無視されても問題はありません。

KU パッチ 137137-09 を使用しないで Solaris 10 5/08 およびそれ以前のリリースの SPARC ミニルートへのパッチの適用

次の例は、Solaris 10 8/07 SPARC ミニルートイメージへ KU パッチ 127127-09 をインストールする方法を示します。より一般的に、手順は、KU パッチ 137137-09 を適用しなくて Solaris 10 10/08 OS 以前のバージョンへのミニルートへの更新を適用します。これは 137137-09 が搭載されていないので、NewBoot に特有のステップのいずれもが要求されないからです。

: このタスクの実行には、管理ユーザー(ルート)か、あるいは等価なロールを保有していることが前提になります。

1. SPARC プラットフォーム用の Solaris 10 5/08 OS インストールイメージが格納されていた Tools ディレクトリに変更します:

# cd /export/images/SPARC/solaris_10_u4/Solaris_10/Tools

2. setup_install_server コマンドを実行する:

# ./setup_install_server /export/u4
Verifying target directory...
Calculating the required disk space for the Solaris_10 product
Calculating space required for the installation boot image
Copying the CD image to disk...
Copying Install Boot Image hierarchy...
Install Server setup complete
#

インストールサーバーセットアップが、ここまで完了しました。

3. ディレクトリを変更する:

# cd /export/u4/Solaris/Tools/Boot/sbin
4. sulogin ファイルのコピーを作成する:

# cp sulogin sulogin.orig

5. 次の環境変数をセットします:

# export PKG_NONABI_SYMLINKS=true

6. 127127-11 およびその他の必要なパッチをインストールします:

patchadd -C /export/u4/Solaris/Tools/Boot /export/124630-17
patchadd -C /export/u4/Solaris/Tools/Boot /export/127127-11

: ミニルートに KU パッチ 137137-09 をインストールしない場合、パッチ 124630-17 が使用されなければなりません。 パッチ 124630-18 (およびそれ以降のバージョン) は 137137-09 以前のミニルートカーネルとの互換性がありません。 この制限はミニルートのみに適用されます; 標準ブート環境へパッチを適用する場合は、その制限は適用されません。

7. svc を変更します:

注意: SVCCFG_REPOSITORY 変数は未展開のミニルートの repository.db の位置を指していなければなりません。このプロシージャーの場合、その位置は /export/u4/Solaris_10/Tools/Boot/etc/svc ディレクトリです。repository.db ファイルの位置は、未展開のミニルートの下の etc/svc ディレクトリです。この変数のエクスポートに失敗したら、実際リポジトリの変更を招き、実際システムのブートを妨げることになります。

/export/u4 でのイメージは、現在パッチを適用され、使用する準備が完了しました。127127-11(Solaris 5/08 OS からの KU パッチ) はインストールされました。

KU パッチ 137138-09 を使用して Solaris10 1/06 以降のリリースの x86 ミニルートへのパッチの適用

: このタスクの実行には、管理ユーザー(ルート)か、あるいは等価なロールを保有していることが前提になります。

1. /export ディレクトリの下にインストールおよびミニルートディレクトリを作成する:

# mkdir/export/mr

2. x86 プラットフォーム用の Solaris 10 5/08 OS インストールイメージが格納されていた Tools ディレクトリに変更します:

# cd /export/images/x86/solaris_10_u5/Solaris_10/Tools

3. setup_install_server コマンドを実行する:

# ./setup_install_server /export/u5
Verifying target directory...
Calculating the required disk space for the Solaris_10 product
Calculating space required for the installation boot image
Copying the CD image to disk...
Copying Install Boot Image hierarchy...
Copying /boot x86 netboot hierarchy...
Install Server setup complete
#

インストールサーバーセットアップが、ここまで完了しました。

4. ミニルートを展開するために以下のコマンドを実行します:

#/boot/solaris/bin/root_archiveなunpackmedia/export/u5/export/mr

5. ディレクトリを変更する:

# cd/export/mr/sbin

6. sulogin ファイルのコピーを作成する:

# cp sulogin sulogin.orig

7. 次の環境変数をセットします:

# export PKG_NONABI_SYMLINKS=true

8. ミニルートに必要なパッチをすべてインストールします:

# patchadd -C /export/mr /export/patch-id

たとえば:

# patchadd -C /export/mr /export/119255-59
# patchadd -C /export/mr /export/119253-26
# patchadd -C /export/mr /export/124629-08
# patchadd -C /export/mr /export/124631-19
# patchadd -C /export/mr /export/138402-01
# patchadd -C /export/mr /export/138402-01
# patchadd -C /export/mr /export/137138-09

9. SVCCFG_REPOSITORY 変数をエクスポートする:

# export SVCCFG_REPOSITORY=/export/mr/etc/svc/repository.db

注意: SVCCFG_REPOSITORY 変数は未展開のミニルートの repository.db の位置を指していなければなりません。このプロシージャーの場合、その位置は /export/mr/etc/svc ディレクトリです。repository.db ファイルの位置は、未展開のミニルートの下の etc/svc ディレクトリです。この変数のエクスポートに失敗したら、実際リポジトリの変更を招き、実際システムのブートを妨げることになります。

10. ミニルートの repository.db を変更します:

# svccfg -s system/manifest-import setprop start/exec = :true
# svccfg -s system/filesystem/usr setprop start/exec = :true
# svccfg -s system/identity:node setprop start/exec = :true
# svccfg -s system/device/local setprop start/exec = :true
# svccfg -s network/loopback:default setprop start/exec = :true
# svccfg -s network/physical:default setprop start/exec = :true
# svccfg -s milestone/multi-user setprop start/exec = :true

詳細情報は、svccfg(1M) マニュアルページを参照してください。

11. sulogin.orig ファイルのオリジナルコピーを復元する:

# cd /export/mr/sbin
# mv sulogin.orig sulogin

12. 追加された変更を含み変更ミニルートをパックします。変更ミニルートは /export/u5 ディレクトリに保存します:

# /boot/solaris/bin/root_archive packmedia /export/u5 /export/mr

このステップは、その他のいくつかの必要なファイルと共に、本質的に /export/u5/boot/x86.miniroot を置換します。

変更ミニルートを使用してシステムをインストール

変更ミニルートを使用してシステムをインストールされていて、インストール開始に先立ちブートしている場合、下記の内容が表示されます:

SunOS Release 5.10 Version Generic_137138-09 32-bit
あるいは、SPARC ミニルートをインストールされている場合、下記の内容が表示されます:

SunOS Release 5.10 Version Generic_137137-09 32-bit

これらのメッセージは、パッチ 137137-09 または 137138-09 はすでにミニルートにインストールされていると仮定して、ミニルートは適切に更新されたことを示します。 もし異なる KU パッチが使用されれば、代わりにそれが表示されるでしょう。

: このメッセージはミニルートによって表示されます。前もって説明したの通り、インストールされている実際のイメージは、パッチ 137137-09 を含みません。 最終インストールイメージにこのパッチを追加する手順は、終了スクリプトの使用により完成されます。この処理はカスタム JumpStart プログラムの一部です。

追加情報

次にいくつかの追加リソースがあります:

BigAdmin
  
 
BigAdmin Upgrade Hub