- とりあえずSolarisを立ち上げる
- ↓のコマンドで再設定
# /usr/platform/`uname -i`/sbin/scadm userpassword admin
※admin以外のユーザ名のときにはadminのところをそのユーザ名に
メモしておきたいことや読書の記録を淡々と書く。
# /usr/platform/`uname -i`/sbin/scadm userpassword admin
※admin以外のユーザ名のときにはadminのところをそのユーザ名に
SunSutudio11しか使っていないけれど、たぶんSunStudio12でもいっしょ。
インストーラの指示に従ってccへのpathを通したら、あとはジャンジャンコンパイルすればいいんだけれども、デフォルトではUltraSPARC拡張命令を含まない32bitオブジェクトが出力される。
これを変更するには、''-xarch''オプションを指定する。-xarch=v9bといった具合。ここに指定出来るパラメータで主なものは、以下のようなかんじ。
UltraSPARC-III対応のCPUであればv8plusbとv9bの使い分けでいいだろう。ただし、これらのバイナリはUltraSPARC以前のCPUアーキテクチャでは実行できない。
また、64bitでコンパイルする場合、リンクするライブラリもすべて64bit対応している必要がある。64bitバイナリから32bitバイナリはリンクできない。/usr/sfwとか/opt/sfwにインストールされるものの多くは32bitライブラリしか用意されていなかったりするので注意が必要。
32bitと64bitの使い分けは単純に「膨大な数を扱うか否か」で判断して良いと思う。よほど膨大なデータを扱うとか、メチャメチャ沢山コネクションを張るとか。その際はプロセスあたりのリソース上限値の調整も忘れずに(limitやunlimitコマンドで)。
ちなみに、64bitにしたからといってパフォーマンスが劇的に上がることはほとんどない。よほどのことが無い限りない(下がることはある)。当たり前と言えば当たり前の事なんだけれども、よく誤解している人も多い。
個人的には、一昔前の次世代ゲーム機論争のときにNintendo64は64bitだから性能いいんだぜとか、セガサターンは32bitのCPUを2つ積んでいるから64bit級だぜとか、そういう言われ方が多かったことも原因の一つだと思うんだけどまあどうでもいいや。
Solaris10でも定期的に脆弱性やバグ情報、そのセキュリティフィックスが公開される。インターネットに接続されている環境であれば、WindowsならWindowsUpdate、FreeBSDなら最新のソースをcvsupなり何なりで拾ってきて再構築、Linuxならディストリビューション次第だけれどもyumとかで比較的お気楽に自動アップデートができる。
Solarisの場合はパッチという形でセキュリティフィックスが公開され、smpatchというコマンドで必要なパッチの分析、ダウンロード、適用ができる。運用する上で大前提となる、セキュリティアップデートの仕方をちょっとまとめてみた。
今回使った機材
Solaris10 1/06
SunFire V120
まずは準備。いきなりsmpatchコマンドを実行しても「このSolarisはまだ登録されてませんよ」と出て何もできない。登録と言っても、利用者が持っているSun Onlineのアカウントと紐付けるだけだ。Sun Onlineのアカウントは、Solaris10のインストール用isoイメージファイルをダウンロードする際に必要なので、ダウンロードで入手したひとは持っているはず。書籍などで入手した人は別途取得する必要がある(と思う)。取得はSunのwebサイトから。
あとは自分の取得したSun Onlineのアカウントを/tmp/registrationprofile.properties等のファイルに記述する。以下のような感じ。パーミッションはrootのみ読めるようにする。
userName=hogehoge password=oreore hostName= subscriptionKey= portalEnabled=false proxyHostName= proxyPort= proxyUserName= proxyPassword=
subscriptionKeyは有償サポートを受けると貰えるらしい。これがあるとSolaris10の機能拡張もオンラインでできるようになるようだ(3/05→1/06とか?)。無くてもセキュリティアップデートは提供される。この状態で登録用のコマンドを実行する。
# sconadm register -a -r /tmp/registrationprofile.properties
コマンドが成功するとsmpatchが実行可能な状態になる。とりあえず、必要なパッチを調査するには、
# smpatch analyze
アップデートを適用するには、
# smpatch update
これでとりあえず最新の状態にはできる。ただし、パッチによっては再起動が必要なものがある(パッチ 適用時にその旨の警告が表示される)。この場合はrebootコマンドではなく、必ずshutdownコマンドで再起動をすること(/etc/rc0.d/K51installupdatesに処理が遷移されないと適用できないっぽい)。特に初回の適用など、それなりに時間がかかるものもあるので、端末にshutdown nowと出てから数分間シャットダウンしないからといってビックリしてはいけない。あとはman smpatchで。
再起動後にもう一度smpatch analyzeを実行し、必要なパッチが表示されなければ完了。全て適用済。
設定を見るとproxyサーバも指定出来そうだけど、なんか通信はsslで行われているようなので、proxyでキャッシュして複数台適用時にウハウハとかは望み薄かもしれない。要検証。