前幾天送了個 pr ( problem report ) 回去給總部, 順便在這邊說一下好了, 反正太久沒寫 Blog .
這個 pr 是 Apache 2.2 啟動用的 shell script 問題.
我不知道 2.1 有沒有這問題, 因為我用的是 2.2 , 下面也是以 2.2 做說明.
之前官方並沒有提供 apache22_http_accept_enable 這個參數讓我們丟進 /etc/rc.conf , 所以唯一解法是在 /boot/loader.conf 加進這行 :
accf_http_load=”YES”
現在 /usr/local/etc/rc.d/apache22.sh 裡面可以看到這段 :
# apache22_http_accept_enable (bool): Set to "NO" by default.
# Set to yes to check for accf_http kernel
# module on start up and load if not loaded.
跟這段 :
if checkyesno apache22_http_accept_enable
then
if ! /sbin/kldstat -q -m accf_http
then
/sbin/kldload accf_http
fi
else
apache22_flags="-DNOHTTPACCEPT $apache22_flags"
fi
很明顯的, 這邊用到 kldstat 的 -q 跟 -m 這兩個選項.
但是 kldstat 在 FreeBSD 6 裡面才有支援 -q , 而 -m 則是在 5.4 STABLE 才有支援 , 5.4 RELEASE 以下都沒有.
- kldstat online manpage – FreeBSD 6.0
- kldstat online manpage – FreeBSD 5.4 STABLE
- kldstat online manpage – FreeBSD 5.4 RELEASE
所以在 5.4 RELEASE (含) 以下的平台在啟動時會看到這種訊息 :
kldstat: illegal option -- q
usage: kldstat [-v] [-i id] [-n name]
所以我送 pr 去請他們把 -q -m 改成 -n 就好.
目前看來是還沒處理, 不知道會不會回我信, 叫我改用 FreeBSD 6.0 ?
12 月 28 2005
FreeBSD ports 裡的 Apache 2.2 啟動 shell script 的問題
前幾天送了個 pr ( problem report ) 回去給總部, 順便在這邊說一下好了, 反正太久沒寫 Blog .
這個 pr 是 Apache 2.2 啟動用的 shell script 問題.
我不知道 2.1 有沒有這問題, 因為我用的是 2.2 , 下面也是以 2.2 做說明.
之前官方並沒有提供 apache22_http_accept_enable 這個參數讓我們丟進 /etc/rc.conf , 所以唯一解法是在 /boot/loader.conf 加進這行 :
現在 /usr/local/etc/rc.d/apache22.sh 裡面可以看到這段 :
跟這段 :
很明顯的, 這邊用到 kldstat 的 -q 跟 -m 這兩個選項.
但是 kldstat 在 FreeBSD 6 裡面才有支援 -q , 而 -m 則是在 5.4 STABLE 才有支援 , 5.4 RELEASE 以下都沒有.
所以在 5.4 RELEASE (含) 以下的平台在啟動時會看到這種訊息 :
所以我送 pr 去請他們把 -q -m 改成 -n 就好.
目前看來是還沒處理, 不知道會不會回我信, 叫我改用 FreeBSD 6.0 ?
By Joe Horn • FreeBSD 0 • Tags: Apache, FreeBSD, shell script