On 05/07/14 19:01, Stuart Henderson wrote:
My advice is: stick to releases for now on important systems that
you mustn't break, but also setup on a spare machine or VM that you
don't mind breaking from time to time, use base os + package
snapshots, maybe play with compiling a few things yourself -
basically play around and find out what works and what doesn't.

Breaking this type of system from time to time is a good thing.
  :-)
It gives you a good opportunity to work out how to recover
from various problems without too much stress.

System running -current kernel with snapshots are even
less stable than one running -current and using fully
compiled userspace from ports source tree.
Generally: -current is not meant to be "unstable" in terms
of operation, it's more that it's subject to more rapid change
and you may occasionally have things like package breakage
until new packages are available following API/ABI changes.

If you're running much from ports, snapshots are usually a
lot easier to get on with than compiling from scratch.

At hackathon times and at some other times when there are major
changes in the tree this often gets a bit more fragile. Recently
we've been in a "bit more fragile than usual" sort of stage. It is
still important that people run new code in this situation and
report on problems, but use common sense as to where you run
this :) The reverse applies as we approach lock for release
and changes are much more conservative.

If you're following -current then I strongly recommend reading
the source-changes mailing list (or some alternative) to get a feel
for what's going on in the OS, and when is a good or bad time to
upgrade.


If I may add to the excellent comments here, a bit:

-Current is incredibly stable.  Commits that break the tree are
fairly rare and get repaired quickly.  Before using a -current
system in something important you want to test it, but you
want to test a stock -stable system before using it for your
applications, too.  Most of my systems that I use for real are
-current.  I've not had a problem in 12 years--but I test stuff
before using it!

I've screwed myself twice with -current: once when I didn't pay
attention to a flag day and gotten myself a broken compiler, and
once during a hackathon when commits were coming in every 90
seconds or so, and my eagerness to try something new made a
system which went BOOM.  But these kinds of errors are good
practice for dealing with a real-world broken system. ;-)

If you want to use -current you *really* want to pay close
attention to the source change mailing list.  Your mirror of
choice updates itself every N hours.  There will be times when
the latest update to the mirror will not include all the physical
parts of a logical commit, so attempting to compile stuff will
result in an error (think code change that uses a new #define
in a .h that you didn't get), or really subtle stuff because you
got *part* of a change.

And of course, caution during a hackathon.  I'll update my tree
during one, but will stay away from using it, as the tree of 45
minutes ago might not be right by the time your mirror gets
its update.

--STeve Andre'

Reply via email to