藤原です。

再び自己フォロー。

At Thu, 18 Nov 2010 01:23:00 +0900,
FUJIWARA Katsunori wrote:

> で、Solaris11/OpenIndiana に向けて、134 を入れるぞ!と思って
> image-update したところ、散々 CPU をブン回した挙句、「disk full で
> /etc/svc/volatile 配下への I/O 失敗」とかで中断してしまいました....
> 
> /etc/svc/volatile は swap 上にマウントされているので、多分 ZFS 上での
> boot env 作成とのメモリの取り合いになったのではないかと。
> 
> メモリ 1G の仮想環境ゲストだったのですが、ホスト側の問題でこれ以上メモ
> リを増やせない(今更 DDR2 メモリを買うのもアレですし ....)ので、とりあえ
> ず仮想ディスクを追加して、swap 領域の追加で逃げられないか、試してみよう
> と思います。

結局、「BE で復旧できるから大丈夫だよね!?」という楽観をベースに、自宅
サーバとして稼働中の 111b マシンで image-update をしたのですが、以下の
ような例外浮揚で見事に失敗してしまいました .... orz

========================================
....
  File "/usr/lib/python2.4/vendor-packages/pkg/actions/__init__.py", line 159, 
in fromstr
    action = types[atype](data=data, **attr_dict)
  File "/usr/lib/python2.4/vendor-packages/pkg/actions/file.py", line 60, in 
__init__
    self.attrs["path"] = self.attrs["path"].lstrip(
AttributeError: 'list' object has no attribute 'lstrip'
========================================

駄目元で、ほぼ同じ状態の職場デスクトップを image-update したところ、こ
ちらは publisher 変更無し(= 111b のデフォルトのまま)でも無事 134b への
更新が成功という不思議な状態です。


上記のエラーが pkg コマンドの内部エラーっぽいので、defect に登録したところ:

    path 属性が複数ある(= 想定外)パッケージがあるんじゃなかろうか?
    我々のパッケージには無い筈だけど。

    https://defect.opensolaris.org/bz/show_bug.cgi?id=17479#c1

というコメントがありました。

そういえば、自宅の 111b マシンは、以前の Linux 自宅サーバの HDD からデー
タを回収するために、Belenix 由来の ext2/ntfs 読み出しツールを追加インス
トールしていた気が....

それ以外は基本的に標準 publisher からの導入しかしていないので、これを
pkgrm してから再度 image-update を実施してみる予定。


なお、Python ソースを確認してみたところ、134b 版向けの pkg コマンドでも
この例外は発生し得るみたいなので、各パッケージのマニフェストデータ等か
ら、阻害要因パッケージを列挙するようなツールがあると便利かも。問答無用
で例外浮揚〜終了コースは人に優しくないからなぁ。

--------------------
[FUJIWARA Katsunori]      [email protected]([email protected])
_______________________________________________
ug-jposug mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/ug-jposug

メールによる返信