保持一个最新的ports树
tcsm | 07 四月, 2007 07:05
ports树是一个非常奇特而吸引人的工具。这也是我选择FreeBSD而不选择其他类Unix OS的一个最大的原因。ports虽好,但过一段时间就过时了。所以你需要及时进行更新。用cvsup工具并且连上Internet,你就可以保持你的ports树为最新! cvsup不仅可以更新现有的port,还可以加入新的port到你的ports树中。为了更新你的ports,你需要安装cvsup-bin。你可以现在然后安装,或者直接从ports中安装,你还可以从FreeBSD CDROM中安装。
接下来,你就需要修改ports-supfile文件,该文件用来设置升级ports的镜像站以及你所要升级的ports(默认为升级所有的ports).
最后,你要运行cvsup命令来更新你的ports树。写此文时,我已假定你的FreeBSD系统可以连上Internet!下面为具体步骤:
[1-安装cvsup-bin]
cvsup工具是用来比较cvs库和用户ports树的客户机/服务器(client/server)程序。它仅仅会去下载那些自你安装或上一次更新ports以来,出现的新的port和已经做了修改的port.你需要以root身份来安装该工具。
Login:root
Password:*****
cd /usr/ports/net/cvsup-bin
make install && clean
(或者在新安装的系统上)
cd /usr/ports/net/cvsup-without-gui
make install && make clean
[2-建立、修改supfile文件]
一旦你安装了cvsup工具,你就要建立并修改supfile文件。supfile是cvsup的配置文件,你可以在/usr/share/examples/cvsup/ 找到它的sample文件。复制(cp)ports-supfile到/root目录下并做修改,如下:
cp /usr/share/examples/cvsup/ports-supfile /root
cd /root
ee ports-supfile
或者
vi ports-supfile
你需要修改你要用的升级站点。例如,改
*default host=CHANGE_THIS.FreeBSD.org
为:
*default host=cvsup1.FreeBSD.org
假如你不修改此文件的其他东西,将会更新你的整个ports树。然而,假如你仅想更新单个目录(比如security),你就可以注释(#)掉src-all,并且去掉你想升级的目录前的#,例如此例的操作为:
改:
src-all
为:
#src-all
并且改:
# security
为:
security
保存文件。上面的例子仅仅会更新security 目录。但是,我还是建议你更新整个ports树,这样的话,所有不同目录下的相关的ports都会得到更新。
[3-升级 ports]
Login: root
Password: *******
cd /root
cvsup ports-supfile
cvsup将会连到服务器(cvsup1)并且更新你的ports树。被更新的port的名字将会显示到屏幕上。升级完成也会有信息显示。
[注意]:假如你细心的话,你就会发现/usr/share/examples/cvsup/下还有几个不同的supfiles.我用ports-supfile 和 stable-supfile. ports-supfile 用来更新ports树,stable-supfile用来同步FreeBSD系统内核源码。假如你想获得cvsup的更多知识,我强烈建议你看看man页:man cvsup