[NCLUG] Debian Question

Chad Perrin perrin at apotheon.com
Thu Jan 3 03:56:35 MST 2008


On Thu, Jan 03, 2008 at 12:07:11AM -0700, David Braley wrote:
> I have some noob questions I need some insight on from the Debian guru's 
> on the list.... I will try and explain this as best I can.

I wouldn't exactly consider myself a Debian "guru", but I used it
extensively (as my primary OS) for a few years, so I'll offer what I can.


> 
> I installed Debian "Testing" on my system here at home. I have got it 
> just the way I want it. Minimal install with fluxbox and a few other 
> apps to make it lean. I also changed the "/etc/apt/sources.list" file to 
> say "testing" everywhere it used to said "lenny."

I did that for a while when I first started using Debian Testing for my
workstation (desktop and laptop) systems.  For server systems, I just
used Stable.  After a while, though, I noticed that when a given Testing
moves to Stable, things get kind of crazy as a bunch of last-minute
package updates get crammed in with great haste, and my Testing installs
tended to suffer for it -- especially when the switch actually happened.

I discovered that, at least when I was using Debian Testing a lot, it
tended to work out better for me if I used the release name ("etch" for
instance) instead of the term Testing, and just "followed" the packages
into Stable.  I just figured that by the time any of my workstation-type
systems ran out of legacy support after it was "replaced" as the Stable
release, it was time to repurpose the machine and get a new one anyway.


> 
> I typically do an "apt-get update," "apt-get upgrade," "apt-get 
> dist-upgrade," and an "apt-get clean" at least once a week to keep it up 
> to date.

I don't think I'd dist-upgrade every week.  Generally, you should only
dist-upgrade when you have a specific reason to do so -- like when
changing your system from a Stable to a Testing system (which I also
wouldn't recommend without a heck of a lot of thought).  The standard
upgrade command for apt-get will tell you when something hasn't been
upgraded, and why, so you can research the matter and come to an
intelligent decision on your own, so you won't wonder what happened to
break some critical piece of software on your system, when you use
apt-get upgrade.

Also, if you're going to use apt-get clean, that should generally be done
before apt-get update.

I tried to do an apt-get upgrade at least twice a week, because some
weeks there were quite a few packages updated in the archives.  Too many
at once could cause issues now and then.


> 
> So my first question is how long will I get away with this? Is it 
> possible to keep my new Debian "testing" system this way? Or is there 
> some time in the future when I will need to re-install to get an updated 
> system?

In theory, you should be able to do that indefinitely.  In practice, I
found that things tended to work better if I used the release name, and
avoided updating at all during the period just before until just after it
moved from Testing to Stable, then updating again to get the final Stable
version of the system.  The promise of a smooth, evolutionary upgrade
path with Testing was one of the things that made it attractive to me,
but that promise didn't really come through for me, exactly.  You'll
probably get better results in that regard if you use Unstable/Sid,
though you'll also likely have more individual package issues that way.

Even Debian Unstable is more stable than many other distros' "stable"
releases, however.  It's all relative.


> 
> The reason I ask this is partly the reason I moved to Debian in the 
> first place. I have used Linux for years now for all my computing needs. 
> But what I hate about Linux is the typical one year or less release 
> cycles that force you to upgrade your system. In the past, I would 
> upgrade my system every other release cycle of whatever distro I 
> happened to be using. I did this because most of the major distro 
> companies stop supporting their older versions with security updates, or 
> at least, that is what I believed.
> 
> I would prefer to never do another major upgrade that involves a 
> complete re-install, or at least only need to do it every 4 or 5 years 
> if possible.

In theory, as I said above, Debian Testing should work as a perpetual
up-to-date evolutionary upgrade path.  In practice, I find that despite
the fact FreeBSD (what I'm using now as my primary OS) uses an atomic
release cycle it actually tends to provide me with greater long-term
stability and is more up-to-date in both the short- and long-term scales
than Debian.  If you use a FreeBSD release from the moment it moves into
the -STABLE release branch, it has a minimum lifespan with total support
of three years -- a minimum of 12 months in -STABLE (normal support) and
another minimum of 24 months in -RELEASE (extended support).  If you jump
on the -CURRENT branch, you've got another six month minimum before it
goes into -STABLE, for a total of 3.5 years.  As an added benefit,
FreeBSD tends to have better luck with not hosing up your system when
doing an in-place upgrade than various Linux distributions.

. . . but if Linux is the way you want to go (please don't take the above
as pressure to use FreeBSD -- I'm just sharing my experience), I think
Debian is an excellent choice.  Just be aware that, for maximum upgrade
stability, my experience tells me that you should either ride a release
through from Testing to Stable to legacy support, then repurpose it, or
use Unstable instead if you want a perpetual evolutionary upgrade path.

Considering the "speed" with which Debian gets a new Stable release under
most circumstances, you'll probably see about as much time between
adoption as Testing and repurposing when extended support runs out as you
will with FreeBSD from -CURRENT to the end of -RELEASE.  The major
differences in update support between the two are:

  1. After a Debian release goes to Stable, it only stops getting
  software version updates to keep it current -- it only gets security
  updates.  FreeBSD releases get software updates for currency as well as
  security throughout their lifetime for software in the ports system
  (because the ports system and the base system are not handled the same
  way by FreeBSD).

  2. With FreeBSD, it tends to be less prone to stability issues if you
  upgrade some software versions but not others, so if you want to freeze
  versions for particular ports for compatibility purposes it shouldn't
  affect the stability of the rest of your system except in extreme
  edge-cases.  This is a side-effect of being a source-based system,
  rather than a binary-based system -- which has its own benefits and
  detriments, depending on your needs.


> 
> So, by keeping my sources.list file "testing," does that keep me up to 
> date without a full re-install even after a few years?

As long as nothing catastrophically breaks -- yes.  See caveats above.


> 
> Thanks again for listening. Take care all!

Hopefully I've clarified more than I've muddied the waters.  If you want
advice specific to Debian, I'll be happy to help out as much as I'm
reasonably able.  I'll even avoid saying the word "FreeBSD" if you like
(looking back at what I've typed already, I probably look like an
evangelist -- but I'm really just a happy "customer").

-- 
CCD CopyWrite Chad Perrin [ http://ccd.apotheon.org ]
MacUser, Nov. 1990: "There comes a time in the history of any project when
it becomes necessary to shoot the engineers and begin production."



More information about the NCLUG mailing list