5

I used to use Arch, but it became painful to update if I'm only updating the system every few (3-6 months, typically closer to 6 months). I began to look at other distributions, but it seems like my only options are rolling release distributions and ones on a release cycle where all packages are tied to that cycle.

Is there a distribution that is a happy medium, where the core OS updates come out every few months and are guaranteed to be stable, but their package repositories are updated more frequently so my installs of Chromium, Eclipse, the JDK, GCC, and other tools are up to date quickly after the software is updated?

Thomas Owens
  • 557
  • 2
  • 9
  • 22
  • 2
    Your question requests two completely conflicting ideals -- stability isn't something that magically happens. Stability happens due to testing by users and refinement of existing features. You're wanting to have your cake and eat it, and it simply doesn't work like that. – Chris Down Sep 24 '11 at 22:23
  • @Chris There's a difference between waiting months for a stable software release to make it into a repository and having breaking changes. For example, I looked at the Ubuntu repository and it still contains Eclipse 3.5. 3.7 (a stable and tested release) has been out since June and 3.7.1 (a stable and tested service release) was just released yesterday. I want a distribution where these stable software packages enter the repository quickly (days, maybe a week or two tops), but I don't need to deal with bloatware or ending with a system configuration that's unstable after updating. – Thomas Owens Sep 24 '11 at 22:31
  • 2
    @Chris Down, not really, the packages could be categorized -- core packages -- slow pace of updates, base packages (like WM) -- moderate paste, front-ends (packages that are not dependend of anything; like Audacity, FireFox, etc) -- fast pace of updates. Such policy would be much more reasonable balanced that current fixed policies (update everything frequently vs. update everything every 6 years). – greenoldman Sep 26 '11 at 05:15
  • @macias But that doesn't make it stable. That makes it the opposite of stable. – Chris Down Sep 26 '11 at 07:08
  • @Chris Down, well, you have always to put a mark somewhere, the only really stable distro, is no distro at all, right? Btw. today issue of Distro Watch brings info about Chakra (this is not new distro), and emphasis on its feature -- semi rolling-release, slow pace base system, fast pace "user" packages. – greenoldman Sep 26 '11 at 09:10

5 Answers5

7

You want “stability and consistency in system packages”, and then you request that “GCC [be] up to date quickly after the software is updated”. Gcc is a fundamental system package. Let's face it: you want to have your cake and eat it.

I don't think you're going to find a distribution you like. So instead, get two cakes: one for eating and one for having. Install one stable distribution, such as Debian stable or Ubuntu LTS or Red Hat Enterprise Linux. And install one rolling release distribution, such as Debian unstable or Fedora or Arch Linux. Run the stable distribution as your main system, and run latest-and-greatest-or-perhaps-buggiest applications in a virtual machine, or just in a chroot. If you're running a Debian-like distribution as the main system with some other system in a chroot, or if you're running a Debian-like distribution in a chroot, this answer may help.

