I am an Ubuntu user for some time now and I am thinking of trying some other Linux OS. After extensive search I decided to try either Debian or Cent OS. But I have some concerns:

  1. Both Debian and Cent OS are said to be very stable so some of the packages featured in them are old versions. So if a program has a bug or a security vulnerability and one must upgrade immediately to a newly released version will I be able to do so or I will have to keep using the problematic version?

  2. As far as upgrades go (newer software versions or system bugs, security upgrades etc.) does those operating systems get automatic upgrades as Ubuntu does once in a while or the only way to upgrade either software packages or the system will be to install the newer version of the OS when it is be available?

  3. I have heard that once Cent OS is installed I don't get codexes and I have to install some basic software through third party repositories. What does this mean for me? Will I have a problem?

I want to clarify that I want to use those operating systems for a desktop computer.


I moved from Ubuntu to Debian a couple of years ago and never regret this decision. Concerning your questions:

  1. You can use different branches of Debian. As a new user I would recommend the stable branch (which is indeed very stable but sometimes lacks new software) or the testing branch (which is only a little less stable but provides newer software). Both branches provide security updates. They are installed every time you do a system update.
  2. Debian Stable doesn't get any new software - only bug fixes and security updates. Debian Testing is rolling release *), meaning that new software is provided continuously. This is a difference to Ubuntu, where you have to upgrade to the new version every once in a while to get new software.
  3. I cannot answer this question as I have never used Cent OS. I heard that it is a good, stable distribution. As it is used for servers, it also should be quite secure.

Coming from Ubuntu, you might want to consider that Debian is more similar to Ubuntu (to be precise, Ubuntu is built "upon" Debian). Both, Debian and Ubuntu use Apt. Cent OS is a derivate of Red Hat Linux and uses RPM instead. There is nothing wrong with either of them, however you might already be more used to the Debian approach.

