home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

技術/Solaris10インストールメモ (v1)

技術/Solaris10インストールメモ (v1)

技術 / Solaris10インストールメモ (v1)
id: 92 所有者: msakamoto-sf    作成日: 2006-07-02 13:54:38
カテゴリ: Solaris 

お仕事でSolaris10上でJavaとCを使った開発をすることになりました。Solaris10自体は、メディアキットを2005年の夏くらいに購入してまして、埃をかぶっていました。Javaはまああまり問題ない筈なんですが、Cの開発が大分雰囲気が違うようでした。せっかくx86用のメディアキットもあることですので、VMware5の中で飼ってみることにしました。
Cの開発は「Sun Studio 11」を使うことになる、とも聞いていましたので、そちらも併せてインストールしてみます。

  • Solaris10 (2005年に購入したメディアキット使用)
  • VMware 5
  • Sun Studio 11

Solaris10のインストール

「はじめてのSolaris10」を参考にインストールを行いました。VMwareを使った方法も載っていましたが、どうも物理ディスクを用いて直接インストールを行う手法のようです。今回はVMwareの中で完結すればよいので、その辺りは無視しました。

http://www.amazon.co.jp/exec/obidos/ASIN/4777511553/503-4155079-1790347

VMwareで仮想マシンを新規作成するとき、OSとしてSolaris10がexperimentalとはいえリストにありましたので、それを選択して仮想マシンを作成しました。メモリは念のため512MBに増量しておきました。ディスクは20GBを確保しておきました。

他に、Xの設定やTipsなどで次のURLを参考にしました。

加えまして、Software Companion CD もインストールしておきました。

パッチ適用について

"Recommended Patch"(パッチクラスタ)をSunのサイトからDLしようとすると、有償契約しないとログインできない様でした。
Solaris10のパッチやソフトウェア構成管理について、こちらの理解が追いつかない状態でしたので、とりあえずRecommended Patchの入手は諦め、"Sun Update Connection"に挑戦しました。

smpatch update

とするだけでよい、と書籍にはあったのですが・・・ネットワーク通信で1~2時間ほどとられた上に、大量にエラーメッセージが表示されてしまい、やる気を無くしてしまいました。
ちなみに、パッチ適用が不完全だったのが悪かったのかこの後リブートしたとき、コンソール画面が真っ暗な状態になってしまい非常に焦りました。再度リブートしたら直ったみたいです。

環境構築

ネットワークなどの環境構築については、Sunのマニュアルドキュメントや上記URL、あと次のURL等も参照してどうにかDHCPと固定IPを自在に設定できるようになりました。

ユーザー環境構築については、Linuxから持ってきたドットファイル群を調整して悪戦苦闘しています。

どうでもいいですが、rootのホームディレクトリって/etc/passwd見る限り

root:x:0:0:Super-User:/:/sbin/sh

って"/"になってるんですが・・・これってSolaris系じゃ普通なんでしょうか。/の直下にrootユーザー用のドットファイルがあるというのは、ちょっと衝撃でした。まあ、"ls -a /"自体滅多に叩くコマンドじゃ無いんですが。

あと、起動時のXのログイン画面もうざいのでコンソールログインにおとしたいところだったんですが、パッチ適用時の真っ暗コンソール画面が非常に怖いので(放っておいたら勝手にXに移ってくれた為、事なきを得ていた)、やっぱりXは動かしっぱなしにしておきます。まあ、IPはDHCPじゃなくて固定にしましたから別にコンソールが真っ暗でもSSHログインで入れるので問題ないといえば無いんですが。

bashやパスの調整

順番は相前後してしまいますが、Sun Studio11をインストール後の調整で、一般ユーザーで以下のような設定に落ち着いています。

~/.bashrc
[ "$BASH" = "" ] &&  return
# source system wide aliases
if [ -f /etc/bashrc ]; then
    source /etc/bashrc
fi

case `tty` in
    'not a tty')
    ;;
    *)
    stty erase '^H'
    ;;
esac

