株式会社タフス

Solaris10でBindをSMF登録

Solaris10でBind(ビルドインストール)をSMF登録する。
実行ユーザー等がデフォルトと異なるので注意が必要です。

“bindが/usr/local/bindにインストール済み”
▼methodファイルの修正
# cd /lib/svc/method
# cp -p dns-server dns-server.`date +%Y%m%d`

# vi dns-server

# diff dns-server dns-server.20080610
39c39
< SMF_FMRI="svc:/network/dns/bind:${instance}"

> SMF_FMRI=”svc:/network/dns/server:${instance}”
41c41
< server="/usr/local/bind/sbin/named"

> server=”/usr/sbin/named”
46c46
< cmdopts="-u named"

> cmdopts=””

▼manifestファイルの作成
# cd /var/svc/manifest/network/dns/
# cp -p server.xml bind.xml
# vi bind.xml

# diff bind.xml server.xml
33c33
< name='network/dns/bind'

> name=’network/dns/server’
94,95c94,95
< user='named'
< group='named'

> user=’root’
> group=’root’
177c177
< manpath='/usr/local/man' />

> manpath=’/usr/man’ />

▼作成したmanifestファイルのimport
# svccfg -v import bind.xml
svccfg: svc:/network/dns/bind:default の “initial” スナップショットを作成しています。
svccfg: svc:/network/dns/bind:default の “last-import” スナップショットを作成しています。
svccfg: svc:/network/dns/bind:default が再表示されました。
svccfg: インポートが成功しました。

▼登録したSMFの起動
# svcs -a | grep dns
disabled 11:51:44 svc:/network/dns/client:default
disabled 11:52:11 svc:/network/dns/server:default
disabled 11:52:15 svc:/network/dns/bind:default

# svcadm enable dns/bind
# svcs -a | grep dns
disabled 11:51:44 svc:/network/dns/client:default
disabled 11:52:11 svc:/network/dns/server:default
online 11:59:03 svc:/network/dns/bind:default

# ps -ef | grep named
named 864 1 0 11:59:03 ? 0:00 /usr/local/bind/sbin/named -u named

▼登録したSMFの確認

1.プロセスをkillしても別プロセスナンバーで起動していることを確認
# kill 864
# ps -ef | grep named
named 881 1 0 12:01:20 ? 0:00 /usr/local/bind/sbin/named -u named

2.svcadmコマンドで停止、起動が行えることを確認する。
# svcadm disable
# ps -ef | grep named
“何も表示されない”
# svcadm enable dns/bind
# ps -ef | grep named
named 900 1 0 12:24:02 ? 0:00 /usr/local/bind/sbin/named -u named

3.再起動後にnamedプロセスが起動していることを確認する。
# svcs -a | grep dns
disabled 11:51:44 svc:/network/dns/client:default
disabled 11:52:11 svc:/network/dns/server:default
online 12:24:02 svc:/network/dns/bind:default

# sync;sync;sync
# init 6

“再起動後”

# svcs -a | grep dns
# ps -ef | grep named
named 290 1 0 12:28:24 ? 0:00 /usr/local/bind/sbin/named -u named