Solaris10 SMF

目次

Solaris10のサービス管理(SMF)により、起動・停止方法が大きく変更されました。その結果、システムの起動が早くなる、単なる数字の順番による管理ではなく依存管理ができるようになる、障害対応のフレームワークも準備されている、などのメリットが得られた様です。

SMFの使い方
inetdとSMF

rc.dとSMF
戻る

SMFの使い方

<サービスの確認>
SMF管理下のsendmailのサービス状況を確認します。(以下をご参考)

> svcs -x svc:/network/smtp:sendmail

svc:/network/smtp:sendmail (sendmail SMTP mail transfer agent)
状態: 2005年07月02日 (土) 01時02分23秒 以降disabledです
原因: 管理者が使用不可にしました。
参照: http://sun.com/msg/SMF-8000-05
参照: sendmail(1M)
影響: このサービスは動作していません。

Solaris10ではsendmailもSMFで起動しているため上記のSMFコマンドの結果より、サービスは停止している事が確認できます。さらに -l オプションで詳細な情報がわかります。 (svc:/network/smtp:sendmail を sendmailやsmtpなど、含まれる文字に省略可)

> svcs -l sendmail

fmri svc:/network/smtp:sendmail
name sendmail SMTP mail transfer agent
有効 false
状態 disabled
next_state none
state_time 2005年07月30日 (土) 02時34分08秒
logfile /var/svc/log/network-smtp:sendmail.log
リスタータ svc:/system/svc/restarter:default
contract_id
dependency require_all/refresh file://localhost/etc/mail/sendmail.cf (online)
dependency require_all/refresh file://localhost/etc/nsswitch.conf (online)
dependency optional_all/none svc:/system/filesystem/autofs (online)
dependency require_all/none svc:/system/filesystem/local (online)
dependency require_all/none svc:/network/service (online)
dependency require_all/refresh svc:/milestone/name-services (online)
dependency optional_all/refresh svc:/system/identity:domain (online)
dependency optional_all/none svc:/system/system-log (online)

SMFにより管理されているサービスは一体どの程度あるのか、全ての一覧表示するにか次のコマンドで確認できます。

> svcs -a

disabled 2:34:08 svc:/network/smtp:sendmail
[状況(online/offline/enable/disable)] [時刻] [起動の種類(svc/lrc)]:[管理ファイル]:[サービス名]

<サービスの起動と停止>
次にSMFからsendmailサービス起動します。サービスの制御(起動・停止・再起動、etc)などはsvcadmコマンドを使います。

# svcadm enable sendmail

一時的にサービスを起動・停止させ たい場合は以下のように -t オプションを使用します。

# svcadm enable -t sendmail

ここで、再度sendmailの状態を確認してみます。

# svcs -x sendmail
svc:/network/smtp:sendmail (sendmail SMTP mail transfer agent)
状態: 2005年07月30日 (土) 02時29分23秒 以降onlineです
参照: sendmail(1M)
参照: /var/svc/log/network-smtp:sendmail.log
影響: ありません。

先ほどと比べ、状態(online)が変わっていることが分かります。
ログの出力先は「参照: /var/svc/log/network-smtp:sendmail.log」とも示されています。

svcadm enable [-rst] <サービス>
サービスを使用可能にして起動します。

svcadm disable [-st] <サービス>
サービスを使用不可にして停止します。

svcadm restart <サービス>
サービスを再起動します。

svcadm refresh <サービス>
サービスの設定を再読み込みします。

svcadm mark [-It] <状態> <サービス>
サービスの保守を設定します。

svcadm clear <サービス>
サービスの保守を消去します。

inetdとSMF

既存のinetd.confに書かれた内容をinetconvを使う事でSMF対応に変換できます。/etc/inet/inetd.confを編集した場合、後でinetconvをオプションなしで実行してください。

# inetconv
staf -> /var/svc/manifest/network/staf-tcp.xml
staf-tcp.xmlをインポートしています ...完了

このように /var/svc/manifest/network/staf-tcp.xmlに変換されて書き込まれます。


<戻る>