If you're willing to bend slightly, the BSD distributions are based on a stable, tested core and a ports collection for third-party applications. There are three main BSD distributions: FreeBSD is the most “mainstream” one, OpenBSD focuses on security, and NetBSD focuses on portability. Amongst the Linux distributions, you may want to give Gentoo a try, sticking to its stable branch for core system package and risking the testing branch for others.

  • 1
    As a software developer, I don't consider GCC to be a system package, I consider it to be a development tool. I don't want to run an update and have packages that break my system (like what happened with Arch). I shouldn't have to wade through and manually verify that everything is going to work. I want a system that "just works", but with the latest and greatest stable software (development tools, web browsers, office suites, and more) without headaches when updating. I also don't want bloatware (last time I installed Ubuntu, I spent 45 minutes uninstalling software I didn't want or need). – Thomas Owens Sep 24 '11 at 21:33
  • 8
    @ThomasOwens Software “just works” because many early adopters have tested it for a while and diagnosed all the stuff that broke the system. If you don't want the headaches, you need to wait until other people have had them for you… As for bloatware, a decade or so ago, my OS partition was 1/3 of my 10GB hard disk. Now my OS partition is 1% of my 2TB hard disk. Why care that I only use half of what's installed? – Gilles 'SO- stop being evil' Sep 24 '11 at 21:45
  • I know why software works. I want access to that working software. Before Eclipse, GCC, or LibreOffice goes stable, it's been tested and tried and errors found and fixed. Arch introduces breaking changes into the repository, Debian and Ubuntu update too slowly, OpenSUSE doesn't even have everything I need/want in their package manager. Is there no distribution that has what I want? I just want to be able to update at any moment in time and pull the latest stable software and continue to have a system that works without spending hours dealing with dependencies, incompatibilities, and bloatware. – Thomas Owens Sep 24 '11 at 21:50
  • I disagree with your (unsubstantiated) claim that "Arch introduces breaking changes into the repositories." If you kept your system up-to-date - which is the whole point of a rolling release - rather than updating "every 3-6 months", then you would be using a stable system with the newest packages. – jasonwryan Sep 24 '11 at 23:48
  • @jasonwryan I don't have the time to check for updates every time I turn around. But also, that's beside the point. If I'm running a stable system now, and I do a complete update tomorrow, I still have a stable system. If I do another complete updated in 3 months, I should still have a stable system. At any point after an update, I should have a stable system. That is not the case in my experiences. – Thomas Owens Sep 26 '11 at 10:18
3

openSUSE might provide what you are looking for, thanks to the build system used to build packages.

Major releases are reasonably scheduled, and I have not often had problems jumping a few revisions ahead.

However, the way packages are built will let you have bleeding edge packages for specific topics, which appears to be what you are looking for, without worrying too much about incompatibilities with a specific released version. For each topic, there is a "devel project" where the actual development is performed. Factory, which always represents the next major release, is essentially an aggregation of the devel projects. However, the packages in each each project is also automatically built against all of the released versions that are still in maintenance, and packagers take a lot of care to maintain compatibility with older releases, as per the packaging guidelines.

So if you want to keep gcc up to date with the latest packages specifically built against openSUSE 11.4, you can add the devel:/gcc/openSUSE_11.4/ repository. This eliminates the dependency hell you may end up with if you simply grabbed the packages sitting in Factory, since that may have, for example, a newer glibc.

Similarly, you can add Java:/base/openSUSE_11.4/ and Java:/openjdk6:/Factory/openSUSE_11.4 for the latest Java stuff, and network:/chromium/openSUSE_11.4/ to track the latest Chromium.

On top of that, you can get an account and keep your own versions of packages, and let the build server handle the work of building them against multiple versions/architectures. (You can also build against many competing distros, as well)

You can browse the repositories directly here and you can search for packages here.

Hopefully that will provide what you're looking for.

1

Debian has a backports service that allows you to get newer versions of packages from the testing release built for stable. It sounds like exactly what you were looking for, but may not have been available when you first asked the question.

More information about setting it up is available on the Debian Desktop How-to wiki page.

1

I don't know of any. And I think it's not so easily possible, because the newer software packages might depend on newer system packages.

I know that's not really what you want, but that's what I would do: You can go with Debian stable for stability and install only newer versions of specific packages that you need. You can install them from source or add testing/unstable repository and use apt pinning. But be careful with mixing repositories, it might reduce the stability of the system.

Dario Seidl
  • 2,446
  • 1
  • 21
  • 21
1

Another quite decent solution is using a stable Ubuntu distribution (eg. Ubuntu Lucid Lynx LTS) and then adding PPAs (Personal Package Archives) which provide newer versions for specific packages or sets of packages (for example Chromium, Java, or whatever). These repositories usually provide all the dependencies required for the newer packages to work, so they might occasionally upgrade some of your 'core' packages, but in my experience I've never had any major problems with them.

You have to be careful, of course, since, even though most of them are quite good, they're essentially unsupported and sometimes experimental or auto-generated by bots, so if something goes wrong you're basically on your own.

axel_c
  • 587