(執筆中)
用語の整理 †
SMF (Service Management Facility) †
- Solaris 10 から導入されたサービス(常駐プログラム)管理機構
FMRI (Fault-Managed Resource Identifier) †
Run Level †
- Solarisの実行レベル
レベル | init状態 |
0 | 電源切断状態(PROMモニタ) |
s/S | シングルユーザ、最低限のファイルシステムがマウントされる |
1 | シングルユーザ、全てのファイルシステムがマウントされる |
2 | マルチユーザ、NFS以外の全てのデーモンが起動 |
3 | デフォルト状態 |
4 | (予備) |
5 | 電源切断状態 |
6 | リブート状態 |
- Run Level の変更
- Shutdown
/usr/sbin/halt | Run Level 0 へ移行。非推奨 |
/usr/sbin/poweroff | Run Level 5 へ移行。非推奨 |
/usr/sbin/init 5 | syncする。他のユーザへの通知無し |
/usr/sbin/shutdown -i5 -g0 -y | syncする。wallで、他のユーザへの通知を行う |
- Reboot
/usr/sbin/reboot | Run Level 6 へ以降。非推奨 |
/usr/sbin/init 6 | syncする。他のユーザへの通知無し |
/usr/sbin/shutdown -i6 -g0 -y | syncする。wallで、他のユーザへの通知を行う |
- Linuxと微妙に違う
レベル | init状態 |
0 | 電源切断状態 |
1 | シングルユーザ、全てのファイルシステムがマウントされる |
2 | マルチユーザ、NFS以外の全てのデーモンが起動 |
3 | マルチユーザ、テキストログイン状態 |
4 | (予備) |
3 | マルチユーザ、GUIログイン状態 |
6 | リブート状態 |
従来のサービス定義との互換性 †
/etc/inittab †
kagyuu@solamame:~$ cat /etc/inittab
ap::sysinit:/sbin/autopush -f /etc/iu.ap
sp::sysinit:/sbin/soconfig -f /etc/sock2path
smf::sysinit:/lib/svc/bin/svc.startd >/dev/msglog 2<>/dev/msglog
p3:s1234:powerfail:/usr/sbin/shutdown -y -i5 -g0 >/dev/msglog 2<>/dev/
- 書式 id:rstate:action:process
- id : 識別子
- rstate : run level のリスト
- action : プロセスの実行方法
- process : スクリプト
/etc/rc?.d/S99**** †
- run level が、? 以上で起動する時、/etc/rc?.d/S99**** を実行する
- run level が、? 以上で停止するとき、/etc/rc?.d/K99**** を実行する
- 実行順は、辞書順(慣用的にS,Kの後の2桁の数字が起動順序になる)
/etc/init.d/ †
/etc/init.d/**** start
/etc/init.d/**** stop
/etc/init.d/**** restart
svcs (サービスに関する情報を表示する) †
コマンド | 機能 |
svcs -\? | コマンドヘルプ |
svcs -a | 全サービスの列挙 |
svcs -p [FMRI] | サービスのプロセス情報の表示 |
svcs -d [FMRI] | [FMRI]に依存しているサービスを表示 |
svcs -D [FMRI] | [FMRI]が依存しているサービスを表示 |
svcs -l [FMRI] | [FMRI]の説明 |
svcs -x [FMRI] | [FMRI]のマニュアル・ログファイルの格納場所、障害情報など |
svcadm (サービスの起動・停止) †
コマンド | 機能 |
svcadm -\? | コマンドヘルプ |
svcadm enable [FMRI] | サービスをOS起動時に起動するようにする |
svcadm enable -t [FMRI] | サービスを今回に限り起動する |
svcadm disable [FMRI] | サービスをOS起動時に起動しないようにする |
svcadm disable -t [FMRI] | サービスを今回に限り停止する |
svcadm restart [FMRI] | サービスを再起動する |
svcadm (サービス定義の版数管理) †
コマンド | 機能 |
svcadm mark -l degraded | サービス定義を恒久的に degraded 状態に移行する |
svcadm mark -l maintenance | サービス定義を恒久的に maintenance 状態に移行する |
svcadm mark -t degraded | サービス定義を今回に限り degraded 状態に移行する |
svcadm mark -t maintenance | サービス定義を今回に限り maintenance 状態に移行する |
svcadm milestone [FMRI] | [FMRI]をマイルストーンに移動する(再起同時にこのサービス定義では起動しない) |
svcadm milestone -d [FMRI] | [FMRI]を最終マイルストーンに移動する(再起同時にこのサービス定義で起動する) |
svcadm clear [FMRI pattern] | markサブコマンドで指定した状態をクリアし、サービスを起動できるようにする |
svcprop (サービスの設定内容の表示) †
コマンド | 機能 |
svcprop [FMRI] | [FMRI]の設定内容を表示する |
svcprop -p name[/name] | name[/name]に合致するサービスの設定内容を表示する |
svccfg (サービス定義のインポート・エクスポート) †
コマンド | 機能 |
svccfg export [FMRI] | サービスの設定情報(manifest)を標準出力に出力 |
svccfg import [manifest] | サービスの設定情報(manifest)を登録 |
svccfg delete [FMRI] | サービスの設定情報を削除(SMF管理外になる。ファイル自体は消されない) |
未稿 †
- TODO inetconv(1M)
- TODO inetadm(1M)
- TODO proftpd の manifest を作って登録する
OpenSolaris on VMWare