HOME / 日記 / zone周り

Date: 2010/02/23 |  このエントリーをはてなブックマークに追加  |  Tags: Solaris, OpenSolaris, Howto, 利用法

zone周り

パッケージ名の変更関係で、

クライアントプログラム

pkg://network/ftp

サーバプログラム

pkg://service/network/ftp

と2つのパッケージが出てきました。同じような者にsshなどもあります。

今まで、pkg://を省略してることが多かったわけですが、このようなパッケージを、

pkg install network/ftp

のようにインストールすると、service/network/ftpも、マッチしてインストール出来ません。

zoneadm -z 〜 attachの問題

133には、上の問題にはまるコードが/usr/lib/brand/ipkg/attachにあります。

fileattach.patch

パッチ作っておきました(後日、更にエラーが出にくくしました)。

古いzoneをattachしても起動しない

global zoneをアップデートすると、non global zoneはおいて行かれるのですが、何事もなかった様に起動してるフリしてますが、実際にはサービス可能にはならないようです。

仕様と言えば仕様なのかもしれないのですが、今回はnon-globalとglobalの間のバージョン違いが出来ないようですね。

このように、

pfexec zlogin -C zonename

と行っておき、別シェルで、

pfexec zoneadm -z zonename boot

すると、コンソールにブート時からのログがでてきます。

Reading ZFS config: *internal error: Unknown error
svc:/system/filesystem/local:default: WARNING: /usr/sbin/zfs mount -a failed: exit status 262

要するに、ファイルシステムの祖であるfilesystem/localで落ちるので、どんなzoneも起動しなさそう。

さらに見てみるとzfsコマンドがzfs mount -aするときにコアはいて落ちている様で。

attach時のエラー

pkg authority で変なものが入っていると、結局うまくいかない。

たとえば、GlobaZoneからはアクセス出来ないIPSレポジトリがあるとうまくattachはできない。

考えてみると当たり前なのだけど、エラーメッセージ的に、じゃあどうすれば?と思うので、メモ。

pfexec zoneadm -z work-spec attach -u
Log File: /var/tmp/work-spec.attach_log.rsaG9D
Attaching...

      Global zone version: entire@0.5.11,5.11-0.133:20100216T121104Z
  Non-Global zone version: entire@0.5.11,5.11-0.111:20090518T052643Z
          Publisher Check: Zone preferred publisher does not contain
                           entire@0.5.11,5.11-0.133:20100216T121104Z.
          Publisher Reset: Copying preferred publisher from global zone.
                    Cache: Using /var/pkg/download.   
 Updating non-global zone: (Stage 1).  Output follows
ERROR: Could not update attaching zone                 

このときのログはこんな感じ。

[2010年02月23日 (火) 16時38分32秒 JST] Log File: /var/tmp/work-spec.attach_log.rsaG9D
[2010年02月23日 (火) 16時38分37秒 JST] Attaching...
[2010年02月23日 (火) 16時38分37秒 JST] existing
[2010年02月23日 (火) 16時38分38秒 JST] 
[2010年02月23日 (火) 16時38分38秒 JST]   Sanity Check: Passed.  Looks like an OpenSolaris system.
pkg: 4/5 カタログの更新に成功しました:
   
Framework error: code: 7 reason: couldn't connect to host
URL: 'http://localhost:80/catalog/0/'. (happened 4 times)

このzoneは、rootが、

pfexec pkg -R `zonecfg -z work-spec info zonepath|awk '{print $2}'`/root publisher

するとこんな感じ・・・

発行元                             タイプ 状態   URI
opensolaris.org          (優先)     起点   online   http://pkg.opensolaris.org/dev/
contrib                               起点   online   http://pkg.opensolaris.org/contrib/
juicer                                起点   online   http://jucr.opensolaris.org/pending/
mypkgs                                起点   online   http://localhost:80/
pending                               起点   online   http://pkg.opensolaris.org/pending/

mypkgsがlocalhostなので、自分が立ち上がってない以上、立ち上がるはずがないという形。これを、とりあえず除去する。

pfexec pkg -R `zonecfg -z work-spec info zonepath|awk '{print $2}'`/root unset-publisher mypkgs


日記

Recent Updates