金子邦彦研究室インストールSolarisSUN Solaris 8/9/10 各種設定

SUN Solaris 8/9/10 各種設定

事前に調べておく事項

  1. Solaris マシンの IP アドレス:

    (以下、XXX.YYY.ZZZ.bbb のように書く)

  2. Solaris マシンのマシン名:

    (以下、hogehoge のように書く)

  3. Solaris マシンの DNS ドメイン名

    (以下、DNS ドメイン名は「mydomain.hoge.com」と書く)

  4. DNSサーバの IP アドレス

    (以下、「XXX.YYY.ZZZ.160」のように書 く)。

Solaris の設定

(必要な場合) NIS サーバへの登録

NIS サーバにマシン名, IP アドレスを登録します。 但し、「NIS サーバが LAN 内にあり」かつ「マシンが、プライベートで無く 固定の IP アドレスを持つ」場合に限り、NIS サーバに登録します。

(必要な場合) DNS サーバへの登録

DNS サーバにも、マシン名, IP アドレスを登録します(順引き、逆引きの両 方)。これは、「プライベートで無く固定の IP アドレスを持つ」場合に限り、DNS サーバに登録します。

固定の IP アドレスを持っていないけど、どうしても DNS サーバに登録した いときは、Dynamic DNS 等の利用を検討します。

(必要な場合) NFS クライアントとしての設定

NFS クライアントとして動かしたいときは、 /etc/fstab に記述を行ないます。

/etc/hosts の設定

/etc/hosts は次のように設定しておいた方が便利です。 要するにマシンのFQDN名を書く。

変更前

127.0.0.1        localhost
XXX.YYY.ZZZ.bbb  hogehoge loghost

変更後

127.0.0.1        localhost
XXX.YYY.ZZZ.bbb  hogehoge hogehoge.mydomain.hoge.com loghost

/etc/resolv.conf の設定

DNS クライアントとしての設定です (これは、上で書いた「DNS サーバへの登録」とは別の話です)。 次のように設定します。

nameserver      XXX.YYY.ZZZ.160
domain          mydomain.hoge.com
search          mydomain.hoge.com

/etc/nsswitch.conf の設定

これも DNS クライアントとしての設定です。 /etc/nsswitch.conf に hosts の行は、次のようにします。 下記では、「DNS」, 「NIS」, /etc/hosts の順で探すという設定を書いている.セキュリティ上の問題もあるので、意味が分かった上で設定してください。

hosts:      files dns nis

rdate による時刻の設定

次のコマンドを実行.します。

    rdate dnsmail
 (「dnsmail」のところは、好きなマシン名あるいはIPアドレスを書いて下さい)

/etc/notrouter の作成

普通は、ルータとして動作させないので /etc/notrouter という名前のファイルを作成する(中身は何でもよい)。 次のコマンドを実行します。

    cd /etc; echo -n > notrouter

broadcast に対する応答を OFF に

NIS サーバのマシンで無ければ、次のコマンドを実行します。

ndd -set /dev/ip ip_respond_to_echo_broadcast 0
ndd -set /dev/ip ip_forward_directed_broadcasts 0

ip_respond_to_echo_broadcast は、broadcast に対する応答。 ip_forward_directed_broadcasts は、braodcast あての ping を転送するか。

/etc/system の設定

共有メモリを広げる設定を行う。

set shmsys:shminfo_shmmax=268435456
set shmsys:shminfo_shmmni=512
set shmsys:shminfo_shmseg=150
set semsys:seminfo_semmap=350
set semsys:seminfo_semmni=350
set semsys:seminfo_semmns=1000
set semsys:seminfo_semmnu=700
set semsys:seminfo_semume=100

ssh の設定

ssh の設定の設定については、 SSH サーバ の Web ページを見て下さい。

Solaris 10 の場合、sshd の再起動は、

svcadm refresh

で行なって下さい。

m64config

SPARC マシンで、PGX64 搭載マシンに限る

m64config -prconf

m64config -res 1280x1024@85 nocheck -depth 24
(うまくいかない場合:Solaris のバージョンによっては「1280x1024x85」かも知れないので man m64config 等で確認のこと)

NVIDIA ドライバ

NVidia 社の Welcome to the NVIDIA software download Web ページから、 Solaris x64/x86 用の NVidia グラフィックカードドライバがダウンロードで きます。

ダウンロード手順

[Step 1] Graphic Driver,
[Step 2] Quadro,
[Step 3] Solaris x64/x86

インストール手順

sh NVIDIA-Solaris-x86-x1.0-????.run
reboot -- -r

NVIDIA ドライバでの困ったときのヒント

NVidia のカードを持っている場合には、

NVidia 社の Welcome to the NVIDIA software download Web ページで配布されているドライバを、 是非とも試したいところです。

「ようこそ画面」の前、あるいは、「ようこそ画面」でログインした直後に NVidia の画面が一瞬現れるはずです。 そうなれば、ドライバのインストール成功と思っていいでしょう。

