Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Jun 2014 18:04:46 -0700
From:      Doug Hardie <bc979@lafn.org>
To:        Victor Sudakov <vas@mpeks.tomsk.su>
Cc:        freebsd-questions@freebsd.org
Subject:   Re: binary upgrade of a remote box
Message-ID:  <0049E329-310A-4BE9-829B-FE22AC54490F@lafn.org>
In-Reply-To: <20140620122400.GA26444@admin.sibptus.tomsk.ru>
References:  <20140620122400.GA26444@admin.sibptus.tomsk.ru>

next in thread | previous in thread | raw e-mail | index | archive | help

On 20 June 2014, at 05:24, Victor Sudakov <vas@mpeks.tomsk.su> wrote:

> Colleagues,
>=20
> I have some remote boxes running outdated versions of FreeBSD like
> 8.2-RELEASE-p6 or even 7.4-RELEASE-p5
>=20
> What's the least painful way of updating those systems to something
> like RELENG_9_2 ?=20
>=20
> I am comfortable with the "make world" method and have done this
> remotely before, but those boxes are too weak to compile their own
> world, and the disks are too small. Mounting /usr/{src,obj} from a
> remote host is not an option because of relatively slow and unreliable
> WAN links.
>=20
> I am very uncomfortable with "freebsd-update upgrade", at least it's
> not something I would risk remotely.
>=20
> Any more ideas of a way to perform a smooth binary upgrade?

Here is the approach I use:

I keep one system that is purely for development/test.  Its large enough =
to hold and build the entire system.  Note, these machines are all =
remote.  I use freebsd-update to keep it up to date.  I then rebuild =
kernels and userland on it since I need to have non-defaults in the =
kernel and changes to sendmail to support STARTTLS.  That machine is =
also configured as a NFS server.

On the actual production machines, I mount /usr/src, /usr/obj, and =
/usr/ports via NFS and then to an install kernel and installworld.  Once =
that is done, I use mergemaster and then reboot the machine.  Upgrades =
across major versions often require additional steps like recompiling =
all my local apps.  Those then have to be transferred to the production =
machines.

I have a terminal controller setup to enable me to access the server's =
console ports via TCP.  Thats just in case there are issues.  It does =
get used much more often that I would like.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0049E329-310A-4BE9-829B-FE22AC54490F>