Date: Tue, 22 May 2007 22:24:23 +0100 From: Tom Judge <tom@tomjudge.com> To: Chuck Swiger <cswiger@mac.com> Cc: freebsd-stable@freebsd.org, Olivier Mueller <om-lists-bsd@omx.ch> Subject: Re: minimizing downtime on upgrades? (for example: mysql 4.1 -> 5.0 or php) Message-ID: <46535F87.5080009@tomjudge.com> In-Reply-To: <96A27673-F4AC-4A39-91EC-C3242F2E76A7@mac.com> References: <1179860619.14799.37.camel@bigapple.omnis.ch> <96A27673-F4AC-4A39-91EC-C3242F2E76A7@mac.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Chuck Swiger wrote: > On May 22, 2007, at 12:03 PM, Olivier Mueller wrote: >> So I can only do that after the installation of mysql50-client, which >> means all the services will have to be stopped during the compilation of >> mysql50-server, which usually takes some time. >> >> Isn't there a better way? How do you handle such cases? > > Pretty much as you suggest below: > >> Same questions for php upgrades: on php5 upgrade, all the other php5-* >> packages have to be compiled too, and keeping the webserver running >> during this time is probably not the best idea. >> >> What I'm going to try is to prepare packages of the ports I have to >> upgrade on a dev/test server, and then install them with pkg_add: is >> that the "right way" ? > > You have a build box that you generate new tarballs of the packages you > want to update (via "make package", "make package-recursive", > "portupgrade -p", etc), which you can then test and make sure they > behave sensibly, and then use these to rapidly update your production > machines with minimal downtime. > I have found that the ports-mgmt/tinderbox port is very useful for building and maintaining up to date packages with custom patchs, or non default knobs set. I have a pair of dedicated build servers that it runs on but I cant see a reason why it could not run on any old system on your network. You can then use pkg_add/pkg_delete to do the upgrade very quickly. Tom
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?46535F87.5080009>