うまく,ドライバが動かない場合, xorg.conf を編集すると、うまく動くようになる (Java Desktop 起動時のエ ラーを回避できる可能性がある(我々のところでは、下記の手順で,実際に解決できました.参考にしてください).

以下、「ようこそ画面」でログインしたけど、真っ黒なままという場合のヒントです。

再起動

以上で、設定作業は終了したので、再起動します。 (「reboot -- -r」とあるのは、ドライバをインストールしたので) 再起動時に、エラーメッセージなどが出ていないことを確認します。

sync
sync
sync
sync
sync
reboot -- -r

Solaris の設定の続き

(1) Solaris 10 の場合

パッチ

smpatch update
最後に表示される「メッセージ」の指示に従うこと。
reboot

一般ユーザの追加

SMC を使って、簡単に一般ユーザの追加できる。 今後は、root でログインせずに、一般ユーザでログインすることにします (スーパユーザになりたいときは su等を使用)

/use/sbin/smc
「このコンピュータ」
「システムの構成」
「ユーザー」
root のパスワードを入力
「ユーザーアカウント」
「アクション」
「ユーザを追加」
「ウイザードを使用...」
ウイザードが開くので、質問に答える

不要なサービスの停止

Solaris 10 では、 SMF を使用する。 svcs コマンドで、現在のサービスのリストが得られます。 svcadm disable svc:/hogehoge/hogehoge で、サービスを無効にできる。 svcadm restart svc:/hogehoge/hogehoge で、サービスを際記号できる。

以下の手順で、telnet, ftp, finger, rlogin, rsh を停止します。

svcadm disable svc:/network/telnet:default
svcadm disable svc:/network/ftp:default
svcadm disable svc:/network/finger:default
svcadm disable svc:/network/login:rlogin
svcadm disable svc:/network/shell:default

(2) Solaris 9 あるいはそれ以前での場合

ここでは、不要なサービスを止めます。これは、性能アップが目的ではなく、セキュリティ対策です。 ipfilter でセキュリティ対策 の Web ページも参考にしてください。 以下、Solaris 9 あるいはそれ以前での手順を書いている.

sendmail は止める

この時点で、いったん、sendmail は止めることにします。 確かに、sendmail は必要(便利)なのですが、 設定も済んでいないのに sendmail を動かしておきたくないというのが理由です。

sendmail を使う予定なら、後で、最新版の sendmail を自力でインストール するとともに、sendmail の設定を行ないます。

cd /etc
cd rc2.d
mv S88sendmail a_S88sendmail

autofs は止める

研究室では autofs は使わないので、止めます。

/sbin/umountall -F autofs
/usr/bin/pkill -x -u 0 automountd
cd /etc
cd rc2.d
mv S74autofs a_S74autofs

不要なサービスは停止

以下に不要なサービスの「例」を書いているが、どのサービスが不要である かは、よく検討してください。

cd /etc/rc2.d
echo Web-Based Enterprise Management
    mv S90wbem a_S90wbem
echo Power Management
    mv S85power a_S85power
echo cssd
    mv S90loc.ja.cssd a_S90loc.ja.cssd

cd /etc/rc3.d
echo NFS server
    mv S15nfs.server a_S15nfs.server
echo DHCP
    mv S34dhcp a_S34dhcp
echo SNMP
    mv S76snmpdb a_S76snmpdb
echo Solstice Enterprise Manager
    mv S77dmi a_S77dmi
echo Samba
    mv S90samba a_S90samba

カスタマイズ

/etc/shells

設定ファイル

以下、自分のディレクトリの .cshrc, .bash_profile, .bashrc の設定例を書 いています。

~/.cshrc の作成

~/.cshrc の設定例を次に書いてます。

setenv LANG        ja_JP.eucJP
setenv LC_MESSAGES ja_JP.eucJP
# setenv LANG        C
# setenv LC_MESSAGES C

set path = ( \
        /usr/bin /usr/sbin /sbin  \
        /usr/local/bin /usr/sfw/bin /usr/ccs/bin /usr/X11/lib /usr/openwin/bin /usr/dt/bin /usr/openwin/demo/bin /usr/local/X11R6.8.2/bin \
        /opt/SUNWspro/bin /usr/ucb /usr/local/netpbm/bin /opt/sfw/bin \
)

setenv LD_LIBRARY_PATH /usr/lib:/usr/local/lib:/usr/ccs/lib:/opt/sfw/lib:/usr/X11/lib:/usr/dt/lib:/usr/openwin/lib:/usr/local/X11R6.8.2/lib:/usr/ucblib:/opt/SUNWspro/lib:/opt/SUNWdtpcv/lib:/opt/SUNWits/Graphics-sw/xil/lib:/opt/SUNWits/Graphics-sw/xgl-3.0/lib

alias ls 'ls -F'
alias h 'history'
unalias rm
unalias cp
unalias mv

set savehist
set history=200
set histdup = "erase"
set filec

~/.bash_profile

if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

~/.bashrc

PATH=/usr/bin:/usr/sbin:/sbin:/usr/local/SUNWspro/bin:/usr/local/bin:/usr/ccs/bin:/usr/openwin/bin:/usr/dt/bin:/usr/openwin/demo/bin:/usr/local/X11R6.8.2/bin:/opt/SUNWspro/bin:/usr/ucb:/usr/local/netpbm/bin:/opt/sfw/bin
export PATH 
LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:/usr/ccs/lib:/opt/sfw/lib:/usr/dt/lib:/usr/openwin/lib:/usr/local/X11R6.8.2/lib:/usr/ucblib:/opt/SUNWspro/lib:/opt/SUNWdtpcv/lib:/opt/SUNWits/Graphics-sw/xil/lib:/opt/SUNWits/Graphics-sw/xgl-3.0/lib
export LD_LIBRARY_PATH
umask 022

日本語 emacs  

ここでは、GNU emacs のインストール法を書いている.

(英語キーボードを使用している場合のみ) /usr/X/lib/X11/ja/app-defaults/Htt の設定について

Solaris では、英語キーボードを使用している場合、「Ctrl + SPC」 で ATOK が起動、終了を行ないます。 しかし、emacs では 「Ctrl + SPC」 は、mark-set の意味なので、使いづらいです。 結局 「Ctrl + SPC」 で ATOK を起動することをあきらめることにします

とりあえず、/usr/X/lib/X11/ja/app-defaults/Htt を次のように変更して、 「Shift + space で ATOK が起動する」ように変えておきます。

変更前

*conversionOnKeys:Henkan_Mode<Ctrl>space<Ctrl>at

変更前

*conversionOnKeys: Henkan_Mode <Shift>space

/usr/X/lib/X11/ja/app-defaults/Htt の設定

次に、GNU emacs のミニバッファに「ATOK」の文字が表示されるのを回避するために、 /usr/X/lib/X11/ja/app-defaults/Htt に次の1行を追加しておく。

Emacs*disableStatusArea: True

GNU emacs のインストール

# sh あるいは bash を使って作業しています
# download emacs-21.4a.tar.gz
# download leim-21.4.tar.gz
cd /tmp
  if [ ! -f emacs-21.4a.tar.gz ]; then
    /usr/local/bin/wget https://www.kkaneko.jp/tools/src/gnu/emacs-21.4a.tar.gz
  fi
  if [ ! -f leim-21.4.tar.gz ]; then
    /usr/local/bin/wget https://www.kkaneko.jp/tools/src/gnu/leim-21.4.tar.gz
  fi
rm -rf /tmp/emacs-21.4
cd /tmp
/usr/bin/gzip -d < /tmp/emacs-21.4a.tar.gz | tar -xvof -
/usr/bin/gzip -d < /tmp/leim-21.4.tar.gz | tar -xvof -
# もし、emcws を使いたい場合には、下記の 「# gzcat ../emcws-21.3-20030507.gz | patch -p1」の手順が追加になります。
# gzcat ../emcws-21.3-20030507.gz | patch -p1
  /tmp/emacs-21.4/configure -with-gcc --with-mule --with-xim --with-xll --with-site-lisp --with-xfs --with-x-toolkit=motif --with-wnn --with-wnn-includes=/usr/lib/locale/ja/wnn/demo/include --with-wnn-libraries=/usr/lib/locale/ja/wnn/lib
  /usr/ccs/bin/make
  /usr/ccs/bin/make install 

たまご

cd /tmp
cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/tamago login
cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/tamago co tamago
cd tamago
./configure
make
make install

.emacs の設定例 (Wnn)

Solaris の Wnn サーバ(jserver)と通信して、で日本語入力できるようにするための設定です。

(set-language-environment "Japanese")
(set-terminal-coding-system 'euc-japan)
(set-keyboard-coding-system 'euc-japan)
(set-buffer-file-coding-system 'euc-japan)
(setq default-input-method "japanese-egg-wnn")
(setq wnn-jserver "localhost")
(setq jserver-list (list "localhost"))

「、を , に」,「。を . に」したいときは,

(setq use-kuten-for-period nil)
(setq use-touten-for-comma nil)

sendmail

Solaris で sendmail インストール/バージョンアップ」の Web ページを参考に、sendmail のインストールと設定を行ないます。

mew

emacs でメールの読み書きができるように設定します。

.emacs の設定例

(autoload 'mew "mew" nil t)
(autoload 'mew-send "mew" nil t)
(setq mew-icon-directory /usr/X11R6/include/X11/bitmaps/icon") ;; if using XEmacs/Emacs 21
;; Optional setup (Read Mail menu for Emacs 21):
  (if (boundp 'read-mail-command)
      (setq read-mail-command 'mew))

.mew.el の設定例

(setq mew-name "First Last") ;; (user-full-name)
(setq mew-user "username") ;; (user-login-name)
(setq mew-mail-domain "domainA.com")
(setq mew-pop-server "mailserver.domainA.com")  
(setq mew-smtp-server "mailserver.domainA.com")
(setq mew-demo nil)
(setq mew-use-cached-passwd t)
;
(setq mew-file-max-size 100000000)

関連する外部ページ