alias vi='vim'
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias ..='cd ..'
alias ll='ls -l'
alias la='ls -aF'
alias ls='ls -F'
~/.bash_profile
stty -istrip
if [ -f ~/.bashrc ]; then
        source ~/.bashrc
fi

# User specific environment and startup programs

ENV=$HOME/.bashrc
USERNAME=""

PATH=/opt/SUNWspro/bin:/usr/sfw/bin:/opt/sfw/bin:$PATH
PAGER='less'

export USERNAME ENV PATH
export PAGER
export PS1='[\u@\h \W]\$ '

export LESSCHARSET='utf-8'

MANPATH=/usr/man:/usr/share/man:/usr/sfw/man
MANPATH=$MANPATH:/opt/SUNWspro/man
export MANPATH

export EDITOR='/opt/sfw/bin/vim'
export JAVA_HOME='/usr/java'

他にlinuxから持ってきた.lessは、こちらのlessとは互換性が無いようでしたのでリネームして無効化しておきました。

Sun Studio11 をインストール。

とりあえず次のURLを参考にしました。Sunの本来のドキュメントを参考にするべきなのでしょうが・・・。
http://www.02.246.ne.jp/~torutk/solaris/sunstudio11.html

上記URLによると、パッチも出ているようです。
http://developers.sun.com/prodtech/cc/downloads/patches/ss11_patches.html

全然関係ありませんが、Sun Studio11では"dbx"というデバッグツールがついてくるみたいでした。gdbとどう違うのか、とか、実際にお仕事で便利に使えるかもなので挑戦してみたいです。

それはともかくとしてパッチを適用しようとしたら、エラーになってしまいました。

# cd /var/tmp/120759-06
# patchadd `pwd`
...
Patch 120759-06 failed to install due to a failure produced by pkgadd.
...
See /var/sadm/patch/120759-06/log for details
...
# more /var/sadm/patch/120759-06/log
pkgadd: ERROR: The package <SPROlang> is currently installed on the system in the
global zone. To install the new instance of this package in the global
zone only, you must specify the -G option. To install the new instance
of this package in all zones you must first remove the existing instance
of this package from the global zone first (via pkgrm) and then install
the new instance of this package in all zones.
pkgadd: ERROR: package <SPROlang> cannot be installed on this system/zone

Solaris10では、一台のハードウェア上で複数のSolaris10をソフトウェア的に稼働できる「Solarisコンテナ」という機能があるようです。最初にハードウェアにインストールされたSolarisが「グローバルゾーン」となって、その上で複数のSolarisを動かすようです。
メッセージを見るに、どうやらグローバルゾーンに対してpatchaddするには"-G"オプションが要るようです。

というわけで、

# patchadd -G `pwd`

したら上手く行きました。ちなみに、最後のpwdは現在位置をしていするのを省いたわけです。

# patchadd -G -d .

でも同じようでした。

その他

シャットダウンと再起動

"shutdown"コマンドを使用するのは同じですが、オプションが大分異なります。

# shutdown -y -g0 -i5
    -y : ログイン中の他のユーザーの画面にシャットダウンのメッセージを表示しない
    -g0 : -g<N>として、shutdownコマンド発動までの秒数を指定する。ここでは0秒(即時)
    -i5 : -i<N>として、ランレベルを指定する。再起動するときはランレベル6を指定する。

画像/2006070201_shutdown.jpg

/usr/ucb

/usr/ucb の下に、何かいろいろ詰まっていました。役に立つのであればPATHに加えておきたいところですが・・・

調べてみますと、University of California at Berkeley (だからucb)と関連するBSD互換ツールのようです。
ただし、便利だからとうかつにPATHに加えたりしますと、ccコマンドをはじめとしていろいろと躓きそうです。
"/usr/ucb をPATHに加えるのが間違い"という認識もあるようですので、これはスルーしておきます。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2008-12-23 13:58:54
md5:5d64029ba36a26f4c612f3282178e2f6
sha1:a4f045309c2aded850778095cfd894d3390a0d35
コメント
コメントを投稿するにはログインして下さい。