Solaris 11とロケール設定
スポンサーリンク
数年前のトラウマ思い出がフラッシュバックしてきたのでメモ。
Solaris関係の仕事の予定はないけどせっかくなので。
Solaris 11とSolaris 10以前で設定手順が違ったという話。
就職して初めて本物のUNIX、Solarisに遭遇。 最初はSolaris 9か10だったと思う。
確か自社ミドルウェアの動作検証の関係で、システムロケールを変更する必要があった。
Solaris 10以前の環境であれば、
# vi /etc/default/init
環境変数LANGを設定して再起動すればOK
ちょうどSolarisに慣れてきた頃、ハマったのがSolaris 11。 同じ要領で設定ファイルを編集して再起動すると、編集したファイルが元に戻ってしまう。 当然、設定変更は反映されない。
結論からいうとSolaris 11以降ではsvccfgを使う必要がある。
たまたまOracleVM Server for SPARC、しかもコンテナという環境。何か特殊な設定があるのかと思ってGoogle先生と禅問答。
結局、OracleVMもコンテナも無関係で、設定手順が違うだけ。
公式ドキュメント:国際化とローカリゼーションの変更 - Oracle Solaris 10 から Oracle Solaris 11 への移行
# svccfg -s svc:/system/environment:init \ setprop environment/LANG = astring: ja_JP.UTF-8 # svcadm refresh svc:/system/environment
ただし、ロケール変更前から動作しているプロセスには影響しないので、再起動するのが無難。
要はSolaris 10(の後期)からSMFというLinuxのsystemdみたいなモノ*1のが導入されていて、 Solaris 11で全体的に採用されたという理解。
とは言っても、もう流石にSolaris関連の仕事はないだろう…。
*1:失礼