[FreeBSD] make 的相關設定
| 元月 16, 2007 | 沒有迴響| 沒有引用| 3927 reads | Size: L, M, S | Edit: P, C, R || Category: Unix-like. |
找了一下相關資料,紀錄一下。
做這些設定的好處是可以編譯時就最佳化,而且也可以防止 portupgrade 的時候沒有照你要的去 complier。
/etc/make.conf:
首先要做的是:
1. 安裝 csup(FreeBSD 6.2不需要安裝):
# cd /usr/ports/net/csup; make insrall clean
2. csup/cvsup 設定檔:
# cp /usr/share/examples/cvsup/stable-supfile /usr/local/etc/
# cp /usr/share/examples/cvsup/ports-supfile /usr/local/etc/
然後修改裡面的設定,例如「*default release=cvs tag」和「*default host」等。
3. 編輯 /etc/make.conf 檔案,加入下列內容:
CPUTYPE?= pentium3
MASTER_SITE_BACKUP?=
ftp://ftp.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp5.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp10.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp2.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp3.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp4.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp7.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp8.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp9.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp11.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp12.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/\
ftp://ftp.freebsd.org/pub/FreeBSD/ports/distfiles/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?= ${MASTER_SITE_BACKUP}
MASTER_SORT_REGEX= .tw/ .tw. .edu/ .edu.
SUP_UPDATE= YES
SUP= /usr/bin/csup
SUPFLAGS= -4 -L 2 -Z
SUPHOST= cvsup.tw.freebsd.org
SUPFILE= /usr/local/etc/stable-supfile
PORTSSUPFILE= /usr/local/etc/ports-supfile
KERNCONF= MyKernel
WITHOUT_X11= YES
ENABLE_SUIDPERL=YES
然後記得修改為你的設定,例如「CPUTYPE?=」、「KERNCONF=」等,還有把「\」換成半形。另外,FreeBSD 6.2 的話,要把「SUP=/usr/local/bin/csup」改為「SUP=/usr/bin/csup」。
之後,只要到 /usr/src 打 make update,就會更新 src 和 port tree 了。
4. 如果有興趣,也可以丟入 crontab 讓他自己跑:
0 5 * * * (cd /usr/src; make update)
不過要小心偶爾可能會採地雷。
/usr/local/etc/pkgtools.conf:
一開始沒注意到這個問題,用 portupgrade 升級的時候才發現 apache 沒有照我要的方式編譯(With-MPM=worker),找了一下才知道可以設定在這邊。找到 MAKE_ARGS = { } 部份,按照上面範例輸入要的 flag。例如我的是:
MAKE_ARGS = {
'www/apache22' => [
'WITH_MPM=worker',
'WITH_THREADS=yes',
'WITH_STATIC_SUPPORT=yes',
'WITH_APACHE_SUEXEC=yes',
'WITH_ALL_STATIC_MODULES=yes',
'WITHOUT_PROXY=yes',
],
'lang/php5' => [
'WITH_CLI=YES',
'WITH_CGI=YES',
'WITH_APACHE=YES',
'WITH_MULTIBYTE=YES',
'WITH_FASTCGI=YES',
'WITH_PATHINO=YES',
],
'databases/mysql51-*' => [
'WITH_CHARSET=utf8',
'BUILD_OPTIMIZED=yes',
'BUILD_STATIC=yes',
],
'graphics/ImageMagick' => 'WITHOUT_X11=yes',
'lang/php5-extensions' => 'WITHOUT_X11=yes',
}
這樣 portupgrade 的時候就不會有問題了。
參考資料:
slzzp 指導 make.conf 跟 portupgrade 相關、
安裝應用軟體:The Ports collection 等。
隨機文章:
» [FreeBSD] phpSysInfo, phpMyAdmin
» [FreeBSD] MRTG
» [FreeBSD] Apache, MySQL, PHP
» [FreeBSD] MRTG - 偵測流量、CPU Load、RAM Usage
» [FreeBSD] 加速你的 PHP - APC

