Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 May 2006 07:31:11 -0400
From:      Jonathan Noack <noackjr@alumni.rice.edu>
To:        gareth <bsd@lordcow.org>
Cc:        stable@freebsd.org
Subject:   Re: portsdb
Message-ID:  <446471FF.30001@alumni.rice.edu>
In-Reply-To: <20060512072021.GA22237@lordcow.org>
References:  <20060510073107.GA19897@lordcow.org>	<20060510102222.GA25464@lordcow.org>	<446206DF.7020607@alumni.rice.edu> <20060512072021.GA22237@lordcow.org>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig3420F3EBFB6EBBE9AAF83AE2
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 05/12/06 03:20, gareth wrote:
> On Wed 2006-05-10 (11:29), Jonathan Noack wrote:
>> You are probably experiencing some of the VFS limitations in 5.3 (you'=
ll
>> be pleasantly surprised by 6.1!).  "portsdb -Uu" is very CPU and IO
>> intensive; it takes a long time on a fast machine.  "make fetchindex" =
is
>> provided as a replacement for having to run "portsdb -Uu".  The only
>> downside is that the downloaded INDEX-5.db may be a few hours out of d=
ate.
>=20
> it looks like 'make fetchindex' only gets INDEX-5.bz2, then unzips it,
> then i need to make a INDEX-5.db. anyway, 'portsdb -Uu' may be
> CPU/IO intensive, but that alone shouldn't be powering down the machine=
?

Ah, I made a mistake in my explanation.  Replace INDEX-5.db with
INDEX-5.  Sorry for the confusion...

"make fetchindex" downloads the INDEX-x file (where 'x' is the major
release number of the version of FreeBSD you are using -- in this case
'5').  When this file is newer than INDEX-x.db, the portupgrade tools
will automatically build an updated version of INDEX-x.db.  As such, it
is not necessary to do anything further than "make fetchindex".
Building INDEX-x takes forever (and may be overheating your machine
causing freezes/reboots), but building INDEX-x.db is quite fast.

If you want to make sure everything is updated with a single command,
replace the '-U' with '-F' for "portsdb -Fu" (hehe -- I love it when
arguments work out like that...).  That will 1) download the INDEX-x
file instead of building it from scratch, and then 2) build an updated
INDEX-x.db.

Here's how long it takes on my 6.1-RELEASE server (dual Pentium3):
$ time portsdb -Fu
Fetching the ports index ... done
[Updating the portsdb <format:bdb_btree> in /usr/build ... - 14630 port
entries found
=2E........1000.........2000.........3000.........4000.........5000......=
=2E..6000.........7000.........8000.........9000.........10000.........11=
000.........12000.........13000.........14000......
=2E.... done]

real    0m17.378s
user    0m14.691s
sys     0m1.936s
$

>>> but, if i just run portversion, it creates the INDEX-5.db,
>>> so i'm not sure why i'm running 'portsdb -Uu' in the first
>>> place?
>> I would highly recommend checking out portsnap; it builds an up-to-dat=
e
>> INDEX-5.db file automatically as part of the update process.
>=20
> so what is 'portversion' building, that is different to what 'portsdb -=
Uu'
> would do? thanx re portsnap, will have a look but can't at the moment.

Correction: portsnap automatically builds an up-to-date INDEX-x, not
INDEX-5.db.  "portversion" is building the INDEX-x.db file from INDEX-x.

See the portsdb(1) man page for more info.

-Jonathan

--=20
Jonathan Noack | noackjr@alumni.rice.edu | OpenPGP: 0x991D8195


--------------enig3420F3EBFB6EBBE9AAF83AE2
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (FreeBSD)

iD8DBQFEZHIFUFz01pkdgZURAj5JAJ46nHrap3XfSDptnRXrcet4XGBcMACg0vDi
YxaULKHch3rk3T+EfKwRQLo=
=oO/i
-----END PGP SIGNATURE-----

--------------enig3420F3EBFB6EBBE9AAF83AE2--



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