"Best practices" on upgrading, etc.

Polytropon freebsd at edvax.de
Fri Mar 11 21:42:31 UTC 2011

On Fri, 11 Mar 2011 13:03:22 -0800, Ed Flecko <edflecko at gmail.com> wrote:
> 1.) If you have a production server that's running well (and is fully
> patched, i.e. following the errata branch), is there a compelling
> reason to upgrade or do most people do it because there are features
> in the new release that you want/need?

It mainly depends on program functionality, in my opinion.
Let's say you're running a production application (e. g.
a server or a service) that needs constant upgrading to
be secure to use, and this relies on the new functionality
provided by the OS, you should consider upgrading the OS
as well. If this is *not* the case, keeping the errata
branch of -RELEASE should be sufficient. At some point
in time, sooner or later, you'll have to upgrade the
OS to the next minor or even major version, and you
should keep that in mind. Currently being at 8.1-p is
not considered "harmful".

> I guess what I'm really asking
> is if it makes more sense to take the "if it aint broke - don't fix
> it" mindset or should you really consider upgrading when a new version
> is released???

Depends on your applications and your "upgrade policy" as
well. Personally, I am a big fan of the "install once,
then keep using" approach, providing the recommended and
mandatory updates, and keeping everything else intact.

> 2.) If I DO upgrade, I can simply change my supfile to RELENG_8_2 and then:
> run csup
> upgrade the ports
> make buildworld
> make buildkernel
> make installkernel
> make installworld
> is that right? Is my sequence wrong?

In its presented version: Yes. You should have a look at
/usr/src/Makefile and use the procedure mentioned there:

 1.  `cd /usr/src'       (or to the directory containing your source tree).
 2.  `make buildworld'
 3.  `make buildkernel KERNCONF=YOUR_KERNEL_HERE'     (default is GENERIC).
 4.  `make installkernel KERNCONF=YOUR_KERNEL_HERE'   (default is GENERIC).
      [steps 3. & 4. can be combined by using the "kernel" target]
 5.  `reboot'        (in single user mode: boot -s from the loader prompt).
 6.  `mergemaster -p'
 7.  `make installworld'
 8.  `make delete-old'
 9.  `mergemaster'                         (you may wish to use -U or -ai).
10.  `reboot'
11.  `make delete-old-libs' (in case no 3rd party program uses them anymore)

After the successfully finished "make installworld" you
can start upgrading your installed ports.

On the other hand:

If you're running a GENERIC kernel, you can easily use the
freebsd-update program for binary upgrades. See its manpage
for details.

> 3.) How do I upgrade any installed software (I CAN use portmaster for
> that, right?)?

Yes. See "man portupgrade" for details (switches -a, -r and -f
are important); you can also use portmaster for that, this
should be easier than dealing with the ports directly (which
is, in any case, possible too).

Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...

More information about the freebsd-questions mailing list