2002 年以來,FreeBSD 將 NetBSD 的 rc 整合至系統中
用於系統啟動時,載入網路、防火牆與系統服務服務。
但有時系統上的服務彼此具有相依性,比方說:
Snort 可能需要以 MySQL 作為後端,此時 MySQL 必須在 Snort 之前啟動。
因此,我們需要採用 rcorder (8)來指定 service 載入順序
一個典型的 rc file 會含有 REQUIRE, PROVIDER, BEFORE 等變數,例如:
# REQUIRE: syslog
# PROVIDE: dns nscd
其中的 # (pound) 與緊接著空白 (white-space) 有別於一般的註解
代表了 rcorder (8) 所需的變數。
Snort 的 rc file 原本中 rcorder 變數原本為:
# PROVIDE: snort
# REQUIRE: DAEMON
# BEFORE: LOGIN
# KEYWORD: shutdown
只要在 REQUIRE 欄位加上 mysql
此為 mysql-server 這個 rc file 當中的 PROVIDE 變數值,變為:
# PROVIDE: snort
# REQUIRE: DAEMON mysql
# BEFORE: LOGIN
# KEYWORD: shutdown
即可讓 Snort 在 MySQL 之後才啟動。