[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/srcmake 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


Leave A Comment: