Hacker News new | ask | show | jobs
by war1025 2210 days ago
Debian has stable, testing, unstable, and experimental repositories.

If you only enable stable, then you are signing up for very outdated software.

If you add `testing`, you get quite a ways towards having an up to date system, while still not having to worry too much about odd bugs.

Adding in `unstable` gets you about as close to up to date as you can get without compiling the source yourself.

Experimental is good to keep around, but in my experience most things skip it and just hop straight to unstable.

The beautiful thing about Debian compared to Ubuntu is that it actually is a rolling release system. Ubuntu users have to worry about what version they are on. With Debian, you set what track you want to follow and just remember to install updates as they become available.

Because it's a rolling release, you're much more likely to catch small issues and be able to isolate what package is causing the problem, as opposed to doing a thousand package upgrades at once and then being snagged because one of them had an install issue.

2 comments

Debian strongly advises against mixing repositories: https://wiki.debian.org/DontBreakDebian#Don.27t_make_a_Frank...

Debian Testing is an option, but would you recommend that over a distribution focused on rolling releases, like Arch? From my vantage point (which isn't particularly good, as a non-Linux user myself), most of the Debian project's effort is concentrated on producing Debian Stable. Case in point, security updates for Debian Testing are sometimes significantly delayed.

> would you recommend that over a distribution focused on rolling releases, like Arch?

Everything about Debian except the `stable` repository is explicitly a rolling release.

> Debian strongly advises against mixing repositories

Certainly you wouldn't want to add in the other repositories if you're aiming for Debian Stable type guarantees.

This is the `sources.list` file that I've been using for nearly a decade:

   deb http://deb.debian.org/debian/ testing main non-free contrib
   deb http://deb.debian.org/debian/ unstable main non-free contrib
   deb http://deb.debian.org/debian/ experimental main non-free contrib
And then I have a preferences file that prefers testing to unstable to experimental (actually three separate files in the preferences.d directory, but I'd think you could combine them.

   Package: *
   Pin: release a=testing
   Pin-Priority: 700
   
   Package: *
   Pin: release a=unstable
   Pin-Priority: 650

   Package: *
   Pin: release a=experimental
   Pin-Priority: 600
It may not be advised, but it works pretty well. Sometimes you have to get a bit creative when you go to run `apt-get dist-upgrade` and it wants to delete half your system, but usually you can just manually install individual upgrades (`apt-get install <x>`) until it unwedges itself.
back when I used debian(10 years ago) testing was the staging ground for the future stable version, so it got a couple of issues that varied as the mantainers stabilized the system.

then unstable was a really rolling release system, in my experience more stable than testing(understandable quirk as is was used by mantainers to prepare the next release).

At that point I decided that I'd rather use arch then unstable debian, but unstable was quite similar regarding package candence and stability.