debianでデーモンを作成する方法がネットを調べても古い情報やらいろいろ混じって分かりにくかったのでメモメモ
Debianのデーモンに関係するディレクトリとコマンド
/etc/init.d /etc/rc?.d update-rc.d sysv-rc-conf
の4つ
簡単な流れ
1. /etc/init.d/ に起動スクリプトを配置する
※ /etc/init.d/skelton が起動スクリプトのサンプル
2. update-rc.d コマンドで、/etc/rc?.d/ にスクリプトのリンクを配置する (ls -t コマンドで確認可)
※ コマンドを実行すると、”SNoName”の形式で /etc/rc?.d/にリンクが配置される
※ “SNoName”
”S”起動”K”停止の略
”No”は二桁の数字で優先度
”Name”はスクリプト名
3. sysv-rc-conf コマンドで runlevel ごとのスクリプトの起動停止を設定
※ update-rc.d でも設定可能。 sysv-rc-conf の方が直感的で使いやすい。
※ 具体的には、”SNoName” の S と K を変更してる
4. 再起動して確認
※ システムの起動時に /etc/rc?.d/ の中のリンクされたスクリプトが実行される
※ /etc/rc?.d/ の “?” は現在のrunlevel
SoftEtherVPNで実際に設定してみる
$ sudo cp skelton vpnserver $ sudo nano vpnserver # Provides: vpnserver NAME=vpnserver do_start() { $DAEMON start } do_stop() { $DAEMON stop }
※ 基本的にファイルの上の方(LSBヘッダー)を少し書き換えるだけでOK
参考URL http://d.hatena.ne.jp/paraches/20060403
※ start や stop の中で start-stop-daemon が使われてますが使わなくてもOK
※ 戻り値は気にしなくてOK…今のところ..
※ スクリプトファイル名とNAMEは一致させておく
$ sudo chmod +x vpnserver // 実行可能 $ sudo ./vpnserver start //開始確認 SoftEther VPN Server Service Started. $ sudo ./vpnserver stop //停止確認 Stopping SoftEther VPN Server Service... SoftEther VPN Server Service Stopped. $ sudo update-rc.d vpnserver defaults //設置 $ sudo sysv-rc-conf //設置内容確認変更 $ sudo shutdown -r now $ pstree
thank you for running a vpngate