ランレベル2を5に変更したときにFTPサーバーを起動する

ランレベル2を5に変更したときにFTPサーバーを起動する

私はこれをしばらく探していました:

ランレベル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

おすすめ記事