2022年8月、ホームページを全面リニューアルしました! 情報を分かりやすくお伝えできるサイト作りを目指してまいります。

Solaris10のセットアップ(格闘編)!

Slaris10をセットアップしたが、相変わらず開発環境には優しくない(;-_-;)。当初セットアップメニューで「CoreSystem」でセットアップしようと思ったが、開発環境がまるっきり何も入らないので腹が立った(爆爆)。と言うことで仕方がなく「Development」でセットアップして不要なデーモンを削除するようにしてインスコした。したがって、その説明を記す。


1. solaris10のゲット

Solaris10は、Freeだがユーザ登録が必要だ。 ここ にアクセスしてユーザ登録してisoイメージをダウンロードする。
DVDも有るが、俺はCDなのでCDの内容を以下に示す。

■ Solaris 10 3/05 CD 1, Multi-language
■ Solaris 10 3/05 CD 2, Multi-language
■ Solaris 10 3/05 CD 3, Multi-language
■ Solaris 10 3/05 CD 4, Multi-language
■ Solaris 10 3/05 Language CD, Multi-language
■ Solaris 10 SoftWare Companion CD, Multi-language

必要なのは、以上の6枚だ。


2. solaris10のインストール

1) CDからBootする

CDからBootするとまずインストールモードが表示される。黙ってるとGUI画面のインストールを選んだことになる。
注 : solaris10をインストールするときは目を離さない方が良い。タイマーにより目を離すと勝手にインストーラがデフォルト設定を行ってしまうので注意。
俺の場合は、TEXTでインストしたので”4”を選んだ(画面1参照)

画面1

2) インストール言語の選択

インストール時の言語の選択。日本語なので”4”を選択(画面2参照)

画面2

3) ネットワークに接続するか否か

まあ、ここは当然のごとく”Yes”だね(画面3参照)

画面3

4) DHCPを使うか否か

俺の場合、鯖作ってるから”No”だす(画面4参照)

画面4

5) ホストネームの設定

ホストネームを設定する(画面5参照)

画面5

6) IPアドレスの設定

固定IPアドレスを設定する(画面6参照)

画面6

7) サブネットの設定

① サブネットを設定する。まず、設定するか否かで”Yes”を設定して(画面7参照)

画面7

② サブネットを設定する(画面8参照)

画面8

8) IPv6を使うか否か

俺の場合は、IPv6を使わないので”No”にした(画面9参照)

画面9

9) デフォルトルートの設定

① リブートして検出するとか有るが俺の場合は、”Specify One(指定する)”を選択(画面10参照)

画面10

② デフォルトルートのIPアドレスを設定する(画面11参照)

画面11

10) ネットワーク設定の確認画面表示

ネットワーク設定の確認画面(画面12参照)。

画面12

11) ケルベロスを設定するか否か

ケルベロス(クラサバ間、暗号化認証)を使うか否か。俺の場合、使わないので”No”選択(画面13参照)

画面13

12) ネームサーバの設定

俺のばやい、DNSを使うからDNSにチェックチェック(画面14参照)

画面14

13) ドメインネームの設定

ドメインネームの設定。俺の場合は、”kozupon.com”を設定した(画面15参照)

画面15

14) DNSサーバのIPアドレス設定

自ドメインのDNSサーバのアドレスを設定する(画面16参照)

画面16

15) 検索ドメインの設定

サーチドメインを設定する(画面17参照)。/etc/resolv.confの内容となる。

画面17

16) タイムゾーンの設定

JSTとかのタイムゾーンの設定(画面18~画面20)。ここいら辺は説明するまでもなさそうだね。

画面18
画面19
画面20

17) rootパスワード設定

rootのパスワードを設定する(画面21参照)

画面21

18) 設定のイニシャライズ

CD/DVDのejectの自動/手動及び手動リブートか自動リブートかの設定を終えて今までの設定の書き込み(画面22)

画面22

19) 途中を少々省いてインストールするアプリケーション&ライブラリの選択

俺は、×が付いている項目を選択した(画面23参照)

画面23

20) インストールパッケージの選択