*) To be precise, just before the current testing release becomes the new stable release, there is a so called "freeze". In this time window testing doesn't get any new software - just bug fixes. After that, when the new stable release is out you have to perform a dist-upgrade (apt-get dist-upgrade) to update your system to the new testing-release (if you want to do so, make sure your /etc/apt/sources.list contains the word testing instead of the name of the current testing release, e.g. stretch).

  • This is an excellent answer thank you. Only one question regarding my 2nd point. If a program has a security vulnerability and needs upgrading what happens then (as the Debian doesn't provide upgrades)? – Adam Sep 9 '15 at 20:56
  • 1
    Thank you. I don't know if I get you right. Both, Debian Stable and Debian Testing provide security updates. You would only need to do system updates (there are many ways, some of them with a GUI - in the shell you could always use apt-get update; apt-get upgrade) and most (I would like to say all, but who knows) security bugs should be fixed. – Marcel Sep 9 '15 at 21:00
  • Debian Testing isn't really a rolling release - Debian Unstable is. – MatthewRock Sep 9 '15 at 21:24
  • @MatthewRock Sorry, but using Debian Testing for several years now, I don't think so. I get new packages and even new kernels in Debian Testing on a regular basis - for me this is rolling release. Only while freezes, Debian Testing is not rolling release (en.wikipedia.org/wiki/Rolling_release#Debian-related) – Marcel Sep 9 '15 at 21:30
  • 1
    I think Matthew is confusing bleeding edge rolling with rolling. Debian is this: Sid/unstable packages, once they pass a certain time and are considered fairly bug free, move to testing. When next stable release freeze comes, next stable is pulled from testing. Sid and Testing are then largely frozen except for bug fix updates. Sid and Testing are both rolling, by definition, and are the foundations for next Stable. There is no non rolling testing, except during next stable freeze. I run both, and both are rolling, but neither is rolling like Arch or Gentoo, which never freeze. – Lizardx Jan 1 '16 at 22:22

Relations between the distributions

I have used Ubuntu for the last five years and currently use Fedora. The waterfalls are:

  • Debian → Ubuntu
  • Fedora → Red Hat Enterprise Linux → CentOS

As mentioned in the other answers, Debian has three branches and the picture in Debian would rather looks something like this:

Debian Unstable --> Debian Testing --> Debian Stable
                             \--> Ubuntu

Ubuntu also takes some packages directly from Debian Unstable but that is a detail.

Media codecs

In most situations the multimedia codecs used are proprietary and possible even encumbered with software patents. This means that you have to aquire a license to use this software. On Windows and Mac OS the company has paid for that license and all the users can use all the proprietary codecs without thinking about it.

With the desktop Linux distributions there often is no company paying for that. Therefore every user has to obtain the license themselves or ignore it and say that it is personal use only anyway. In either case the Linux distribution must not bundle the software as that would require complex license contracts that most distributors do not have the time and/or money for.

Ubuntu ships the proprietary software as they decided that this is a value to the users. And it indeed provides a lot of value for people using a desktop Linux for their daily computing but still want to play MP3 and stream movies.

Debian and Fedora are very pure in their software selection and therefore do not contain anything that is remotely proprietary or patent encumbered. This means you have to extend the distribution with “impure” repositories to get multimedia playback of media you find on the internet.

On Fedora I use RPM Fusion which apparently can be used in CentOS as well. That is one way to obtain the codecs that you want.

Security updates

You will always get security updates for all programs in any stable distribution during its lifetime. Although Debian Stable and CentOS contain old packages (compared to Debian Testing and Fedora) the security updates are backported which means that old versions are fixed as well. So the versions will roughly stay the same and just the security issues are fixed.

If that was not the case you would have a problem over time. Imagine you use some program in version 1.2.0. Now the developer releases version 2.0.0 which contains many more features but also dropped some features that were available in version 1.2.0. Most of the code is not changed and a security issue is found in the new version that also applies to the old version. The developer creates 2.0.1 which fixes the issue.

Now if the stable distribution would ship 2.0.1 over night you would get this update. You would scream because your accustomed version 1.2.0 has been updated to the radically new 2.0.1. Perhaps your work depended on that version and you now have a problem. This must not happen with a stable distribution. On Debian Testing that is fine as it is a distribution to test-drive all the latest software.

This is how it should be done: The developer himself or the distributors of the stable distribution apply this fix to the old version and create 1.2.1. That version is then also fixed. The stable distributions shipping 1.2.0 will update to 1.2.1. The security issue is fixed but the way the program works has not changed.

So when you have a stable distribution you will get security updates.

Schedule of updates

All distributions get some sort of regular updates. Those are always security updates and maybe software updates. There are a few different models:

  • Rolling release
    In this scheme all the packages are updated as they come, perhaps with a short cool-off. This is Debian Unstable, Fedora Rawhide, Arch Linux, openSUSE Tumbleweed.

    The problem might be that one day you update and it breaks your system. As far as I have heard most people cope with that rather well, but it would be too brittle for my taste. My distribution has to support me for a whole semester as I only want to tinker in the semester break.

  • Regular releases
    Distributions like Fedora release regularly every six months. There is a certain period to switch to the next release. openSUSE used to be like that, openSUSE Leap is either like this or like the next type. Special software might be updated in the meantime. Although most software is not touched new versions of Firefox are shipped by Ubuntu.

    This is a nice compromise as you get reasonable updates to the software but are not the bleeding edge of updates. You can trust that it will not break unless you do a major upgrade (like Ubuntu 15.04 to 15.10) and is fine for every-day work. You are forced to update every six to twelve months, so this might not be something you want to install for a relative.

  • Release when ready
    Debian Stable only comes out when the maintainers deem it to be ready. There is no fixed schedule. New releases come out roughly every two years. The release of Jessie took more time as they wanted to get the switch to systemd right.

    For me those kind of distributions contain too old software. My C++ compiler should be rather recent as I like to try out the new features. Same goes with LaTeX and Python. If you want to run a server, however, the whole perspective changes.

Why change distributions?

Why exactly do you want to change the distribution in the first place? If there is nothing wrong with Ubuntu for you, you can just stick with it. I find it pointless to argue about the best Linux distributions as people have different needs. I for instance need a platform for programming and I can do that on Ubuntu. If people tell me that I know nothing about computers because I use Ubuntu I show them the stuff I did using the distribution instead of tinkering with the distribution. Ubuntu seems to be a nice Linux distribution for desktop users with multimedia applications.

If you are just curious and want to try out another distribution, you could do that in a virtual machine (VirtualBox is the easiest to use). Then you can try out if everything works as you expect and change your computer over to that distribution.


I recently wrote a summary of my opinions of the various distributions that I have tried. There I present some details that I noticed by looking a little closer.


Ubuntu is based on Debian - so your best bet would be switching to Debian.

I've used it for some time - it's quite good distribution. It has a lot of features that make it nice desktop os(although now we're going into opinions land).

Let's adress each point separately:

1. Debian has security upgrades and branches.

You get your programs from so-called repositories - these are some remote servers containing your programs. You can have multiple repositories available. Debian has three main branches/streams - stable, testing, and unstable.

Stable(currently called "Jessie") is preferred for servers, discouraged for desktops - packages tend to be old, but are really stable and don't break often(if at all).

Testing(currently called "stretch") is newer branch, which contains packages that have been in unstable for a while. Considered almost stable. After some time, this becomes new stable branch.

Unstable(called "Sid") is where newest packages go - this theoretically means that it should break once in a while, but practically I've never experienced anything going wrong - I've used it for about a year. I consider this relatively safe.

Moreover there is separate security repository, with security updates from Debian development team - plus security bugfixes tend to go through, regardless of branch.

If you're concerned about security, read this FAQ. Please note that not all bugs are making you vulnerable(although it's not a good practice to have bugs in your code).

2. When do you get new OS?

On Debian, you get three separate choices.

Stable and Testing means that you get software updates(although not automatic; you need to update yourself, or set some script/program to do remind you about updating), but system updates aren't automatic too(although if you refer to branches by identifier, not name, using apt-get dist-upgrade will upgrade your system). Please note that they are rare - Ubuntu has fixed development cycle - Debian doesn't. They provide new stable release once in 2-3 years, but this is it. No need though, since testing has already pretty new packages.

Unstable is whole different story - it's so called rolling release - meaning you have one system, and no versions - whenever you update your packages, you're on the "latest OS version". You don't have Debian Sid 1.0, 2.0, etc. like you do with Ubuntu. Just update and continue working.

3. CentOS needs additional codex?

This one might be true - there are several codecs that are patented and need you to accept licences/download properiarity software(e.g. mp3). CentOS doesn't provide these codes out of the box, so you need to install them yourself - however, these shouldn't be too hard.

I'm not familiar with CentOS - only had access to servers, never installed or used as my distribution of choice - but note that CentOS is based on RedHat and aims to be enterprise quality server distro - and while this is completely fine to use server distribution for your desktop, you might want to consider using something that's created for desktop users.

  • Sid doesn't have security updates: wiki.debian.org/… – Marcel Sep 9 '15 at 21:42
  • 1/2: Section 2 isn't really comprehensive, in my opinion. Technically it is true, that Jessie and Stretch would not update to a new Debian Version (like Jessie -> Stretch) by themselves. However, nobody is interested in the name of the Debian version as long as you get new software. In Debian stable, you will only get security updates but in Debian testing, you also get new software - no need to upgrade the Debian version. – Marcel Sep 9 '15 at 21:47
  • 2/2: besides, if you use the identifier (like stable or testing) instead of the name (like jessie or stretch) in your /etc/apt/sources.list your system will automatically update to the current stable/testing release of Debian. Like that, once Stretch is the new stable release you could switch from Jessie to Stretch with just one command apt-get dist-upgrade – Marcel Sep 9 '15 at 21:53
  • +1 Matthew thank you very much for this detailed answer. It is really helpful. – Adam Sep 9 '15 at 21:58
  • @Marcel for me, dist-upgrade isn't automatic - you need to use separate command to upgrade; although this section might have been misleading, so I updated it. – MatthewRock Sep 10 '15 at 7:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.