ÂsÄý³æ­Ó¤å³¹
darkangel
Major Member
 
darkangelªº¤jÀY·Ó
 

¥[¤J¤é´Á: Aug 2001
¤å³¹: 211
¤Þ¥Î:
§@ªÌ³¥¤f¶©¥v
§A¤~¦n¯º¡A«e«á¤å¨S¬ÝÀ´´N¤@­Ó«lªº²r§å
§Ú±qÀY¨ì§À®Ú¥»¨S»¡ports­n¦n´X¹D«ü¥O¤~¯à¦w¸Ë
§Ú¥u¦³±j½ÕArchªºABS+AUR§ó±j¤j¤]¤ñports§ó¤è«K
½Öª¾¹D¨º­Ó¶Â¤Ñ¨Ï¨S¬ÝÀ´¡Aµw¬O­nÂ_³¹¨ú¸q
«e­±¨º­Ó¶Â¤Ñ¨Ï¬Æ¦Ü»¡§ó·s¥þ¾÷­n¼gscript¡H¡I
¨º§Ú½Ð°Ý§A²Ä3¤è³nÅé¡Aports¸Ì¨S¦³ªº¨º¨Ç
§A¤]¤@¹D©R¥O§ó·s§¹¦¨µ¹§Ú¬Ý


½Ð°Ý¤W­±¨º¨â­Ó¤H¬OÂI¥X¤°»òªF¦è¤F¡H
³o¼Ë¤]¥s°ª¤â¡H
®³¨ìstudy-area¤£ª¾¹D¬O½Ö¤~·|³Q¯º¡H
¦pªGportsùØ­±ªºªF¦è¬O·½½X
Ãø¹D§A¤£¥Î¥ý./configurre¤£¥Î¥ýmake¶Ü¡H
³o±Ð¾Ç¸Ì¥Ü½dports¦w¸Ë¡A¸ò§Ú«e­±»¡ªºmake¦A¨Ómake install¦³¤°»ò¤£¤@¼Ë¡H
¨ì©³¬O½Ö¦b­J»¡¤K¹D¡H
http://www.study-area.org/freebsd/h...ports.htm#ports


