From owner-freebsd-isp@FreeBSD.ORG Fri Jan 13 19:15:24 2006 Return-Path: X-Original-To: freebsd-isp@freebsd.org Delivered-To: freebsd-isp@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8C2D616A41F for ; Fri, 13 Jan 2006 19:15:24 +0000 (GMT) (envelope-from ericx_lists@vineyard.net) Received: from vineyard.net (k1.vineyard.net [204.17.195.90]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1988B43D45 for ; Fri, 13 Jan 2006 19:15:23 +0000 (GMT) (envelope-from ericx_lists@vineyard.net) Received: from localhost (loopback [127.0.0.1]) by vineyard.net (Postfix) with ESMTP id D859E9162C; Fri, 13 Jan 2006 14:15:20 -0500 (EST) Received: from vineyard.net ([127.0.0.1]) by localhost (king1.vineyard.net [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 62835-01-49; Fri, 13 Jan 2006 14:15:20 -0500 (EST) Received: from [204.17.195.104] (fortiva.vineyard.net [204.17.195.104]) by vineyard.net (Postfix) with ESMTP id 7B5D29162B; Fri, 13 Jan 2006 14:15:20 -0500 (EST) Message-ID: <43C7FC35.9000806@vineyard.net> Date: Fri, 13 Jan 2006 14:15:01 -0500 From: "Eric W. Bates" User-Agent: Mozilla Thunderbird 1.0.7 (Windows/20050923) X-Accept-Language: en-us, en MIME-Version: 1.0 To: mike@lanline.com References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Scanned: by AMaViS-king1 at Vineyard.NET Cc: freebsd-isp@freebsd.org Subject: Re: management X-BeenThere: freebsd-isp@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Internet Services Providers List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Jan 2006 19:15:24 -0000 mike@lanline.com wrote: > Hi all, > > Sorry, I know I've asked a question similar to this in the past, > but... I am currently in the process of migrating from BSD/OS to > FreeBSD. I'm very concerned with the management of my new FreeBSD server > farm. There doesn't seem to be much documentation in the way of large > scale FreeBSD management. I posted a question recently about upgrades > (having one server w/ the source and NFS mounting the source dirs to all > the other machines and building that way), but I feel like some minor > details are missing. Like, can I or should I redirect the obj code to a > directory on the local machine so I don't have to do a make clean as I go > from server to server (and if so, can I do this through make.conf)? Same > thing with ports. Also, I know about portupgrade, but is that the best way > to manage ports? Is there something better? And the port system > itself... I know it's supposed to provide all this flexibility, but there > doesn't seem to be any documentation about what variables can be set or > anything (e.g. can I force the binary to get installed in a certain dir?) You can tweak individual ports to build with separate rules. If you simply set a flag in /etc/make.conf, the flag is read by every port (and the system build for that matter). This can sometimes be a problem if (for example) you want to build sasl with ldap support and ldap with sasl support. If you are consistent about using portupgrade, there is a ruby struct to do this in /usr/local/etc/pkgtools.conf : MAKE_ARGS = { 'net/openldap*' => 'WITH_SASL=1', 'www/mod_php4' => 'BATCH=1', 'lang/php4' => 'BATCH=1', } If you think there is some reason why you can't or won't always use portupgrade, there is an undocumented technique I use. The file /usr/Makefile.inc (which doesn't normally exist) is sourced by the port build process after the make variable PORTNAME is defined. /usr/Makefile.inc # -*- makefile -*- # $Id: Makefile.inc,v 1.2 2002/08/28 15:51:12 ericx Exp $ # file is loaded up via what may be an oddity in the Mk configuration # files in /usr/ports/Mk/bsd.port.mk AFTER all the variables are set # in the various Makefiles. Unlike /etc/make.conf, this gives an # opportunity to override settings in port Makefiles. .if exists(/etc/make.conf.vni) # But the file exists, pull it in. .include .endif Then in /etc/make.conf.vni I have the per-port flags: # -*- makefile -*- # File: make.conf.vni # Author: Charlie Root, ericx@vineyard.net # Date: Wed Aug 28 12:46:05 2002 # Time-stamp: <2005-07-13 10:18:55 ericx> # Description: Setting variable in /etc/make.conf is not optimal # because those variables are read very early in the # compilation process and anything can be overridden in # the various Makefiles embedded in the ports # system. Nor can variables in /etc/make.conf be set on # a per-port basis, because at the time it is read # ${PORTNAME} has not been set. # # This file is read in at the END of makes parsing phase # after all other Makefiles have been # included. Conditional variables can be can be set # based on ${PORTNAME} and decisions made by the port's # maintainer can be overridden. # # See also: /etc/make.conf, /usr/Makfile.inc, /usr/ports/Mk # # $Id: make.conf.vni,v 1.14 2005/06/29 21:08:43 theqblas Exp ericx $ # ${PORTNAME} should be defined whenever we are building a port, but # not when we are building world; so enclose all our per port # conditionals inside a single check for PORTNAME. .if defined(PORTNAME) .if ${PORTNAME} == apache+mod_ssl CONFIGURE_ARGS+= --server-uid=http \ --server-gid=http \ --disable-rule=EXPAT # apache+mod_ssl .endif # PORTNAME .endif > I know I could look in the makefiles and stuff, but I really don't have > that kind of time (damn sys. admining) Is there some documentation or > something I don't know about that answers questions like these? I mean > the handbook is great for general config. questions, but I'm more > interested in server farm management and maintenance. > > Thank you very much in advance for any help. > Hopefully I won't have many more stupid questions. > > -Mike > > > _______________________________________________ > freebsd-isp@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-isp > To unsubscribe, send any mail to "freebsd-isp-unsubscribe@freebsd.org" > >