From owner-freebsd-questions@FreeBSD.ORG Mon Oct 31 02:43:27 2005 Return-Path: X-Original-To: freebsd-questions@freebsd.org Delivered-To: freebsd-questions@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AFA8116A41F for ; Mon, 31 Oct 2005 02:43:27 +0000 (GMT) (envelope-from john.destefano@gmail.com) Received: from xproxy.gmail.com (xproxy.gmail.com [66.249.82.194]) by mx1.FreeBSD.org (Postfix) with ESMTP id 29AC243D49 for ; Mon, 31 Oct 2005 02:43:27 +0000 (GMT) (envelope-from john.destefano@gmail.com) Received: by xproxy.gmail.com with SMTP id t14so760319wxc for ; Sun, 30 Oct 2005 18:43:26 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=NZINMYanJMfX6ShcJzib5v4JF1+Ek80t+f1qppa1iusGfJEL3yK4SP96qdssRY7s5d072u2X9fgrzEu/b3Be/MJHa+fwJ1UxOkx276gnTg+nYp/dV0QAvflpSZuXo1IPYxOsgBjCVCcWW6E2AicYC3uWW2FrtKgWpLLliAGSQrw= Received: by 10.70.88.6 with SMTP id l6mr1453400wxb; Sun, 30 Oct 2005 18:19:01 -0800 (PST) Received: by 10.65.154.4 with HTTP; Sun, 30 Oct 2005 18:18:30 -0800 (PST) Message-ID: Date: Sun, 30 Oct 2005 21:18:30 -0500 From: John DeStefano To: "Andrew P." In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <6FB767AE-D4D7-4C38-90C0-726D48AF5654@secure-computing.net> <200510281922.16495.ringworm01@gmail.com> Cc: freebsd-questions@freebsd.org Subject: Re: portupgrade stale dependencies X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Oct 2005 02:43:27 -0000 On 10/30/05, Andrew P. wrote: > On 10/31/05, John DeStefano wrote: > > On 10/29/05, Andrew P. wrote: > > > On 10/29/05, John DeStefano wrote: > > > > > > > > Needless to say, this process wasn't much fun. What can I do to ke= ep > > > > this from happening again? What can/can't I safely include in cron= to > > > > automate database and index maintenance? > > > > > > > > > > cvsup or portsnap, then portsdb -uUF. Work under > > > any circumstances, leave you with updated ports > > > tree and indexes. > > > > If I were to continue to use portsnap, which arguments can I safely > > add to /etc/crontab? I know "portsnap cron" should be safe, but if I > > want to completely automate the update process (not for installing > > packages, but for keeping the ports tree, database, and indexes > > current), should I also add an entry for "portsnap update" and > > "portsdb -uUF"? > > > > > > > > You can also try portupgrade -aF (prefetches > > > needed files to speed up manual upgrade at a later > > > time) and portsclean -DP (removes sources and > > > packages which become outdated due to ports > > > tree updates). > > > > > > > Would you also recommend cron entries for these two commands? > > > > I used to use a cron job to run cvsup, and I'd like to implement a > > better, more complete automated solution, so I don't tangle up my > > system's packages and dependencies again. > > > > I think the best way is to create a shell script, like this: > > #!/bin/sh > /usr/local/sbin/portsnap cron && \ > /usr/local/sbin/portsnap update && \ > /usr/local/sbin/portsdb -uUF && \ > /usr/local/sbin/portupgrade -aF && \ > /usr/local/sbin/portsclean -DP > Perfect... I had everything but the && conditionals... thanks! > > and run it at an hour, when you're most unlikely to > perform any kind of port upgrading. As portsnap > manpage warns, if both portsnap (in the process > of update) and portupgrade ever happen to access > the same directory at once, it might ruin your > ports tree. You'll have to do "portsnap extract" > after that. You can leave out portsclean and run > it manually, because it can create some load > (which is not desirable on a production server). > > I run this script daily at 8-9 in the morning (I usually > start messing with servers after 11). It never failed, > and it always keeps everything up-to-date. > My server is not "production", as it's just my personal web/database server; I'm the only one who would be running any updates. So I should be okay with this procedure, and I'll manually update any ports of note. Just one problem I saw thus far, with portsclean I think... Cleaning out /usr/ports/packages... cd: can't cd to /usr/ports/packages/All find: /usr/ports/packages: No such file or directory Would this be related to one of the "advanced topics" you mentioned earlier about pkgtools.conf? ;) Do I need to define some variables?=20 I would guess the directory error to have been caused by a combination of the variables PORTSDIR (which looks okay at /usr/ports) and PACKAGES (which seems to need a /packages dir beneath PORTSDIR ). Thanks, ~John