Linux® 使用 Sysv init 初始化系统,而 FreeBSD 使用的是传统的 BSD 风格的 init(8)。在 BSD 风格的 init(8) 中没有运行级别和 /etc/inittab, 代替控制启动的是 rc(8) 实用程序。 /etc/rc 脚本读取 /etc/defaults/rc.conf 和 /etc/rc.conf 文件来决定哪个服务将被启动。 特殊服务在此后由处于 /etc/rc.d/ 和 /usr/local/etc/rc.d/ 下的相应服务初始化脚本文件所启动。 这些脚本类似于位于 Linux 系统中的 /etc/init.d/ 目录下的脚本。
为何会有两个服务初始化脚本的目录呢? /etc/rc.d/ 下的脚本是属于 “基本” 系统一部分的应用程序所使用的。 (cron(8),sshd(8),syslog(3),以及其他。) /usr/local/etc/rc.d/ 下的脚本是用户安装的应用程序如 Apache, Squid 等使用的。 “基本” 系统和用户安装的应用程序之间的区别是什么? FreeBSD 是一套开发出来的完整的操作系统,也就是说,内核,系统类库, 还有实用应用程序(如 ls(1),cat(1),cp(1) 等) 全部被做为一个整体一起开发并释出。这就是被认为归属于 “基本”系统的程序。用户安装的程序并不是 “基本”系统的一部分,如 Apache,X11, Moazilla Firefox,等等。这 些用户安装的应用程序通常是使用 FreeBSD 的 Packages 和 Ports 套件安装上去的。为了将这些程序和 “基本” 系统区分开来,用户安装的应用程序通常被安装到 /usr/local/下。 因此用户安装的二进制执行文件存在于 /usr/local/bin下,配置文件在 /usr/local/etc下,以此类推。 |
您可以通过在 /etc/rc.conf(rc.conf(5)) 文件中增加与之对应的 ServiceName_enable="YES" 配置来启用服务。 看一下系统默认的 /etc/defaults/rc.conf 文件, 这些默认配置可以使用 /etc/rc.conf 文件来改变。 因此, 当安装附加应用程序时最好回顾下文档来决定到底该如何启用任何相关的服务。
下面的一小段内容用来在 /etc/rc.conf 中启用 sshd(8) 和 Apache 2.2。 还指定了 Apache 应该通过 SSL 方式启动。
# enable SSHD sshd_enable="YES" # enable Apache with SSL apache22_enable="YES" apache22_flags="-DSSL"
一旦服务已经在 /etc/rc.conf 中启用,服务将能够从命令行启动(不需要重新启动系统):
# /etc/rc.d/sshd start
如果服务还没有被启用,可以使用 forcestart
来从命令行启动:
# /etc/rc.d/sshd forcestart
本文档和其它文档可从这里下载:ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
如果对于FreeBSD有问题,请先阅读文档,如不能解决再联系<[email protected]>.
关于本文档的问题请发信联系 <[email protected]>.