还是可透过网路来享用FreeBSDpackages,大部分只要将文件的/cdrom/改成
ftp://freebsd.ntu.edu.tw/freebsd/即可。
packages为FreeBSD「招牌特色」之一,喜欢「玩软体」的人更不可错过这个
「招牌特色」!;-)
=FreeBSDpackages使用说明=
(hopenet2)
若已知想安装的package名称为何,如joe(一个很受欢迎的unixeditor):
cd/cdrom/packages/All;pkg_addjoe-2.8.tgz
装完後在/var/db/pkg/joe-2.8/会留下相关的记录。
想知道这个packages装了什麽东西、装在何处,可以tartvfzjoe-2.8.tgz看看。
若不知道有什麽package可用,只是想试试各种editor,可看一下
/cdrom/packages/editors/的packages,假设看到了emacs-19.34b.tgz觉得有
爱好,想知道这套package有什麽特色:
pkg_infoemacs-19.34b.tgz
此外,less/cdrom/INDEX有简要的说明,善用INDEX可很快找到合用的
package。
XXXXXXXXXX
packages/All/是编好现成可用的binary,若想自己从source编,可透过ports
来做这件事,举例来说,若想看看pine-3.96.tgz的source:
请把hopenet2(也就是本张光碟)umount(umount/cdrom),换成hopenet1再
mount上去(mount/cdrom)。
cd/cdrom/cvs-2.2/ports;lessINDEX查得(/^pine
下:
mkdir-p/usr/ports/mail;cp-pRmail/pine/usr/ports/mail
mkdir-p/usr/ports/distfiles
cd/usr/ports/mail/pine
lessfiles/md5查得需要pine3.96.tar.gz这个档,也就是得设法将这个档
放到/usr/ports/distfiles:
cp/cdrom/distfiles/pine3.96.tar.gz/usr/ports/distfiles
cd/usr/ports/mail/pine
makeinstall
若要产生package-%26gt;makepackage
至於make後面可加什麽-%26gt;less/usr/share/mk/bsd.port.mk
如"makeextract","makepatch","makeconfigure"....
/cdrom/distfiles/收集有/cdrom/pkg/(常用到的packages)相关的source,
这些sourcefile的「原始位(发源地)」可从Makefile看出,files/md5列出
了需要用到的档名,除了到「发源地(通常在国外)」抓这些档外,也可先查查四周
的网站有没有这些档,建议的查询顺序为:
1./cdrom/disftiles
2.ftp://freebsd.csie.nctu.edu.tw/pub/distfiles
3.ftp://freebsd.ntu.edu.tw/freebsd/distfiles
4.archie-c要找的档名,archie有现成的package可装,如:
pkg_add/cdrom/pkg/archie-1.4.1.tgz
manarchie可查得更多的讯息(exportARCHIE_HOST=archie.ncu.edu.tw.)
找到需要的案後,放到/usr/ports/distfiles,待会make时就不会到「发源地」
辛劳的抓档。
/etc/make.conf也可设定/usr/ports/distfiles缺少的档优先从何处抓取,如:
MASTER_SITE_BACKUP?=\
ftp://freebsd.csie.nctu.edu.tw/pub/distfiles/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?=${MASTER_SITE_BACKUP}
ports还有其它有趣的用法,比如说想找中文相关的ports
cd/cdrom/cvs-2.2/ports;makesearchkey=chinese|less
其它用法请参阅ports的Makefile,或查查Handbook(00www-mirror/)相关的章节。
XXXXXXXXXX
若自己有非凡需求,决定修改source,试过後觉得很满足,想分享给其它朋友,举例
来说,pine对中文处理有点问题,woju做了些修改,让pine能中文相容:
cd/usr/ports/mail/pine/work/pine3.95/pine
cpsend.csend.c.orig
cd..(也就是回到/usr/ports/mail/pine/work/pine3.95)
diff-upine/send.c.origpine/send.c%26gt;/usr/ports/mail/pine/patches/patch-woju2
...其它的修改...
把相关档案压成/cdrom/woju/patches/pine-3.95-8bit-patches.tgz
然後很兴奋的到网路上(tw.bbs.comp.386bsd)和大家分享:-)
上头用到diff的部分,woju习惯用"diff-u",vanilla做了如下补充:
"coreteam的标准做法是diff-ruNoldnew"
/cdrom/woju/patches/*.txt有相关的参考资料。
吴庆鸿,woju@freebsd.ee.ntu.edu.tw|台大电机,http://freebsd.ee.ntu.edu.tw
