如果你很清楚安装软件的依赖性,可注释掉ports-all行,不让cvsup整个ports树,并指定下载ports分支代码。如下,一个WEBSERVER的实例:
#ports-all
ports-base
#ports-arabic
ports-archivers
#ports-astro
#ports-audio
#ports-benchmarks
#ports-biology
#ports-cad
#ports-chinese
ports-comms
ports-converters
ports-databases
ports-deskutils
ports-devel
ports-dns
ports-editors
ports-emulators
#ports-finance
#ports-french
ports-ftp
#ports-games
#ports-german
#ports-graphics
#ports-hebrew
#ports-hungarian
#ports-irc
#ports-japanese
ports-java
#ports-korean
ports-lang
ports-mail
ports-math
#ports-mbone
ports-misc
#ports-multimedia
ports-net
#ports-news
#ports-palm
#ports-picobsd
#ports-polish
#ports-portuguese
ports-print
#ports-russian
#ports-science
ports-security
ports-shells
ports-sysutils
ports-textproc
#ports-ukrainian
#ports-vietnamese
ports-www
#ports-x11
#ports-x11-clocks
#ports-x11-fm
#ports-x11-fonts
#ports-x11-servers
#ports-x11-toolkits
#ports-x11-wm
3. 同步源代码
# /usr/local/bin/cvsup -g -L 2 /etc/ports-supfile
# /usr/local/bin/cvsup -g -L 2 /etc/stable-supfile
注:
-g:告诉 CVSup 不要使用 GUI。如果您没在运行 X11 这个是自动的,否则您必须指定它。
-L 2:告诉 CVSup 输出所有正在升级的文件的细节。有三个等级可以选择,从 -L 0 到 -L 2。默认是 0,意味着除了错误消息什么都不输出。
4. 更新系统
4.1 阅读 /usr/src/UPDATING
这个文件要包含有关于您可能遇到的问题的重要信息,或指定了您可能使用到的命令的执行顺序。
4.2 检查 /etc/make.conf
一般的通常会从 /usr/share/examples/etc/make.conf (或者 FreeBSD 4.X 中的 /etc/defaults/make.conf) 复制 CFLAGS 和 NOPROFILE 这样的设置到 /etc/make.conf 中并令它们生效。请注意在 /etc/make.conf 中的任何设置同时也会影响每次运行 make 的结果,因此设置一些适合自己系统的选项是一个好习惯:
#指定下载源码的服务器
MASTER_SITE_BACKUP?=
ftp://202.113.12.9/pub/FreeBSD/ports/distfiles/$/
ftp://ftp.freebsd.org.cn/pub/FreeBSD/ports/distfiles/$/
ftp://ftp.freebsdchina.org/pub/FreeBSD/ports/distfiles/$/
MASTER_SITE_OVERRIDE?= $
#编译器选项
CPUTYPE=athlon-xp
##本人使用AthlonXP 2500+,不同的CPU请参考man make.conf##
CFLAGS+= -mfpmath=sse -mmmx -msse -m3dnow -maclearcase/" target="_blank" >ccumulate-outgoing-args -minline-all-stringops
## 不建议使用O2、O3、Os的优化,因为不是全部应用程序可以稳定工作于O2、O3、Os。况且多仅获得7%的额外性能。CFLAGS的默认为"-O1 -pipe",不需要覆盖,所以使用+=。不建议使用-f...系列优化,因为不是全部应用程序可以对此稳定工作。
##-mfpmath=sse: PentiumIII兼容的CPU可以打开-mfpmath=sse来代替传统i387的浮点运算,加快速度。参阅CPU产品手册来确定CPU是否含有SSE功能。
## -mfpmath=pni: Pentium4 Prescott兼容的CPU可以打开-mfpmath=pni来代替传统i387的浮点运算,加快速度。参阅CPU产品手册来确定CPU是否含有PNI功能。
## -mmmx: 打开mmx指令来增加代码性能。适用于PentiumMMX兼容CPU。
## -msse: 打开sse指令来增加代码性能。适用于PentiumIII兼容CPU。
## -msse2: 打开sse2指令来增加代码性能。适用于Pentium4兼容CPU。
## -mpni: 打开pni指令来增加代码性能。适用于Pentium4 Prescott兼容CPU。
## -m3dnow: 打开3DNow!指令来增加代码性能。适用于K6、Athlon兼容CPU。
## -maccumulate-outgoing-args -minline-all-stringops :通过减少某些动作来实现加速,经作者实验,比较稳定。
CXXFLAGS+= -fmemoize-lookups -fsave-memoized
## make.conf提到的C++代码优化。
#系统编译选项
KERNCONF=(FILENAME)
## 内核配置文件名,将(FILENAME)更改为自己的内核文件名。
NOINET6=true
## 尽量不使用用IPV6协议。
NOATM=true
## 尽量不使用ATM,本选项仅适用于非ADSL用户。
NO_SENDMAIL=true
## 尽量不使用SENDMAIL。
NOGAMES=true
## 不安装所有游戏
NO_I4B=true
## 尽量不使用ISDN For BSD。
NO_IPFILTER=true
## 尽量不使用IP Filter。
BATCH=yes
## 安静编译,编译时跳过所有提问。适用于某些隔夜一次性编译程序的用户。
#X-Window编译选项
XFREE86_VERSION=4
## 尽量使用4.3版本的X-Window
WITH_SETUID_LUIT=yes
## 不使用本项的话,运行xterm会出现luit错误的问题.
WITH_GTK2=yes
## 尽量使用GTK2为gtk应用程序的运行库
USE_MMX_ASM=yes
## 编译Xfree86时,尽量使用MMX代码,仅适用于PentiumMMX兼容CPU.
USE_3DNOW_ASM=yes
## 编译Xfree86时,尽量使用3DNOW代码,仅适用于K6、Athlon兼容CPU.
WITHOUT_KDE_MENUS=yes
## 使用GNOME时,不添加KDE程序在菜单上。
#多媒体编码选项
WITH_CDPARANOIA=yes
WITH_AALIB=yes
WITH_ESOUND=yes
WITH_FAAD=yes
WITH_FLAC=yes
WITH_FREETYPE=yes
WITH_GDKPIXBUF=yes
WITH_GSM=yes
WITH_HERMES=yes
WITH_JPEG=yes
WITH_LADSPA=yes
WITH_LAME=yes
WITH_LIBA52=yes
WITH_LIBAUDIOFILE=yes
WITH_LIBCACA=yes
WITH_LIBFAME=yes
WITH_LIBMIKMOD=yes
WITH_LIBMPEG2=yes
WITH_LIBMUSICBRAINZ=yes
WITH_LIBSHOUT=yes
WITH_LIBSIDPLAY=yes
WITH_LIBSNDFILE=yes
WITH_LIBTHEORA=yes
WITH_MAD=yes
WITH_NAS=yes
WITH_PANGO=yes
WITH_PNG=yes
WITH_SDL=yes
WITH_SMOOTHWAVE=yes
WITH_SPEEX=yes
WITH_SWFDEC=yes
WITH_VORBIS=yes
WITH_VORBISIDEC=yes
WITH_XINE=yes
WITH_XVID=yes
## 以上所有多媒体选项仅在应用程序支持时打开。