Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 3 Aug 2002 11:32:17 +0200 (CEST)
From:      Oliver Fromme <olli@lurza.secnetix.de>
To:        jimmy@CS.cofc.EDU (James B. Wilkinson)
Cc:        freebsd-hubs@FreeBSD.ORG
Subject:   Re: limited local mirror
Message-ID:  <200208030932.g739WHeX018496@lurza.secnetix.de>
In-Reply-To: <a0510030ab970f6cf21a9@[153.9.17.27]> from "James B. Wilkinson" at Aug 02, 2002 11:12:39 PM

next in thread | previous in thread | raw e-mail | index | archive | help

James B. Wilkinson wrote:
 > I'm using FreeBSD in a lab in a building that has slow Internet 
 > access, so I'm interested in putting a mirror for just the ports 
 > collection in the lab room. The only information I found at the 
 > website that looked germane was about putting up a full mirror using 
 > CVSup. I was sort of hoping to use ftp and not have to learn yet 
 > another bit of sysadmin business this summer. I don't even need the 
 > entire ports collection, but I need ethereal for sure, and that has 
 > about a dozen dependencies, and I don't know how many more ports 
 > *they* will pull in. It could expand to quite a tree. Right now I see 
 > two problems: getting all those files and putting them where they 
 > need to be without having to type thousands of command lines, and 
 > getting my local server onto the list of places where the other 
 > machines will look for the sources (preferably at the head of the 
 > list).
 > 
 > I think you can see my problem. Is there a relatively easy way to 
 > handle this? I apologize if I missed something obvious.

The easiest way is certainly cvsup.  You don't have to type
a thousands commands for that.  In fact, you copy a config
file, change one line or two, and set up a cronjob that runs
cvsup once per week (or whatever you like).

I'd suggest you take a look at this file:

   /usr/share/examples/cvsup/ports-supfile

Copy the file to /usr/local/etc.  The only line you need to
change is the "*default host=" line.  Insert your nearest
(or fastest) cvsup server, e.g. cvsup8.freebsd.org.  Then
run this command

   cvsup -L 1 -g /usr/local/etc/ports-supfile

to update your /usr/ports.  The first time it will probably
take a while.  But any further update (even if you do it
only weekly) will be surprisingly fast, even though your
internet uplink might be slow.  Only differences and new
files are transmitted.  The cvsup protocol is very efficient.

When you run cvsup in a cronjob, it might be better to use
-L 0 (set loglevel to 0) so you will only get cron mails if
error messages occur.  It's probably also a good idea to
use the -l <lockfile> option so things won't break if a job
takes very long (e.g. because of network problems) and the
next job tries to starte before the previous one is finished.

Now is that so difficult?  :-)

Regards
   Oliver

PS:  Oh, I forgot one step:  You have to install cvsup from
the ports collection first, of course.

-- 
Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.

"All that we see or seem is just a dream within a dream" (E. A. Poe)

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hubs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200208030932.g739WHeX018496>