How did upgrading applications happen before portupgrade etc?
Jeremy Chadwick
koitsu at FreeBSD.org
Sat Aug 11 13:33:23 PDT 2007
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 |
More information about the freebsd-ports
mailing list