パッケージの種類の選択。以前、俺はここで”Core System Support”を選択してインストしたが、開発環境に必要なモジュール&ライブラリが何も入っていない。ほぼ、Kernelにおかず程度の物しか入らないので注意が必要。Slaris9までは、”Core System Support”を選択しても割合スムースに開発環境を構築できたが、solaris10はそうはいかないみたいだ。ただでさえ、Solarisのライブラリを含めた開発環境の構築はかなり熟練が必要なだけに、今回のsolaris10のインストールはかなりの労力を費やした。俺としては、画面24で×が付いてる”Developer System Support”を選ぶことをお勧めする。これなら、俺にとって非常にじゃまなXWindowシステムが入ってしまうが確実に開発環境が構築出来るからである。ただし、これだけではコンパイル及びリンカーが旨く動く訳ではない。後で話す”GNU gcc&makeによる開発環境の再構築”が必要となる。

画面24

21) ディスクのパーティションの割り当て

ディスクのパーティションの割り当てを行う(画面25~画面28参照)

画面25

俺は、swap領域と/領域しか作らなかった。しかし本来は、

/          領域
/var        領域
/usr        領域
/export/home 領域

程度には、分けるべきである。

画面26
画面27
画面28

22) 領域確保及びインストール開始

ディスクにボリュームが確保される(画面29参照)。いよいよ、インストール開始(画面30参照)

画面29
画面30

23) インストール

Disc1が終わって、Disc2・・・・・・ってな具合に何回かDiscの交換を求められる(画面31参照)

画面31

24) インストールが終了するとlogin画面が出たヘ(^.^)/

やったね。って出て当たり前なんだけど。

画面32

25) コンソールにしましょ

当然の如く、コンソールloginだぜ(笑)~\(^-^)/バンザーイ./( )\モヒトツ\(^o^)/バンザーイ 。

画面33

3. インストール後の設定状況の確認と開発環境のセットアップ

1) インストール後の設定状況の確認

インストール後の確認としてネットワーク設定がまともになっているかどうか。確認した方が良い。もし、まともに設定されていなかったら ここ を参考にして手動設定を試みて欲しい。

2) Solarisが入れてくれない必要なモジュールのインスコ(Freeware for Solaris)

まず、インストール後デフォルトでsshは立ち上がってるのでリモートコンソール出来るんだけど。ssh2 mode onlyなのでTeratermが使えないので、俺はopensshを改めて入れ直す事を頭に置いた。そんでもって、まず手っ取り早く ここ を参考に pkg-get なるパッケージ管理モジュールをインスコすることにした。これがあれば、いわば apt-get のようなパッケージのアップデート及びインストールが楽そうなので。pkg-getは、 ここ に用意されているモジュールならばインスコが容易だ。
次に以下のように俺独断だがインスコした必要なモジュールを列記する。ただし、Solarisインスコ時に既にインスコされている物があるかも知れないが、それはご容赦願いたい。

① wget のインスコ

# pkg-get -i wget

② gzipのインスコ

# pkg-get -i gzip

③ bzipのインスコ

# pkg-get -i bzip

④ bash3のインスコ

Solarisの場合、デフォルトシェルがCシェルなので俺としてはここでどうしてもBシェルを入れたい。私的には、Bシェルが無いと非常にコマンド打ちにくいっす。

# pkg-get -i bash-3.9p1

インスコできたら、

# bash

を入力。

bash-3.00#

Bシェルになるとこういう感じになる。

ここで、念のためPATHの設定をする。Solaris10の場合、rootのlogin時のPATH設定は、 /etc/profile で行う。青い部分が俺が行ったPATH設定。
この設定をユーザ毎に書くなら $HOME/.profile に同じ設定を書くこと。俺の場合、Proxyの設定もしてあるので必要なければ無視すること。

# vi /etc/profile
PATH=$PATH:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/ccs/bin:\
/usr/sfw/bin:
/usr/ucb
export PATH
http_proxy=”http://fifo:8080/”
ftp_proxy=”http://fifo:8080/”
export http_proxy ftp_proxy

trap “” 2 3
export LOGNAME PATH

if [ “$TERM” = “” ]
then
if /bin/i386
then
TERM=sun-color
else
TERM=sun
fi
export TERM
fi

# Login and -su shells get /etc/profile services.
# -rsh is given its environment in its .profile.

case “$0” in
-sh | -ksh | -jsh | -bash)

if [ ! -f .hushlogin ]
then
/usr/sbin/quota
# Allow the user to break the Message-Of-The-Day only.
trap “trap ” 2″ 2
/bin/cat -s /etc/motd
trap “” 2

