Date: Tue, 3 Jun 2003 08:37:33 +0200 (CEST) From: Konrad Heuer <kheuer2@gwdg.de> To: Jamie <jamie@gnulife.org> Cc: freebsd-questions@freebsd.org Subject: Re: Upgrading a live server with rdist Message-ID: <20030603082709.B77677-100000@gwdu60.gwdg.de> In-Reply-To: <20030602113508.W33999-100000@floyd.gnulife.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 2 Jun 2003, Jamie wrote: > I am trying to upgrade a running production server with rdist, but some > of the files will not update. I am getting messages like: > > > rdist: server.foo.net:/bin/rcp: Operation not permitted > updating: /kernel > rdist: server.foo.net:/kernel: Operation not permitted > updating: /sbin/init > rdist: server.foo.net:/sbin/init: Operation not permitted > > > > It appears rdist will not allow updates on processes that are loaded > and running in memory. Is there any way to accomplish this with rdist or > one of it's cousins? As far as I see there is little chance to do this without carefully restarting all processes, e.g. by shutting down into single user mode and returning to multi user mode. If you replace program files and shared libraries used by currently running processes, this will cause the corresponding processes to be aborted abnormally in case of page fault requiring a page-in from the program files or shared libraries. > We have one test machine which is identical to all our production > servers new patches are compiled into and are then tested. If it tests > okay, we'd like to be able to simply run rdist from there out to our other > production systems. > > We've also considered sharing the /usr/src/ directory after the tests > pass, and then recompiling the binaries on the remote systems, but to do > that you need to run mergemaster on each machine and bring it into single > user mode. We'd like to avoid that downtime, iff possible. One possibility to minimize downtime would be to have two /usr filesystems, which get mounted alternately on the directory /usr. You could update the non-active filesystem (let's say, mounted on /alt_usr) by rdist, automatically edit /etc/fstab to get this filesystem mounted on /usr after a reboot, and reboot the system. Regards Konrad Konrad Heuer (kheuer2@gwdg.de) ____ ___ _______ GWDG / __/______ ___ / _ )/ __/ _ \ Am Fassberg / _// __/ -_) -_) _ |\ \/ // / 37077 Goettingen /_/ /_/ \__/\__/____/___/____/ Germany
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030603082709.B77677-100000>