| FreeBSD portsnap 미러링(?) 서버 만들기 | 작성일 : 2013/05/07 18:45 |
| 조회수 : 11634 |
|
제 목 : FreeBSD portsnap 미러링(?) 서버 만들기 작성자 : 좋은진호(truefeel, http://coffeenix.net/ ) 작성일 : 2013.5.6(월) cvsup을 사용한 FreeBSD의 ports tree 업데이트를 2013년 3월부터 더이상 지원하지 않는다. Announcing the end of port CVS http://lists.freebsd.org/pipermail/freebsd-ports/2012-September/078099.html
1. portsnap 사용 ports를 가져오는 방법은 cvsup(이제 미지원), portsnap, SVN 등이 있다. portsnap 사용은 간단하다. fetch, extract, update 명령 3가지만 기억하면 된다. fetch : ports tree를 가져온다. /var/db/portsnap에 압축된 snapshot이 저장된다. extract : 가져온 ports tree를 /usr/ports에 푼다. update : 가져온 ports tree를 update한다. portsnap 처음에는 fetch와 extract 명령을 실행하고, 이후부터는 fetch와 update를 실행하면 된다.
2. portsnap 미러링 서버 설정 cvsup으로 ports 트리(tree를 가져왔다면 cvsup-mirror툴을 사용해서 미러링(mirroring) 서버를 쉽게 구축할 수 있었다. 이제 더이상 cvsup용 ports 트리를 지원하지 않는다. portsnap는 미러링 서버를 제공하지 않는다. 로컬에 portsnap fetch용 서버를 구축하려면 꼼수(?)가 필요하다. 1) 먼저 portsnap fetch로 ports 트리 스냅샷을 가져온 다음에 -> 2) 이를 rsyncd로 다른 서버에 제공한다. portsnap 미러링용으로 사용할 서버에 다음과 같은 스크립트를 만든다. 그리고, 주기적으로 fetch하도록 crontab에 등록해준다. cron에서 fetch명령을 할 때는 portsnap fetch 대신 portsnap cron으로 해야 한다. [ portsnap_fetch.sh ]
다른 서버에서 portsnap fetch한 스냅샷을 받아갈 수 있도록 rsyncd.conf를 설정한다. [ /usr/local/etc/rsyncd.conf ]
3. portsnap 클라이언트 portsnap fetch 명령 대신에 rsync로 ports 트리 스냅샷을 받아온 후 portsnap extract 또는 update를 하면 된다.
위의 명령을 실행하는 스크립트는 portsnap.sh를 살펴볼 것. ※ portsnap 미러링 서버를 구축하지 않고 내부서버 통해서 fetch를 받고 싶다면, HTTP proxy 서버를 사용하면 된다. 1) 내부 서버에 HTTP proxy 서버를 한대 설정하고, 2) 다른 서버에서 setenv HTTP_PROXY http://내부_proxy_서버_IP 환경변수 설정을 한 후 3) portsnap fetch 명령을 실행하면 proxy 서버 통해서 ports 트리 스냅샷을 받아온다. |
|||||||||||||||||||
|
|