/bin/mail -E
case $? in
0)
echo “You have new mail.”
;;
2)
echo “You have mail.”
;;
esac
fi
esac

umask 022
trap 2 3
bash

ついでに、LD_LIBRARY_PATHも設定しておこう。solarisの場合は、以下のように指定する。

# crle -c /var/ld/ld.config -l /usr/lib:/usr/ucblib:/usr/local/lib:/opt/sfw/lib

⑤ opensslのインスコ

# pkg-get -i openssl

⑥ sudoのインスコ

# pkg-get -i sudo

⑦ ライブラリをインスコする

■ libiconvのインスコ

# pkg-get -i libiconv

■ libpcapのインスコ

# pkg-get -i libpcap

3) gcc及びmakeのインスコ

solaris10のインストール後は、一応gcc&gmakeは入っているのだがmakeやC及びC++の標準ライブラリ、シェアードライブラリ等が入っていない。したがって、この状態ではソースモジュールをビルド出来ないのだ。stdio.hさえ無い状態であった。( ̄~ ̄;)ウーン・・・むかつく(;-_-;)と言うわけで、以下のように Freeware for Solarisサイト からgccソースとmakeソースをゲットしてビルドする。

■ gccのインスコ

# wget ftp://sunsite.tus.ac.jp/pub/sun-info/Solaris/SOURCES/gcc-3.3.2.tar.gz
# gunzip gcc-3.3.2.tar.gz
# tar xvf gcc-3.3.2.tar
# chown -R root:root gcc-3.3.2
# cd gcc-3.3.2
# mkdir build-gcc
# ../gcc-3.3.2/configure/ –enable-shared –enable-languages=c,c++ \
> –enable-threads=solaris
# gmake bootstrap
# gmake install

■ makeのインスコ

# wget ftp://sunsite.tus.ac.jp/pub/sun-info/Solaris/SOURCES/make-3.80.tar.gz
# gunzip make-3.80.tar.gz
# tar xvf make-3.80.tar
# chown -R root:root make-3.80
# cd make-3.80
# ./configure
# gmake
# gmake install

4) GNU tarのインスコ

tarは、元々solaris10のインストールで入ってはいるが商用バージョンなので-zオプションが使えない。したがって、こいつだけは GNUのサイト からゲットしてきてコンパイルした方が良いかと思う。以下にその方法を記述する。

# wget ftp://tron.um.u-tokyo.ac.jp/pub/GNU/tar/tar-1.15.tar.gz
# gunzip tar-1.15.tar.gz
# tar xvf tar-1.15.tar
# chown -R root:root tar-1.15
# ./configure
# make
# make install

# mv /usr/sbin/tar /usr/sbin/tar.bak
# ln -s /usr/local/bin/tar /usr/sbin/tar

5) opensshのインスコ

既存で入っているsshはssh2なのでssh2とssh1を共用したいので入れ直す。まず、既存のsshを削除する。

bash-3.00# pkginfo | grep ssh
application SMCossh openssh
system SUNWsshcu SSH Common, (Usr)
system SUNWsshdr SSH Server, (Root)
system SUNWsshdu SSH Server, (Usr)

bash-3.00# pkgrm SUNWsshcu SUNWsshdr SUNWsshdu

Freeware for Solarisからopensshをインスコする。

bash-3.00# pkg-get -i openssh

念のため、依存関係を確認する。

bash-3.00# ldd /usr/local/sbin/sshd
libpam.so.1 => /usr/lib/libpam.so.1
libdl.so.1 => /usr/lib/libdl.so.1
libresolv.so.2 => /usr/lib/libresolv.so.2
libcrypto.so.0.9.7 => /usr/local/ssl/lib/libcrypto.so.0.9.7
librt.so.1 => /usr/lib/librt.so.1
libz.so => /usr/lib/libz.so
libsocket.so.1 => /usr/lib/libsocket.so.1
libnsl.so.1 => /usr/lib/libnsl.so.1
libc.so.1 => /usr/lib/libc.so.1
libcmd.so.1 => /usr/lib/libcmd.so.1
libgcc_s.so.1 => /usr/local/lib/libgcc_s.so.1
libaio.so.1 => /usr/lib/libaio.so.1
libmd5.so.1 => /usr/lib/libmd5.so.1
libmp.so.2 => /usr/lib/libmp.so.2
libscf.so.1 => /usr/lib/libscf.so.1
libdoor.so.1 => /usr/lib/libdoor.so.1
libuutil.so.1 => /usr/lib/libuutil.so.1
libm.so.2 => /usr/lib/libm.so.2

