![将运行级别 2 更改为 5 时启动 FTP 服务器](https://linux22.com/image/76138/%E5%B0%86%E8%BF%90%E8%A1%8C%E7%BA%A7%E5%88%AB%202%20%E6%9B%B4%E6%94%B9%E4%B8%BA%205%20%E6%97%B6%E5%90%AF%E5%8A%A8%20FTP%20%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我一直在寻找这个有一段时间了:
当我从运行级别 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