¬°¤°»ò§Ú·|»¡§A¤£°÷²`¤J¬O¦³­ì¦]ªº... §Ú¤£¬O¨S¦³®Ú¾Ú¶Ã©ñ¸Üªº¤H...
¥»¨Ó¤£·Q¦^À³ªº, ¦ý¬O³o§â¤õ¬O§Ú¤Þ¥X¨Óªº, ·À¤@¤U¦n¤F.
ÁÙ§Ú§Ú¥ý¸ò³¥¤f¥ý¥Í¹Dºp, §Ú¥»·N¨Ã¤£¬O­n«ü³d¥L, ¥u¬O§Æ±æ§ó¥¿¤@¯ë¤H¹ï ports ªº»~¸Ñ.
¨S¦³¬dÃҩίu¥¿¨Ï¥Î¹LªºªF¦è, ÁÙ¬O«O¯d¤@ÂI¤ñ¸û¦n, ¤ñ§Ú±jªº¤H©Ò¦b¦h¬O, Á¾µê¤@ÂI¤~¯à¾Ç±o§ó¦h, ²¦³º±í¤lº¡¤F´N¦A¤]¸Ë¤£¤U¤ô¤F...
¥L¯uªº«Ü¼ö¤ß, ¤j®a¦³ arch linux ªº°ÝÃD¤]¥i¥H¸ò¥L½Ð±Ð.

©xºô»¡©ú±o«Ü²M·¡¤F...
http://www.freebsd.org/doc/zh_TW/bo...orts-using.html
¦b²Ä¥|¬q¦³...
¤Þ¥Î:
Note: ¥Î make install clean ´N¥i¥H¤@¤f®ð§¹¦¨­è©Ò»¡ make¡Bmake install¡B make clean ³o¤T­Ó¨BÆJ¤F¡C


§Ú­Ó¤H¬O²ßºD make all install clean, µø±¡ªp·|¥[­Ó BATCH=YES

§Ú¥i¥H§â§Úªºµ§°O¦C¥X¨Óµ¹§A¬Ý... §Ú¦b PCDVD ªº id ¸ò¦b¨ä¥L½×¾Â id ¬O¤£¤@¼Ëªº, ©Ò¥H§Ú¥u¯d¤U subject.
§Ú«Ü¤[¨S¸I FreeBSD ¤F, ³o¤å¥ó¦³ÂIÂÂ, §Ú¥»¨­¤£¬O MIS, §Ú¬O¼gµ{¦¡ªº¤H, ©Ò¥Hµ§°O¥u°O§Ú¦Û¤v»Ý­nªºªF¦è.

;===============================================================================
; Subject: FreeBSD Ports & Package ³nÅé¦w¸Ë
; By:
; Date:
; Last Modify:
;===============================================================================

Step 1. ½s¿è make.conf ³]©w§ì¨ú disfiles ªº¥D¾÷¦ì§}

shell# vi /etc/make.conf

[make.conf]
# °ê¤º¥D­nªº FreeBSD distfiles mirror ¯¸¥x
MASTER_SITE_BACKUP?= \
ftp://ftp.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ \
ftp://ftp2.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ \
ftp://ftp3.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ \
ftp://ftp4.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ \
ftp://ftp5.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ \
ftp://ftp7.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ \
ftp://ftp8.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ \
ftp://ftp9.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ \
ftp://ftp10.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ \
ftp://ftp11.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ \
ftp://ftp12.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ \
ftp://ftp13.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/ \
ftp://ftp14.tw.freebsd.org/pub/FreeBSD/distfiles/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?= ${MASTER_SITE_BACKUP}
[/make.conf]

Note: ©Ò¦³ªº ports ³£¦b /usr/ports/ ¥Ø¿ý¸Ì¡C

Reference: http://netlab.cse.yzu.edu.tw/~statu...-tut/cvsup.html


Step 2. ´M§ä·Q¦w¸Ëªº³nÅé

;¨Ï¥Î whereis §ä¦Û¤v·Q¸Ëªº³nÅé

shell# whereis -a [software]
shell# whereis -a lynx

;©Î¥Î make search:

shell# cd /usr/ports
shell# make search key="cvsup" | grep Path: | more

;©Î¬O¥Î find ¤]¥i¥H:
shell# find -name "php4" -print | less


Step 3.¨Ï¥Î pkg_info Àˬd¬O§_¤w¦w¸Ë¸Ó³nÅé

shell# pkg_info | grep [software]
shell# pkg_info -IX [software]

Note:
1. ports ¦w¸Ë«á·|¥H package ªº«¬¦¡¦s¦b¡A©Ò¥H§Ú­Ì¥Î pkg_info ¨Ó¬d¸ß¡C
2. ©Ò¦³ package ¦w¸Ë«á·|¦b /var/db/pkg ¤¤°O¿ý¡C
3. pkg_info -x ¸ò -X ªº®t²§¬O -X ¬O extended regular expression¡C

Tips:
If you want to quickly check for duplicate package/port installations,
try the following pkg_info command.

pkg_info | sort | sed -e 's/-[0-9].*$//' | \
uniq -c | grep -v '^[[:space:]]*1'


Step 4. ¦w¸Ë³nÅé

; ¥i¥H¤À¨B°õ¦æ
shell# make fetch
shell# make depended
shell# make install
shell# make clean

; ©Î¤@¦¸¸Ë¦n
shell# make all install clean

±`¥Îªº ports «ü¥O
+---------------------------+-------------------------------+
|make install |¦w¸Ë |
+---------------------------+-------------------------------+
|make deinstall |¸Ñ°£¦w¸Ë |
+---------------------------+-------------------------------+
|make clean |²M°£¤u§@¥Ø¿ý |
+---------------------------+-------------------------------+
|make rmconfig |²M°£³]©w |
+---------------------------+-------------------------------+
|make rmconfig-recursive |²M°£³]©w(¥]§t¬Û¨Ì©Ê) |
+---------------------------+-------------------------------+
|make distclean |²¾°£ distfiles |
+---------------------------+-------------------------------+
|make package |»s°µ package |
+---------------------------+-------------------------------+

; §ó¦hªº ports «ü¥O¥i¥H°Ñ¦Ò
shell# man ports

Step 5. ¨Ï¥Î portupgrade ¨Ó³æ¿W§ó·s¤w¦w¸Ëªº³nÅé

; §ó·s ports-tree ¤§«e¤w¦w¸Ë portupgrade ªºª©¥»¡G

shell# pkg_info | grep portupgrade
portupgrade-2.1.3.3_1,2 FreeBSD ports/packages administration and management tool s

; §ó·s PORTS-TREE ¤§«á¡APORTS ¤¤ portupgrade ªºª©¥»¡G

shell# grep \PORTVERSION= /usr/ports/sysutils/portupgrade/Makefile
PORTVERSION= 2.2.2

; ¥H·sªº portupgrade ¨ú¥Nªº portupgrade-2.1.3.3_1,2
; -o ªí¥Ü§Ú­Ì­n¨Ï¥Î origin ports-tree ¨Ó¤É¯Åª©¥»¡A«á­±­n±µ ports ªº¸ô®|