さて、sshd起動だぜ!

bash-3.00# /usr/local/sbin/sshd
sshd: fatal :Privilege separation user does not exist
こんなエラーが出たら、sshdユーザとグループが作られてないよエラーなので作ること。なんちゃってエラーだな(笑)。

6) 起動スクリプト

起動スクリプトについては、 /etc/init.d の中に入っている。この中のスクリプトのシンボリックリンクを/etc/rc2.dの中のSの文字を頭とする、例えば S16apache(Sは起動ファイル) のように設定する。逆に、K16apacheにrenameするとそのスクリプトは実行されない。
sshdを起動スクリプトにしてみる。以下参照

# cd /etc/init.d

# vi sshd
#!/sbin/sh
#
# Copyright (c) 2001 by Sun Microsystems, Inc
# All rights reserved.
#
#ident “@(#)OpenSSH 3.9p1 05/03/05 SMI”

case “$1” in
start)
[ -f /usr/local/sbin/sshd ] || exit 0

/usr/local/sbin/sshd
;;
stop)
pkill sshd
;;
*)
echo “Usage: $0 { start | stop }”
exit 1
;;
esac
exit

# cd ../rc2.d
# ln -s ../init.d/sshd S53sshd

7) 余計なプロセスを斬る

# ps -efa
UID PID PPID C STIME TTY TIME CMD
root 0 0 0 21:13:28 ? 0:47 sched
root 1 0 0 21:13:30 ? 0:00 /sbin/init
root 2 0 0 21:13:30 ? 0:00 pageout
root 3 0 0 21:13:30 ? 0:01 fsflush
root 124 1 0 21:13:58 ? 0:00 /usr/lib/picl/picld
root 7 1 0 21:13:34 ? 0:07 /lib/svc/bin/svc.startd
root 9 1 0 21:13:35 ? 0:26 /lib/svc/bin/svc.configd
root 204 197 0 21:14:09 ? 0:00 /usr/lib/saf/ttymon
daemon 187 1 0 21:14:05 ? 0:00 /usr/lib/nfs/statd
daemon 76 1 0 21:13:52 ? 0:00 /usr/lib/crypto/kcfd
root 283 1 0 21:14:21 ? 0:00 /usr/lib/autofs/automountd
mity 399 397 0 21:19:58 pts/1 0:00 -sh
mity 397 395 0 21:19:57 ? 0:00 /usr/local/sbin/sshd -R
root 299 1 0 21:14:23 ? 0:00 /usr/sbin/syslogd
root 79 1 0 21:13:53 ? 0:00 /usr/lib/sysevent/syseventd
daemon 184 1 0 21:14:05 ? 0:00 /usr/sbin/rpcbind
root 206 7 0 21:14:09 console 0:00 /usr/lib/saf/ttymon -g -d /dev/console -l console
-T sun-color -m ldterm,ttcomp
root 205 1 0 21:14:09 ? 0:03 /usr/lib/inet/inetd start
root 91 1 0 21:13:54 ? 0:00 /usr/sbin/nscd
root 155 1 0 21:14:01 ? 0:00 /usr/lib/power/powerd
daemon 190 1 0 21:14:06 ? 0:00 /usr/lib/nfs/lockd
root 183 1 0 21:14:04 ? 0:00 /usr/sbin/cron
root 197 7 0 21:14:08 ? 0:00 /usr/lib/saf/sac -t 300
root 417 408 0 21:34:15 pts/1 0:00 bash
root 210 1 0 21:14:09 ? 0:00 /usr/lib/utmpd
root 395 325 0 21:19:53 ? 0:00 /usr/local/sbin/sshd -R
root 325 1 0 21:14:29 ? 0:01 /usr/local/sbin/sshd
mity 403 399 0 21:19:58 pts/1 0:00 bash
root 312 1 0 21:14:24 ? 0:01 /usr/lib/fm/fmd/fmd
root 313 1 0 21:14:25 ? 0:00 /usr/sbin/vold
smmsp 320 1 0 21:14:27 ? 0:00 /usr/lib/sendmail -Ac -q15m
root 321 1 0 21:14:27 ? 0:00 /usr/lib/sendmail -bd -q15m
root 408 404 0 21:20:04 pts/1 0:00 bash
root 404 403 0 21:20:01 pts/1 0:00 -sh
root 338 1 0 21:14:30 ? 0:00 devfsadmd
root 416 408 0 21:34:15 pts/1 0:00 ps -efa

