Stas Bekman wrote:
>
> On Wed, 6 Sep 2000, Perrin Harkins wrote:
>
> > On Wed, 6 Sep 2000, Bill Moseley wrote:
> > > I hope I didn't miss anything in the Guide at install.html and in
> > > control.html, but I was looking for any suggestions on upgrading mod_perl
> > > and Perl on a running production machine to limit the amount of down time.
> >
> > We use RPMs. Some form of package, even if it's just a tarball, is a good
> > idea. Build it on a different server and then just install it. Having
> > multiple servers really comes in handy here because you can take some off
> > line, upgrade them while the others are live, and then switch. Then your
> > site remains up the whole time.
>
> The problem of the tar-ball is that it doesn't know to cleanup previously
> installed files. Imagine a situation where some module that was previously
> installed in perl5/5.00503 now installed in perl5/site_perl/5.005 -- You
> get the problem where the old version is loaded before the new one.
>
> Therefore tar-ball is not a good solution, unless you scratch the whole
> tree a moment before you untar the ball.
Ah - what about this ...
install (using tarballs complie target dirs) in a
package_name-version_number directory.
Then symlink to that dir from where ever you need to.
My /usr/local looks like this on some of my production machines:
drwxr-xr-x 6 root root 4096 Jun 28 16:25 BerkeleyDB.3.1
lrwxrwxrwx 1 root root 13 Jul 7 06:21 apache ->
apache1.3.12/
drwxr-xr-x 3 root root 4096 Jun 18 22:55 apache1.3.12
drwxr-xr-x 2 root bin 4096 Jun 18 23:09 bin
drwxr-xr-x 2 root root 4096 Jun 18 23:12 include
drwxr-xr-x 2 root root 4096 Jun 15 18:15 lib
lrwxrwxrwx 1 root root 30 Sep 2 11:57 mysql ->
/usr/local/mysql-3.23.23-alpha
drwxr-xr-x 7 root root 4096 Jul 31 17:28
mysql-3.23.22-alpha
drwxr-xr-x 7 root root 4096 Sep 2 11:14
mysql-3.23.23-alpha
drwxr-xr-x 2 root bin 4096 Jun 8 21:42 sbin
drwxrwxr-x 9 root root 4096 May 29 11:38 ssl
I can now roll back any new installs by just changing the symlink, and a
tarball of the required dir does the trick.
After testing I brought up new versions in the time in takes to make a
online command with a few &&'s in and apache is backup in the time it
takes for apache to restart - which depends on the ammount of perl
modules it needs to deal with etc ...
Greg Cope
>
> _____________________________________________________________________
> Stas Bekman JAm_pH -- Just Another mod_perl Hacker
> http://stason.org/ mod_perl Guide http://perl.apache.org/guide
> mailto:[EMAIL PROTECTED] http://apachetoday.com http://jazzvalley.com
> http://singlesheaven.com http://perlmonth.com perl.org apache.org