Hacker News new | ask | show | jobs
by Wowfunhappy 2210 days ago
I'd expect users who go into Debian expecting some power-user version of Ubuntu to be disappointed. To be happy on Debian, you need to adopt their philosophy that stability is better than having the latest-and-greatest.

For those unfamiliar, Debian releases come out about once every two years, at which point all software in Debian's repositories is frozen at its current version. Software receives security updates between releases, but nothing else.

I personally think this is wonderful, and I would absolutely use Debian if I was interested in switching to Linux (which I'm not, at the moment). Constant change is inherently frustrating, even when the changes themselves are a net positive (they often aren't). Debian's approach provides a level of reliability and consistency that is sorely lacking in most modern software.

So, while I also recommend Debian, I do so only if you too agree with the above paragraph.

3 comments

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.

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.

Debian offers both the stable release which you mentioned as well as more up-to-date 'testing' and relatively cutting-edge 'unstable' releases. The 'unstable' release tends to be stable enough for day to day use by the so-called 'power/super/hyper/turbo/whatever' user, it hardly ever breaks. I tend to run stable on servers, unstable on user-facing desktop/laptop/notebook applications. Even on servers I sometimes add the testing or unstable repository at a lower precedence to be able to selectively add packages from there. I've done this for decades and have yet to have a significant breakdown on either server or user-facing installations.
Consider that LTS editions of Ubuntu, which are very popular and Canonical themselves recommend, work exactly the same way.