(゜゜;)ワーッ!余計なプロセスがまだかなり立ち上がってる。なぜじゃーぁ~。結構、削ったんだけどね。以下は、俺の場合要らないと思うデーモン君達。

asppp                     PPPは不要
ldap_cachemgr
ldap.client                  
LDAPは不要
rpcbind
keyserv
rpc.nisd                    
RPCは不要
slpd                      
Service Location Protocolは不要
nfs.statd
lockd
nfs.client                   
NSFは不要
xntpd                     
NTPは不要
nscd                      
NIS/NIS+は不要
lpsched                    
プリントサーバは不要
printd                     
プリントサーバは不要
powerd                    
電源管理は不要
cssd                      
かな漢字変換用cs00は不要
cim                      
WBEM(Web-Based Enterprise Management)は不要
jserver                    
かな漢字変換Wnnは不要
htt                       
XWindowは使わないため不要
dwhttpd                    
AnswerBook2は不要
atokmngdaemon              
カナ漢字変換にATOKは不要
auditd                     
SunSHIELDの監査機能は不要
dtlogin                    
CDEデスクトップ・ログインは不要
nfsd                      
NFSサーバは不要
httpd                     
Webサーバは不要
snmpdx                    
SNMP管理は不要
dmispd                    
Solstice Enterprise Manager管理は不要

ただぁ~、どうも /etc/init.d とか /etc/rcX.d とかにはなくて何処かのスクリプトから知らないうちに起動してるデーモンが多い。どこから起動してるのか?
やっと解った(;-_-;)。Solarisは、10になってからモジュールの管理機構が大幅に変わったのである。SMFといってchkconfigもどきと言うか変形のようなコマンド形式の管理機構である。4項としてSMFを説明する。尚、もちろん/etc/rc3.dへスクリプトを置く。みたいな事も出来るので私的にはSMFって難しいと思う。


4.solaris10の新しいモジュール管理機構SMF

Solaris10の新しい機能は、FMAと言うメモリのパリティエラーやHDDのエラーなどを診断し対策を取るエンジンとSMFと言う全てのサービスを管理するエンジンの2本柱から成り立っている。特に、SMFはモジュールを並列実行できるため、モジュールの耐障害性に強いと言う利点があるようだ。以下にSMFについて説明する。

1)起動モジュールリストステータス表示

bash-3.00# svcs -a
STATE STIME FMRI
legacy_run Apr_07 lrc:/etc/rcS_d/S50sk98sol
legacy_run Apr_07 lrc:/etc/rc2_d/S20sysetup
legacy_run Apr_07 lrc:/etc/rc2_d/S72autoinstall
legacy_run Apr_07 lrc:/etc/rc2_d/S73cachefs_daemon
legacy_run Apr_07 lrc:/etc/rc2_d/S81dodatadm_udaplt
legacy_run Apr_07 lrc:/etc/rc2_d/S89PRESERVE
legacy_run Apr_07 lrc:/etc/rc2_d/S90loc_ja_cssd
legacy_run Apr_07 lrc:/etc/rc2_d/S98deallocate
legacy_run Apr_07 lrc:/etc/rc3_d/S16boot_server
disabled Apr_07 svc:/system/metainit:default
disabled Apr_07 svc:/network/rpc/keyserv:default
disabled Apr_07 svc:/network/rpc/nisplus:default
disabled Apr_07 svc:/network/nis/client:default
disabled Apr_07 svc:/network/ldap/client:default
disabled Apr_07 svc:/network/inetd-upgrade:default
disabled Apr_07 svc:/system/mdmonitor:default
disabled Apr_07 svc:/network/rpc/bootparams:default
disabled Apr_07 svc:/network/nfs/mapid:default
disabled Apr_07 svc:/network/nfs/server:default
disabled Apr_07 svc:/network/rarp:default
disabled Apr_07 svc:/network/ipfilter:default
disabled Apr_07 svc:/network/security/kadmin:default
disabled Apr_07 svc:/network/security/krb5kdc:default
disabled Apr_07 svc:/network/nfs/cbd:default
disabled Apr_07 svc:/system/consadm:default
disabled Apr_07 svc:/network/http:apache2
disabled Apr_07 svc:/network/rpc/rex:default

