SmartOSをUpdateする(VMware Playerの場合)
「SmartOSをVMware Playerで動かす」の後、JoyentからSmartOSの新しいバージョン20150417T032220Zが出ています。
「SmartOSのLX Branded Zone(Linuxコンテナ)を動かす」では、20150403T203920ZでLX Branded Zoneを動かしてみましたが、現在、Joyentのイメージソースに上がっているLX Branded Zoneイメージの動作条件は、20150417T032220Z以上になっているようです。そこで、「SmartOSをVMware Playerで動かす」で作った環境を20150417T032220Zにupdateしてみました(と書いていたら、投稿前にさらに20150423T155306Zが出ていましたので、最終的には20150423T155306Zにupdateしましたが、下記の手順中ではバージョン名は、20150417T032220Zとなっています。20150423T155306Zでも手順は全く同じです)。
SmartOSは、ブートディスクから起動された後は、ramdisk上で稼働し、Global Zoneでの変更はブートディスクへ書き出されることはありません。そのため、Solaris11でSRUを当てるような方法ではupdateできません。また、基本的にはブートディスクの platform ディレクトリ下を新しいバージョンのファイルに入れ替えればupdateは完了ですが、ramdiskであるため、SmartOS稼働中に単純に platform ディレクトリをコピーしても再起動すると消えてしまいます。
そこで、VMware Player上で稼働している SmartOS仮想マシンの場合は、仮想マシンイメージの中のOSイメージを直接updateすることになります。
今回は、既存の環境を間違って壊したくなかったので、クローンを作って以下の手順でupdateしました。石橋を叩かないのであれば、いきなり2.,3.でもOKです。
1.仮想マシンのクローンを作成する
2.Joyentから最新のVMware Fusion用仮想マシンイメージをダウンロード
3.smartos.imgファイルをコピー
4.仮想マシンを起動
詳しくは、QIITAの「SmartOSをUpdateする(VMware Playerの場合) 」にまとめておきました。