Ports & Package( 三 )


来抓 。一般抓下来的;ports;应该是放在;/usr/ports/;下的对应目录下
,如;amp;就应该放在;/usr/ports/audio/amp/;下,但是并没有硬性规
定就是了 。

整个目录抓下来後,再来就是要执行;make;了 。在;ports;下;make;有几
种不同的参数,这些参数在;/usr/share/mk/bsd.port.mk;里面都有详细
的解说 。当你直接打;make;时,其实就是按照;fetch(抓回;source);->
extract(检查;source;的;md5;并解开;source);->;patch(对;source;做
patch);->;configure(设定);->;build(编译);这样一路做下来,把整个
ports;编译好,而要等到你指定了;make;install;後才会真的把这个;
ports;安装到系统上去 。最後安装完後可以再;make;clean,把解开的
source;等东东清除掉 。

在;make;fetch;时,系统会依照下列顺序来寻找需要的;source:

1.;/usr/ports/distfiles;下
2.;/etc/make.conf;档中指定的;MASTER_SITE_BACKUP
3.;Makefile;里指定的;MASTER_SITES

/etc/make.conf;内定是到;FreeBSD;总部去抓,不过其实一般这些
source;都可以在;ftp://freebsd.csie.nctu.edu.tw/pub/distfiles;目
录下面抓到,所以你可以把;MASTER_SITE_BACKUP;改成:

MASTER_SITE_BACKUP?=;;
ftp://freebsd.csie.nctu.edu.tw/pub/distfiles/${DIST_SUBDIR}/

节省到国外抓档的频宽 。当;make;extract;後,会把;source;解开到
working;目录下去 。如果你想自己改一改;source,可以在;make;patch
之後到;working;目录下去修改 。然後;make;configure;和;make;build
时我们大概也没什麽事好做了,就看电脑萤幕上的字一行行的向上,
简单一点的;ports;可能你做十下伏地挺身它就能;make;好,大一点的可
能就你出去跟人聊天串门子回来後它还在跑 。

有时候呢,ports;A;会和;ports;B;发生关,在安装;ports;A;时系统
会去找;ports;B,如果找到会先装好;ports;B;再回头来装;ports;A,但
是如果找不到;ports;B;时就会给你一个警告,你就需要再去抓;ports;B
回来安装 。但是这样缺啥补啥也是满麻烦的,即然用了;FreeBSD;就要善
用;FreeBSD;提供的好用功能;--;CTM 。首先,/usr/ports;下最好有;
50Mb;左右的硬碟空间,然後到
ftp://freebsd.csie.nctu.edu.tw/pub/CTM/ports-cur;下面抓回
ports-cur.????xEmpty.gz(找一个数字最大的;????;抓)以及所有
*;>;????;的;ports-cur.*.gz,比如说你抓了;ports-cur.2000xEmpty.gz
,那就要把;ports-cur.2001.gz,;ports-cur.2002.gz....;通通抓回来
。如果你抓回来的;gz;档都放在;/tmp/ctm;下,就使用以下指令:

cd;/usr/ports
/bin/rm;-rf;*
ctm;-v;/tmp/ctm/*

这样就会把全部的;ports;通通收在你的系统上,以後安装时就不需要再
担心缺东少西的问题了 。而且之後如果;ports;又有更新,也只需要抓回
新的;gz;档,用;ctm;来更新即可,方便又省事 。

推荐阅读