省略

online Apr_07 svc:/system/filesystem/local:default
online Apr_07 svc:/system/sysidtool:net
online Apr_07 svc:/system/cron:default
online Apr_07 svc:/system/sysidtool:system
online Apr_07 svc:/system/filesystem/autofs:default
online Apr_07 svc:/system/dumpadm:default
online Apr_07 svc:/platform/i86pc/kdmconfig:default
online Apr_07 svc:/milestone/sysconfig:default
online Apr_07 svc:/system/sac:default
online Apr_07 svc:/system/utmp:default
online Apr_07 svc:/system/console-login:default
online Apr_07 svc:/network/inetd:default
online Apr_07 svc:/system/system-log:default
online Apr_07 svc:/network/smtp:sendmail
online Apr_07 svc:/milestone/multi-user:default
online Apr_07 svc:/milestone/multi-user-server:default
online Apr_07 svc:/network/security/ktkt_warn:default
online Apr_07 svc:/network/ftp:default
online Apr_07 svc:/network/login:rlogin
online Apr_07 svc:/network/shell:default
offline Apr_07 svc:/network/ssh:default
offline Apr_07 svc:/network/rpc/meta:default
offline Apr_07 svc:/network/rpc/mdcomm:default
offline Apr_07 svc:/network/rpc/metamed:default
offline Apr_07 svc:/network/rpc/metamh:default

2)サービスの起動・停止

■ サービスの起動
bash-3.00# svcadm enable -st svc:/network/http:apache2
これは、一時的に起動する方法で再起動したときに起動させるには、-stを外す。

■ サービスの停止
bash-3.00# svcadm disable -st svc:/network/http:apache2
これは、一時的に停止させる方法で再起動したときも起動しないようにするには、-stを外す。

3)SMF化されたinetdサービス

inetdもSMF化されて管理がめんどくさくなった。

■ inetd登録のリスト表示
bash-3.00# inetadm
ENABLED STATE FMRI
enabled offline svc:/network/rpc/mdcomm:default
enabled offline svc:/network/rpc/meta:default
enabled offline svc:/network/rpc/metamed:default
enabled offline svc:/network/rpc/metamh:default
disabled disabled svc:/network/rpc/gss:default
disabled disabled svc:/network/rpc/rex:default
disabled disabled svc:/network/rpc/rstat:default
disabled disabled svc:/network/rpc/rusers:default
disabled disabled svc:/network/rpc/spray:default
disabled disabled svc:/network/rpc/wall:default
disabled disabled svc:/network/tname:default
enabled online svc:/network/security/ktkt_warn:default
disabled disabled svc:/network/chargen:dgram
disabled disabled svc:/network/chargen:stream
disabled disabled svc:/network/daytime:dgram
disabled disabled svc:/network/daytime:stream
disabled disabled svc:/network/discard:dgram
disabled disabled svc:/network/discard:stream
disabled disabled svc:/network/echo:dgram
disabled disabled svc:/network/echo:stream
disabled disabled svc:/network/time:dgram
disabled disabled svc:/network/time:stream
enabled online svc:/network/ftp:default
disabled disabled svc:/network/comsat:default
disabled disabled svc:/network/finger:default
disabled disabled svc:/network/login:eklogin
disabled disabled svc:/network/login:klogin
enabled online svc:/network/login:rlogin
disabled disabled svc:/network/rexec:default
enabled online svc:/network/shell:default
disabled disabled svc:/network/shell:kshell
disabled disabled svc:/network/talk:default
disabled disabled svc:/network/rpc-100235_1/rpc_ticotsord:default

■ モジュールの個別情報
bash-3.00# inetadm -l svc:/network/ftp:default
SCOPE NAME=VALUE
name=”ftp”
endpoint_type=”stream”
proto=”tcp6″
isrpc=FALSE
wait=FALSE
exec=”/usr/sbin/in.ftpd -a”
user=”root”
default bind_addr=””
default bind_fail_max=-1
default bind_fail_interval=-1
default max_con_rate=-1
default max_copies=-1
default con_rate_offline=-1
default failrate_cnt=40
default failrate_interval=60
default inherit_env=TRUE
default tcp_trace=FALSE
default tcp_wrappers=FALSE

サービスの起動・停止は2)と同じ。

4)モジュールの登録・削除

■ モジュールの登録

