广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 4554 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
cyutjason
数位造型
个人文章 个人相簿 个人日记 个人地图
小人物
级别: 小人物 该用户目前不上站
推文 x0 鲜花 x0
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[Linux] [转录]如何用 CVSup 去更新你的 source tree 以及 ports
在bbs上收集下来的文章
作者: DarkKiller (悸动) 看板: Daily
标题: Re: 如何用 CVSup 去更新你的 source tree, ports
时间: Tue Apr 24 15:55:19 2001

* License

No,我不打算用 BSD License,我还是比较喜欢 GPL Virus :)

The license of this document is:

GNU LIBRARY GENERAL PUBLIC LICENSE (version 2, June 1991)
http://www.gnu.org/cop...rary.txt

* 感谢

感谢 bugs/Leeym/TerryLiaw 三位学长的意见使这份文件更完备。

* 硬碟空间

依照 jdli 书的说法,2.2.x 系列的 source 才 150MB,不过时代不一样了...

目前 -current source 的部分大约在 350MB 到 400MB,-stable source 的部
分大约在 300MB 到 350MB。

ports 大约在 100MB,不过小档案很多,通常会吃掉 200MB 以上的空间。

所以我们建议你腾出 1GB 以上的空间出来放,你总不会装了 source,结果不
make world 吧? 所以,再准备 obj 吧 :)

如果你的 /usr 空间不够大,请把 /usr/src 跟 /usr/ports 用 ln link 到够
大的地方。

* 安装 cvsup-bin

首先我们会要求你安装 cvsup-bin 这个 package,你可以选用 ports 安装,或
是用 package 装:

如果你现在用的系统是 4.x,用:
pkg_add ftp://ftp.tw.freebsd.org/pub/FreeB...kages-4-stable/
(无空白接上行) All/cvsup-bin-16.1.tgz

如果你现在用的系统是 5.x,用:
pkg_add ftp://ftp.tw.freebsd.org/pub/FreeB...ages-5-current/
(无空白接上行) All/cvsup-16-16.1.tgz

* 修改相关的设定

在你的 /etc/make.conf 里面加上这几行:

SUP_UPDATE=   yes
SUP=         /usr/local/bin/cvsup
SUPFLAGS=     -g -L 2
#
# SUPHOST 代表要到哪台 CVSup,请改成离你比较近的 Server。
SUPHOST=     cvsup.tw.FreeBSD.org
#
# 如果你是用 -stable,请用 stable-supfile (目前的 -stable 是 4.3)
# 如果你是用 -current,请用 standard-supfile (目前的 -current 是 5.0)
SUPFILE=     /usr/local/examples/cvsup/stable-supfile
#SUPFILE=     /usr/local/examples/cvsup/standard-supfile
PORTSSUPFILE=   /usr/local/examples/cvsup/ports-supfile

* 检查 sbase

如果你当初安装的时候没有装 sys -> base 这个部分的话,你可以用 /stand 下
面的 sysinstall (建议就用这种方法)。

* 先安装好 old source ports (虽然非必要,但强烈建议)

因为 cvsup 时会吃掉 Server 许多的 resource,为了避开大量 checkout 的动
作造成 Server 的 heavy load,我们建议把旧的 source 以及 ports 先装好。

而且这样对于用数据机的 user 而言,会比较省时间。

你可以用 /stand/sysinstall 把 source 跟 ports 装好。

或者利用 ftp.nctu.edu.tw 提供的 NFS service 把新版的 source/ports 解开
到 /usr/src 以及 /usr/ports:

mount_nfs -o ro ftp.nctu.edu.tw:/ftp /mnt
cd /mnt/pub/FreeBSD/releases/i386/STABLE
(如果是 -current 就 cd /mnt/pub/FreeBSD/releases/i386/CURRENT)

cd src; sh ./install.sh all
cd ../ports; sh ./install.sh
cd /; umount /mnt

* make update

如果上面的步骤都做好,以后要更新 source tree/ports tree 的话,请到
/usr/src 下面 make update 吧:

cd /usr/src
make update

然后它就会开始跑。跑完以后就会有最新的 source & ports。
* make world

*请注意* 接下来的东西,请详细阅读 /usr/src/UPDATING,以这个档案里面说的
      为准!!!

在 make world 前,请先看看 /usr/src/UPDATING,以及 Mailing list 上面的
-current (如果你是玩 current) 或 -stable (如果你是玩 stable),另外有时
候也会出现在 -questions。

一般没有什么大变动的话,打 make world 就可以了:

make -j2 world > /tmp/world 2>&1 &

-j 后面接的数字建议用 CPU 的个数加一就可以了,也就是如果只有一颗 CPU
时,我们建议用 -j2,两颗 CPU 时,建议用 -j3。

如果你想要看 make world 的情况,打 tail -f /tmp/world 就可以了。

* make kernel

在 *一般的情况* 下,make world 完后就 make kernel 吧:

*请注意* 请详细看 /usr/src/UPDATING 的说明!!!

cd /usr/src
make KERNCONF=BLAHBLAH buildkernel
make KERNCONF=BLAHBLAH installkernel

上面也可以化简为:

cd /usr/src
make KERNCONF=BLAHBLAH kernel

当然,旧的方法 (目前市面上面的书应该都还是旧的方法) 也是可以用,但是
我们不保证用不会有事情:

cd /usr/src/sys/i386/conf
config BLAHBLAH
cd ../../compile/BLAHBLAH
make depend all install

* mergemaster

当然,旧的方法 (目前市面上面的书应该都还是旧的方法) 也是可以用,但是
我们不保证用不会有事情:

cd /usr/src/sys/i386/conf
config BLAHBLAH
cd ../../compile/BLAHBLAH
make depend all install

* mergemaster

做完 make world & make kernel 后,有时候 /etc 下面的东西也会变更,这
时候就要跑 mergemaster 把 /usr/src/etc 的东西跟 /etc 的东西 sync:

mergemaster

然后请照他的说明做 :) 通常就是一直选 'i',除了 csh.* 跟你的密码档
/etc/master.passwd 外...

--
                        Gea-Suan Lin <gslin@informath.net>
--


[ 此文章被andyz在2005-05-18 19:48重新编辑 ]

此文章被评分,最近评分记录
财富:50(codeboy)



献花 x0 回到顶端 [楼 主] From:台湾数位联合 | Posted:2005-01-05 17:53 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.073184 second(s),query:15 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言