Date: 2010/02/23 | | Tags: Solaris, OpenSolaris, Howto, 利用法
パッケージ名の変更関係で、
クライアントプログラム
pkg://network/ftp
サーバプログラム
pkg://service/network/ftp
と2つのパッケージが出てきました。同じような者にsshなどもあります。
今まで、pkg://を省略してることが多かったわけですが、このようなパッケージを、
pkg install network/ftp
のようにインストールすると、service/network/ftpも、マッチしてインストール出来ません。
133には、上の問題にはまるコードが/usr/lib/brand/ipkg/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するときにコアはいて落ちている様で。
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