BBS水木清华站∶精华区

发信人: reden (鱼~用眼泪绣花), 信区: Linux 
标  题: [howto] packages/ports 使用说明 
发信站: BBS 水木清华站 (Tue Jul 14 00:03:42 1998) 
 
 
发信人: calvin (冷眼人生~淡出江湖), 信区: FreeBSD 
标  题: [howto] packages/ports 使用说明 
发信站: 华南网木棉站 (Mon Jun 15 17:58:20 1998), 转信 
 
◇ [howto] packages/ports 使用说明 
--------------------------------------------------------------------------------作者: woju (Sound) 看板: 386BSD 
标题: [howto] packages/ports 使用说明 
时间: Fri Oct 31 03:02:10 1997 
 
这篇写给 hopenet2 (HopeNet-FreeBSD-CDROM2) 用的,若无 HopeNet-FreeBSD-CDROMs, 
还是可透过网路来享用 FreeBSD packages,大部分只要将文件□的 /cdrom/ 改成 
ftp://freebsd.ntu.edu.tw/freebsd/ 即可。 
 
packages 为 FreeBSD 「招牌特色」之一,喜欢「玩软体」的人更不可错过这个 
「招牌特色」! ;-) 
 
                     = FreeBSD packages 使用说明 = 
                              (hopenet2) 
 
若已知想安装的 package 名称为何,如 joe (一个很受欢迎的 unix editor): 
cd /cdrom/packages/All; pkg_add joe-2.8.tgz 
装完後在 /var/db/pkg/joe-2.8/ 会留下相关的记录。 
想知道这个 packages 装了什麽东西、装在何处,可以 tar tvfz joe-2.8.tgz 看看。 
 
若不知道有什麽 package 可用,只是想试试各种 editor,可看一下 
/cdrom/packages/editors/ □的 packages,假设看到了 emacs-19.34b.tgz 觉得有 
兴趣,想知道这套 package 有什麽特色: 
pkg_info emacs-19.34b.tgz 
 
此外,less /cdrom/INDEX □有简要的说明,善用 INDEX 可很快找到合用的 
package。 
 
X       X       X       X       X       X       X       X       X       X 
 
packages/All/ 是编好现成可用的 binary,若想自己从 source 编,可透过 ports 
来做这件事,举例来说,若想看看 pine-3.96.tgz 的 source: 
 
请把 hopenet2 (也就是本张光碟) umount(umount /cdrom),换成 hopenet1 再 
mount 上去(mount /cdrom)。 
 
cd /cdrom/cvs-2.2/ports; less INDEX 查得(/^pine<Enter>)位於 /usr/ports/mail 
下: 
mkdir -p /usr/ports/mail; cp -pR mail/pine /usr/ports/mail 
mkdir -p /usr/ports/distfiles 
cd /usr/ports/mail/pine 
less files/md5 查得需要 pine3.96.tar.gz 这个档,也就是得设法将这个档 
放到 /usr/ports/distfiles □: 
cp /cdrom/distfiles/pine3.96.tar.gz /usr/ports/distfiles 
cd /usr/ports/mail/pine 
make install 
若要产生 package -> make package 
至於 make 後面可加什麽 -> less /usr/share/mk/bsd.port.mk 
如 "make extract", "make patch", "make configure" .... 
 
/cdrom/distfiles/ 收集有 /cdrom/pkg/ (常用到的 packages) 相关的 source, 
这些 source file 的「原始位□(发源地)」可从 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 
   man archie 可查得更多的讯息 (export ARCHIE_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; make search key=chinese | less 
其它用法请参阅 ports □的 Makefile,或查查 Handbook(00www-mirror/)相关的章节。 
 
X       X       X       X       X       X       X       X       X       X 
 
若自己有特殊需求,决定修改 source,试过後觉得很满意,想分享给其它朋友,举例 
来说,pine 对中文处理有点问题,woju 做了些修改,让 pine 能中文相容: 
cd /usr/ports/mail/pine/work/pine3.95/pine 
cp send.c send.c.orig 
<modify send.c> 
cd .. (也就是回到 /usr/ports/mail/pine/work/pine3.95) 
diff -u pine/send.c.orig pine/send.c > /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 做了如下补充: 
"core team 的标准做法是 diff -ruN old new" 
 
/cdrom/woju/patches/*.txt 有相关的参考资料。 
 
吴 庆 鸿,[email protected] | 台大电机,http://freebsd.ee.ntu.edu.tw 
  
 
 
 
 
-- 
 
    石头月儿偶遇 
 
    花落春风拂肤 
 
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 159.226.21.168] 

BBS水木清华站∶精华区