Using rc under FreeBSD

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 之後才啟動。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *