私はこれをしばらく探していました:
ランレベル2からランレベル5に変更したときにfe proftpdをどのように起動しますか?
ランレベル2に戻ると、サービスは再び停止する必要があります。
したがって、ランレベル2から5に変更した場合はftp-serverを起動し、ランレベルに戻すときはftp-serverを停止します。
(注:FTPサーバーは起動時に起動できないため、変更しないでください。)
私が見つけた最も近いものは次のとおりです。
# update-rc.d -n <service> start 2 . stop 2 .
もちろん、これは間違っています。どんなアイデアがありますか?
答え1
見てみると、man update-rc.d
いくつかの例を見ることができます。これはおそらくあなたが望むものです:
update-rc.d proftpd start 80 5 . stop 20 0 1 2 3 4 6 .
80と20は、proftpdが他のほとんどのサービスより遅く起動するようにするためのものです。
次のコマンドを使用して、まず既存のリンクを削除する必要がありますupdate-rc.d -f proftpd remove
。
最新バージョンのオペレーティングシステムを使用している場合は、上記の方法が機能しているように見えますが、オプションは考慮されません。代わりにファイルを編集し、
/etc/init.d/proftpd
ヘッダーを次のように変更する必要があります。
#!/bin/sh
### BEGIN INIT INFO
# Provides: proftpd
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 5
# Default-Stop: 0 1 2 3 4 6
# X-Interactive: false
# Short-Description: proftpd
### END INIT INFO
そしてupdate-rc.d proftpd defaults
代わりに走ってください。
update-rc.d
後で呼び出すだけでinsserv
作業が完了し、すべての依存関係と開始/停止が自動的に計算され、変更できないためです。
正しいリンクがあることを確認してくださいls -l /etc/rc*/*proftpd
。たとえば、出力は次のようになります。
lrwxrwxrwx 1 root root /etc/rc0.d/K01proftpd -> ../init.d/proftpd
lrwxrwxrwx 1 root root /etc/rc1.d/K01proftpd -> ../init.d/proftpd
lrwxrwxrwx 1 root root /etc/rc2.d/K01proftpd -> ../init.d/proftpd
lrwxrwxrwx 1 root root /etc/rc3.d/K01proftpd -> ../init.d/proftpd
lrwxrwxrwx 1 root root /etc/rc4.d/K01proftpd -> ../init.d/proftpd
lrwxrwxrwx 1 root root /etc/rc5.d/S04proftpd -> ../init.d/proftpd
lrwxrwxrwx 1 root root /etc/rc6.d/K01proftpd -> ../init.d/proftpd