登録は、基本的にxmlテンプレートでxmlファイル作って登録するみたいだ。サンプルのsmtpテンプレートでpostfix.xmlファイルを作って編集する。
bash-3.00# svccfg export smtp > ~/postfix.xml

xmlファイルを作るサンプルが現在/var/svc/mainfirst/network/の中ぐらいにしかない。そのため、これらを参考にして編集する。 postfix.xmlファイル編集後、/var/svc/mainfirst/networkへコピーする。
bash-3.00# cp ~/postfix.xml /var/svc/mainfirst/network/

xmlファイルの登録
bash-3.00# svccfg import ~/postfix.xml

スタートスクリプトの登録
bash-3.00# cd /var/svc/method/
この中のスクリプトを参考にして、postfixというスクリプトファイルを作り実行可能ファイルにする。

■ モジュールの削除

bash-3.00# svccfg
svc:> delete -f svc:/network/telnet
svc:> quit

bash-3.00# rm /var/svc/mainfirst/network/telnet.xml

5)現在のプロセスの確認

bash-3.00# ps -efa
UID PID PPID C STIME TTY TIME CMD
root 0 0 0 14:11:24 ? 0:47 sched
root 1 0 0 14:11:26 ? 0:00 /sbin/init
root 2 0 0 14:11:26 ? 0:00 pageout
root 3 0 0 14:11:26 ? 0:14 fsflush
smmsp 270 1 0 14:12:11 ? 0:00 /usr/lib/sendmail -Ac -q15m
root 7 1 0 14:11:30 ? 0:08 /lib/svc/bin/svc.startd
root 9 1 0 14:11:31 ? 0:27 /lib/svc/bin/svc.configd
root 97 1 0 14:11:52 ? 0:00 /usr/lib/picl/picld
root 218 7 0 14:12:05 console 0:00 /usr/lib/saf/ttymon -g -d /dev/console
-l console -T sun-color -m ldterm,ttcomp
root 220 1 0 14:12:06 ? 0:03 /usr/lib/inet/inetd start
root 230 1 0 14:12:06 ? 0:01 /usr/lib/fm/fmd/fmd
root 187 1 0 14:12:01 ? 0:00 /usr/lib/autofs/automountd
root 400 285 1 17:34:44 ? 0:00 /usr/local/sbin/sshd -R
root 104 1 0 14:11:52 ? 0:00 /usr/lib/sysevent/syseventd
root 141 1 0 14:11:57 ? 0:00 /usr/lib/power/powerd
daemon 183 1 0 14:12:00 ? 0:00 /usr/sbin/rpcbind
root 216 1 0 14:12:05 ? 0:00 /usr/lib/utmpd
root 108 1 0 14:11:53 ? 0:01 /usr/sbin/nscd
daemon 99 1 0 14:11:52 ? 0:00 /usr/lib/crypto/kcfd
root 191 1 0 14:12:01 ? 0:00 /usr/sbin/cron
root 202 7 0 14:12:04 ? 0:00 /usr/lib/saf/sac -t 300
root 215 202 0 14:12:05 ? 0:00 /usr/lib/saf/ttymon
root 224 1 0 14:12:06 ? 0:00 /usr/sbin/syslogd
root 408 407 0 17:35:00 pts/1 0:00 ps -efa
root 285 1 0 14:12:14 ? 0:01 /usr/local/sbin/sshd
root 271 1 0 14:12:11 ? 0:01 /usr/lib/sendmail -bd -q15m
root 250 1 0 14:12:08 ? 0:00 /usr/sbin/vold
root 403 400 0 17:34:50 pts/1 0:00 -sh
root 407 403 0 17:34:50 pts/1 0:00 bash
root 409 407 0 17:35:00 pts/1 0:00 bash

まだまだ停止できそうだぜ。

rpcbind    rpcはいらない。ってそういう訳に行かないみたい(-.-;)svcを使うのにrpcbindを呼ぶみたいっす。だから、止めてはいけない
nscd      
NISは使用しないのでいらない
powerd    
電源管理は行わないのでいらない

このくらいで止めておいた方が良いかもしれない(笑)。後は、システムに関係するデーモン臭くなってきた。
以上、これで終わりだがほとんど現在情報がない。いずれにしても初心者には敷居が高すぎるよ(;-_-;)。( ̄~ ̄;)ウーン・・・全く疲れたよ。

以上

コメント