Date: Sat, 11 Aug 2007 13:33:22 -0700 From: Jeremy Chadwick <koitsu@FreeBSD.org> To: Rakhesh Sasidharan <rakhesh@rakhesh.com> Cc: freebsd-ports@freebsd.org Subject: Re: How did upgrading applications happen before portupgrade etc? Message-ID: <20070811203322.GA78245@eos.sc1.parodius.com> In-Reply-To: <20070811145314.A47727@obelix.home.rakhesh.com> References: <20070811115642.L34115@obelix.home.rakhesh.com> <20070811083357.GA34007@eos.sc1.parodius.com> <20070811145314.A47727@obelix.home.rakhesh.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Aug 11, 2007 at 03:02:53PM +0400, Rakhesh Sasidharan wrote: >> 5. pkg_delete port > > I see. In step 5, "pkg_delete port" wont work if port is required by others > right? So you delete those apps too? Could be a lot of stuff to uninstall, > right? Absolutely correct. That might seem like a nightmare to most people, but to me it's not. I suppose this is also why I avoid ports that have too many dependencies (mail/p5-Mail-SpamAssassin, for example, is starting to make me consider using dspam instead). >> Note that we keep all of our configuration files in a directory called >> /conf/ME and in /usr/local simply use symlinks. (Matt Dillon might be >> grinning over /conf/ME, since it's a Best Internet-ism :) ). I don't >> trust that all ports will "play nice" with existing configuration files >> in /usr/local, and I have seen much evidence of this in the past (nuking >> files without your knowledge, mainly. "Oh crap! It nuked our entire >> configuration for the apache/mail/whatever server!!!"). > > That's a smashing idea! Thanks for mentioning that here. :-) > > What does the "ME" stand for in /conf/ME btw? "ME" stands for me, e.g. "myself". I guess it'd help if I explained how it worked: The /conf directory on all machines contained the configuration files for itself as well as every other machine on the network. So for shell01.whatever.com you'd find this in /conf: /conf/ME --> /conf/shell01.whatever.com /conf/mail01.whatever.com/ /conf/shell01.whatever.com/ /conf/shell02.whatever.com/ /conf/sql01.whatever.com/ /conf/test.whatever.com/ Each directory contained configuration files specific to that system. During system install, either done automatically or manually (I forget), the /conf directory on a machine is populated, and the ME symlink is made. Then the script would populate /usr/local with symlinks, and I believe also did a mkdir -p on directories. For example, if /conf/ME contained: etc/Muttrc etc/apache22/httpd.conf etc/mail/spamassassin/local.cf etc/pine.conf etc/sudoers You'd find this in /usr/local: etc/Muttrc --> /conf/ME/etc/Muttrc etc/apache22/httpd.conf --> /conf/ME/etc/apache22/httpd.conf etc/mail/spamassassin/local.cf --> /conf/ME/etc/mail/spamassassin/local.cf etc/pine.conf --> /conf/ME/etc/pine.conf etc/sudoers --> /conf/ME/etc/sudoers I believe the reason each machine had a copy of all the other machines' configs was in case one got munged on the repository server (or if you needed to "roll back" and didn't make a backup of your changes, oops), and/or if you wanted to change the "role" of a machine on the fly. All of the packages/ports installed on all the machines were 100% identical; that is, every machine, regardless of role, had the same packages/ports installed. > Thanks for sharing your traditional steps with here btw. No problem. :-) You asked a good question, so hopefully you'll get some good answers back. -- | Jeremy Chadwick jdc at parodius.com | | Parodius Networking http://www.parodius.com/ | | UNIX Systems Administrator Mountain View, CA, USA | | Making life hard for others since 1977. PGP: 4BD6C0CB |
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070811203322.GA78245>