Solaris Zone を正しく停止するには

下記の方法で Zone を停止できるが停止処理スクリプトは実行されない。

# zoneadm -z zone01 halt

停止処理をきちんと行うには、zlogin を使って init 0 にする。

# zoneadm list -cv
  ID NAME             STATUS         PATH                          
   0 global           running        /                             
   2 zone01           running        /export/zone/zone01
# zlogin zone01 shutdown -i0 -y 

Shutdown started.    Wed Sep  5 12:41:25 JST 2007

showmount: zone01: RPC: Program not registered
showmount: zone01: RPC: Program not registered
showmount: zone01: RPC: Program not registered
Changing to init state 0 - please wait

コンソールを確認してみる。(コンソールから抜けるには チルダ ~, [CTRL] + D と入力)

# zlogin -C zone01
[ゾーン 'zone01' コンソールに接続しました]

svc.startd: The system is coming down.  Please wait.
svc.startd: 72 system services are now being stopped.
svc.startd: The system is down.

[NOTICE: Zone halted]
~^D

status が install に変わる。

# zoneadm list -cv
  ID NAME             STATUS         PATH                          
   0 global           running        /                            
   - zone01           installed      /export/zone/zone01