Debian

將執行級別 2 更改為 5 時啟動的 FTP 伺服器

  • October 28, 2015

我一直在尋找這個一段時間:

當我從執行級別 2 更改為執行級別 5 時,我如何啟動 fe proftpd?

當我回到執行級別 2 時,服務應該再次停止。

所以 - 從執行級別 2 更改為 5 時啟動 ftp-server - 更改回時停止 ftp-server

(旁注:ftp-server 不允許在啟動時啟動,所以也不應該改變)

我發現的最接近的是:

# update-rc.d -n <service> start 2 . stop 2 .

當然,這是不正確的。有任何想法嗎?

如果你看一下,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

引用自:https://unix.stackexchange.com/questions/239242