shell# portupgrade -o /usr/ports/sysutils/portupgrade portupgrade-2.1.3.3_1,2

; ¦AÀˬd¤@¦¸¡A¤w¸g¦¨¥\¤É¯Å

shell# pkg_info | grep portupgrade
portupgrade-2.2.2,2 FreeBSD ports/packages administration and management tool s

*** 2008¦~¤T¤ëµù ***
*** ·sª©ªº ports-tree ±N ports ¤u¨ã¿W¥ß¬° ports-mgmt ¥Ø¿ý¤F ***
shell# grep PORTVERSION= /usr/ports/ports-mgmt/portupgrade/Makefile
PORTVERSION= 2.4.3


Step 6. §ó·s©Ò¦³¦w¸Ëªº³nÅé

Note: §ó·s§¹ Ports-Tree «á¡A¤w¦w¸Ëªº³nÅé¨Ã¤£·|¸òµÛ§ó·s¡A¥²¶·³z¹L¤U­±´X­Ó¨BÆJ¨Ó§ó·s¤w¦w¸Ëªº³nÅé¡C

­««Ø ports index
shell# portsdb -Uu

­×¥¿ package ¬Û¨Ì©Ê
shell# pkgdb -aF

´ú¸Õ¤É¯Å(«D¥²­n)
shell# portupgrade -an

°õ¦æ¤É¯Å
shell# portupgrade -acCvy

Note: °õ¦æ portsdb -Uu ®É­n«Ü¤[¡A­@¤ßªºµ¥¤@¤U¡C

¨ä¥L¬ÛÃöªº«ü¥O¡G

Àˬd»Ý­n¤É¯Åªº ports
pkg_version -v

¥u¬Ý­þ¨Çª©¥»»Ý­n¤É¯Å(index ¥²¶·¬O up to date ªº)
pkg_version -IvL = ©Î pkg_version -Ivl '<' ©Î portversion -vl '<'

¦C¥X®M¥ó¦A¥á¶i¥h¤É¯Å
pkg_version -Iql '<' | xargs portupgrade

Hints

¥X²{Âŵøµ¡¿ï¶µ¦w¸Ë®É¤@«ß¨Ï¥Î¹w³]­È¦Û°Ê¦w¸Ë¡A¥[¤@­Ó BATCH=yes §Y¥i¡A¦p¤U¡G
make BATCH=yes install

¦pªG¥X²{ pkg_info: the package info for package 'p5-IO-stringy-2.110' is corrupt ¤§Ãþªº°T®§¡A
³o·N«ä¬O»¡¡A§Aªº package ¸ê®Æ®w¤£¥¿½T¡A¥i¥H¨ì /var/db/pkg ¤Uªº¬ÛÃö¦WºÙ¥Ø¿ý¬Ý¡A¥i¯à¦³¬YÀɮׯʤַ|·´Ãa¡C
¦Ó¦pªG¦³¦w¸Ë portupgrade ªº¸Ü¡A¥i¥H¸Õ¸Õ pkgdb -F ¨Ó­×¥¿¡A man pkgdb ¬Ý§ó¸Ô²Óªº°T®§¡C
©ÎªÌ­«·s¦w¸Ë¿ù»~ªº package¡C

¦p¦ó¬Ý¬Y­Ó package ¦w¸ËªºÀɮסH(Ãþ¦ü Red-Hat ªº rpm -ql)
¨Ï¥Î pkg_info -IX ¥ý¬d§¹¾ã¦WºÙ¡AµM«á¥Î pkg_info -L ¨Ó¬Ý¡A¨Ò¦p¡G
# pkg_info -IX vim
vim-7.1.315 Vi "workalike", with many additional features
# pkg_info -L vim-7.1.315 | grep vimrc

Reference:

http://freebsd.sinica.edu.tw/~statu...book/ports.html
http://freebsd.sinica.edu.tw/piperm...ril/000013.html
http://www.lsps.tp.edu.tw/~gsyan/freebsd2001/ports.html
http://ohaha.ks.edu.tw/ports.htm
http://ohaha.ks.edu.tw/portupgrade.htm
http://ohaha.ks.edu.tw/portexec.htm
http://www.study-area.net/freebsd/h...o_use_ports.htm
http://freebsd.csie.nctu.edu.tw/han...andbook197.html
__________________
º¡©Û·l Á¾¨ü¯q
ÂÂ 2009-08-21, 10:15 AM #65
¦^À³®É¤Þ¥Î¦¹¤å³¹
darkangelÂ÷½u¤¤