我是 Linux 新手
我想在我的 ubuntu 机器上制作一些启动脚本。启动脚本将自动启动我的 ftp、http 服务器。
我怎样才能以正确的方式做到这一点?
谢谢
成套工具
答案1
大多数服务器,如果在 Ubuntu 中使用 synaptic/apt-get 进行安装,并且我猜 Fedora 中有一个等效的程序(rpm?),将自动安装启动脚本。
它们通常以目录结尾/etc/init.d
。
有一个概念runlevels
定义何时启动和停止守护进程。这些通常在 /etc/rcX.d/ 中找到,其中 X 是一个从 0 到 6 的整数加上“S”,这意味着在运行级别 X 中运行文件[SK]{00..99}名称按编号顺序(00 到 99)执行,其中 S 前缀表示开始,K 表示终止。
/etc/rc2.d/S20powernowd
例如,这些文件只是指向实际文件的符号链接/etc/init.d通过反射,它们会自行评估它们是否以 S 或 K 开头,以调用脚本的开始或停止部分。
编号很重要,因为许多服务依赖于其他服务。文件系统必须在早期阶段安装,许多程序需要网络正常运行,日志守护程序已启动等等。
你看,这有点复杂,除了学习目的之外,你不喜欢手动做任何事情。
因此,请使用您的发行版的规范安装顺序,并研究 /etc-Scripts 以了解其工作原理。
您通常可以使用以下命令之一在 /etc/init.d 中启动或停止服务并执行其他操作:
sudo /etc/init.d/ftpd help
sudo /etc/init.d/ftpd start
sudo /etc/init.d/ftpd restart
sudo /etc/init.d/ftpd stop
sudo /etc/init.d/ftpd status
但这只是惯例 - 一些服务可能不会使用所有这些选项,一些服务会使用或多或少的选项。
在 Ubuntu 中,情况最近有所改变。现在有 upstart 守护进程,它希望你使用
sudo restart apache2
sudo status httpd
达到相同的结果,但今天如果我使用旧的和更常见的样式,我只会收到警告。我不知道其他 Linux 风格和 Unix 系统是否也正在切换到 upstart。