포트 트리를 최신 것으로 동기화하려면 cvsup 을 이용하시면 됩니다.
먼저 다음과 같은 내용의 파일을 만듭니다.
*default host=CHANGE_THIS.FreeBSD.org
*default base=/usr
*default prefix=/usr
*default release=cvs tag=.
*default delete use-rel-suffix
*default compress
ports-all
CHANGE_THIS는 CVSup서비스를 제공하는 호스트명입니다. 보통
cvsup, cvsup2를 사용하거나, 국내에는 cvsup.kr.FreeBSD.org가
미러 역할을 하니 국내 미러를 사용하시는 것이 좋습니다.
그 다음, 이 파일의 이름을 ports-supfile 이라고 했을 경우에
cvsup -g -L 2 ports-supfile
의 명령을 하시면 됩니다. -g는 GUI사용을 안한다는 의미이고, -L2 는
로깅 레벨을 나타냅니다. X윈도우에서라면 -g옵션을 주지 않으면
그래픽 인터페이스를 볼 수 있는데, 왼쪽 아래의 플레이 단추를 눌러야
동기화를 시작합니다.
특정 카테고리의 port만 업데이트 하고 싶으면, 제일 아래줄에 ports-all 대신에,
ports-ftp
ports-games
ports-german
ports-graphics
ports-irc
ports-japanese
ports-java
ports-korean
ports-lang
ports-mail
ports-math
ports-mbone
ports-misc
ports-net
ports-news
ports-palm
ports-print
ports-russian
ports-security
ports-shells
ports-sysutils
ports-textproc
ports-vietnamese
ports-www
ports-x11
ports-x11-clocks
ports-x11-fm
ports-x11-fonts
ports-x11-servers
ports-x11-toolkits
ports-x11-wm
중에 하나를 적어 주면 됩니다.
이것은 ports가 /usr 아래에 설치 되었을 경우이고, 위의 작업은 root 권한으로 하세요.
ports-supfile의 예제는, /usr/share/examples/cvsup 에 있습니다.
단순히 포트 하나만을 받고자 CVSup을 사용한 것은 시간을 낭비하는 일일 수 있습니다.
이 경우 FTP에서 받을 수도 있습니다.
ftp://ftp.freebsd.org/pub/FreeBSD/ports/ports/
에서(국내에서는 ftp[1-5].kr.freebsd.org중 하나를 사용하세요) 원하는 포트를 tar.gz로
받아오면 됩니다. 가령 hanterm 포트를 받아오고 싶다면,
# ftp ftp.freebsd.org
(anonymous로 로그인합니다)
ftp> bin
ftp> cd /pub/FreeBSD/ports/ports
ftp> cd korean
ftp> get hanterm.tar.gz
실제로 hanterm.tar.gz 라는 파일이 존재하지 않아도 hanterm 디렉토리를
묶어서 받아 줍니다.
이것은 간단하지만, 의존성이 많은 포트의 경우 의존하는 포트를 모두 쫓아다녀야
한다는 단점이 있습니다.
또 하나의 방법은 devel/portcheckout 포트를 이용하는 것입니다. 이 경우
env CVSROOT="anoncvs@anoncvs.FreeBSD.org:/cvs" \
portcheckout hanterm | /bin/sh
과 같이 하여 해당 패키지와 의존성 있는 패키지만 모두 업데이트할 수 있습니다.jbkb, cjh |