Civil Engineer's log

地方大学教員の日常の断片

Upgrading Zone on Solaris 11

2012-01-07 23:21:35 | UNIXなこと

自宅ルータをSolaris 11 Expressで運用しているのを、思い切ってSolaris 11に更新した。Oracleのドキュメントフォーラムを参考に、本体すなわちglobal zoneの更新はすんなりできたが、OCNへのIPv6トンネル接続に使っているzoneが上がって来ないことに気づいた。

きちんと作業プロセスを記録していないが、ものすごく大まかには以下の2つの手順である。

  1. /usr/lib/brand/shared/README.dsconvert を参考に、zone datasetを更新する
  2. zoneadm -z zone detach && zoneadm -z zone attach -u でzoneのシステムを更新する

しかし、過去にug-jposug MLでも指摘があったように、「Solaris 11 Expressで作ったzoneでもSolaris 11にattachできない」こともある。例えば、

変なpublisherが登録されていたら、先に削除

しておくことが重要である。うちの場合、なぜそうしていたのかは記憶があやふやだが、opensolaris.orgのリポジトリをpublisherに指定しているのが災いした。

Unable to contact valid package repository: http://pkg.opensolaris.org/release
Encountered the following error(s):
Unable to parse repository response

というエラーが発生し、その結果、zoneの更新ができなくなっていた。上記のug-jposugでのtipsを参考に、

pkg -R zoneのrootディレクトリ unset-publisher opensolaris.org

を実行して、zone内部でopensolaris.orgを参照しないようにしてから、zoneadm -z zone attach -uを実行したところ、zoneの更新がうまくいった。

このマシンは、まっさらの状態でSolaris 11 Expressを標準インストールしたままだったので、この程度で済んだと考えられる。opensolarisからimage-updateを繰り返してきたものだと、フォーラムにもあるように、global zoneの更新もおぼつかない可能性が高まるようだ。