OpenIndiana への移行手順
※ 【注意】 134"b" からの移行の場合、追加的な留意事項有り
OpenSolaris ハッカソンでは、もっぱら Mercurial 関連作業をやってはいたのだが、一応裏では、持ち込んだノートPCの VirtualBox 環境に入れてある OpenSolaris(snv_134) の、OpenIndiana 移行などという、Solaris っぽいことを。
ディストリビューションとしての OpenSolaris (= open じゃない indiana) が、既に活動を停止している状況なので、OpenSolaris で稼動している自宅サーバの移行演習も兼ねていたりする。
一度 ZFS の楽チン具合を知ってしまうと、Linux とか BSD 系への移行は、考える気もしないんだよなぁ。まぁ、歳を取ったから面倒臭さが先に立つだけかもしれないけれど …… orz
さて、肝心な移行の話。
snv_134 への更新が済んでいる場合は、"Upgrading from OpenSolaris" にある、以下の手順を実施すれば良い筈。
$ pfexec pkg set-publisher --non-sticky opensolaris.org $ pfexec pkg set-publisher -P -O http://pkg.openindiana.org/dev openindiana.org $ pfexec pkg image-update -v --be-name openindiana ※ 再起動後に以下の publisher 設定を実施 $ pfexec pkg unset-publisher opensolaris.org
しかし、実際には:
Maintained incorporations: None Package version changes: No updates available for this image.
というようなエラー表示で pkg image-update の時点で処理が中断されてしまった …… orz
結局、image-update 実行までは漕ぎ着けたものの、OpenSolaris ハッカソンの時間枠中にはパッケージ転送が完了せず、問題解決の手順確立も出来なかったので、image-update 作業はひとまず中断することに。
その後のあれやこれやの試行錯誤の結果:
- http://pkg.opensolaris.org/dev/ が現状 IPS として機能していない (つい最近の話?) ことから、preferred のままで "pkg set-publisher --non-sticky" を実施しても、non-sticky 設定が反映されない
- opensolaris.org 固有パッケージが邪魔をして、OpenIndiana のパッケージに置き換わらない
ということが判明。VirtualBox のスナップショット機能で、移行作業前の状態を保存しておいて、本当に良かった。何度やり直した事か……
前者に関しては、non-sticky 設定と pkg.openindiana.org の publisher 登録の順序を、以下の様に入れ替えれば解決:
$ pfexec pkg set-publisher -P -O http://pkg.openindiana.org/dev openindiana.org $ pfexec pkg set-publisher --non-sticky opensolaris.org
いっそ事前に:
$ pkg set-publisher -O http://pkg.openindiana.org/legacy opensolaris.org
という設定で、openindiana.org 側の暫定イメージを見せても良いけど、どうせ image-update 後の再起動時には publisher 登録を削除してしまうのだから、そこまでする必要は無いかも。
preferred と non-sticky が以下のように設定されていれば、とりあえずは大丈夫な筈。
$ pkg publisher PUBLISHER TYPE STATUS URI openindiana.org (preferred) origin online http://pkg.openindiana.org/dev/ opensolaris.org (non-sticky) origin online http://pkg.opensolaris.org/dev/ $
後者に関しては、事前に以下のパッケージを uninstall しておけば良さそう。
- entire パッケージ
- pkg list | grep "/opensolaris" で表示されるパッケージ
- entire
- gnome/theme/background/opensolaris-backgrounds
- gnome/theme/background/opensolaris-backgrounds-extra
- release/opensolaris-welcome
が対象パッケージになっているけれど、僕の場合は以下のような感じ:
- entire
- gnome/theme/background/opensolaris-backgrounds
- release/opensolaris-welcome
- system/display-manager/opensolaris-gdm-themes
まぁ、この辺は環境依存な話。
これらのパッケージの uninstall をしない状態だと、publisher 設定がちゃんとできていても、"pkg image-update -nv" で dry run させた場合に、更新対象パッケージが殆ど表示されないので、準備が不完全である事がわかる。
事前準備が済んで、実際に image-upddate が実施された場合、回線速度等にも依存するのだろうけど、パッケージの取得/更新処理に、概ね3時間弱ぐらいは見ておいたほうがよさそう。
僕が試した環境では、VirtualBox ホスト側 Windows のタスクマネージャ表示が 100Mbps 強でリンクアップ (802.11n の Wi-Fi 接続) しているのの、転送中の帯域使用率は10%も行かない程度なので、多分 openindiana.org 側の経路がネックになっているっぽい。
# 一応、外との接続は光回線で、そこそこの転送性能が出ることを確認済み
image-update 完了後に再起動すると …… おぉ! GRUB 画面の背景に OpenIndiana のロゴが! "uname -a" でもビルド情報が oi_151 に!