More about repositories… January 15, 2010
(This is part 2; the 1st part is here.)
Okay, so hopefully by this point you understand the importance of repositories for running a stable Linux system. You’ve gotten into the habit of checking the repositories first when adding new applications (instead of the “Windows Way” of surfing the web looking for apps). Sooner or later, though, you’ll run into an issue that often confuses new Linux users: “outdated” application versions in the repositories.
Most Linux distributions fall into one of two categories: “rolling release” or “time-based release.” Understanding the difference (and choosing the correct solution for your needs) is key to an enjoyable Linux experience.
I’ll start by explaining rolling release. The goal of rolling release is to keep its users’ systems up to date through a constant stream of updates. When a new version of application like Firefox is released, it appears in the rolling release repositories fairly quickly (usually a matter of days). Rolling release users get the new Firefox the next time they update their systems. Rolling release distros are the best choice for users who want to install once, then keep their system up to date with the latest applications as soon as they are available. Arch and sidux are two of the best-known rolling-release distros.
Timed releases are the opposite. The repositories of timed releases are “frozen” at a certain point, meaning users do not get new application versions as they become available, only minor updates (bug fixes and security patches). Rather, users are expected to upgrade everything at once, at a regular interval, by moving to the next timed release of the distribution. For example, a new Ubuntu comes out every six months, and all major updates are “grouped together” into the new release, rather than being made available retroactively to users of the old release. Ubuntu, Debian Stable, and Fedora are examples of time-based releases.
Remember how we talked about the “Windows Way” in Part 1? Because there’s no unified repository or update system for Windows, its users are accustomed to a hodgepodge of application versions. For example, a typical Windows user has the 2001 version of Windows (XP), 2010 version of Firefox, 2008 version of iTunes, and 2003 version of Office. What a mess! It’s no surprise Windows users get confused by the “Linux Way.”
Here’s an example: In June 2009, Mozilla released version 3.5 of its popular Firefox web browser. At that time, the current Ubuntu release was 9.04 Jaunty Jackalope (9.04 = April 2009), which included Firefox 3.0. The Ubuntu Forums were flooded with users asking “I just updated my system, but Firefox is 3.0. When will I get Firefox 3.5?” The answer, of course, is “never,” which confused and irritated a lot of users. (Note: In the end, Ubuntu actually did provide a ‘firefox-3.5′ package, codenamed ‘Shiretoko’ to its 9.04 users; an exception that proves the rule.)
“OMG, Ubuntu sucks, why would I use such a horribly outdated operating system?” (Never mind that you were happily surfing the web with FF3.0 a month ago; did it suddenly stop working just because a slightly newer version is available?) Rather than take a few minutes to understand how a time based release works, many of these users said “rolling release must be better” and switched to Arch, only to come crawling back to Ubuntu eventually. Rolling release might sound better on paper, but in the real world, timed release distros (Ubuntu, Red Hat, Mandriva, Debian, etc.) are much more common. How could this be?
The advantage of timed release (for many users) is it helps us understand Linux as a whole, rather than the sum of its parts. Because each release cycle has a frozen set of applications, everyone using the same release has an identical system (well, more or less). Instead of thinking “Linux kernel 2.6.28, Firefox 3.0, Gnome 2.26, etc.” you can simply think “Ubuntu 9.04.” All of the applications have been tested to work together in those specific versions, resulting in a stable system with no unexpected major upgrades that might “break” your system. When a new release comes out (the current Ubuntu is October 2009’s 9.10 Karmic Koala), all of your apps are upgraded at once, to newer versions that have all been tested to work together.
Now here’s where things get really interesting. Depending on the goals of the project, each distribution has its own development process and release cycle. Finding a distro whose goals match your own is a magic moment in discovering Linux. Ubuntu, for example, has a new release like clockwork every 6 months (April and October), and each release is supported with bug fixes and security patches for 18 months. Debian, on the other hand, is quite similar to Ubuntu, except that they release “when its ready,” roughly every two years and support each release for several years. Ubuntu’s approach is great for average users who want relatively up-to-date applications (never more than 6 months old), while Debian’s approach is more for users who want an ultra-stable system and don’t mind using slightly older applications. At the far extreme is Red Hat Enterprise Linux; their releases include only older, well-tested applications, but they support each release for seven years! Corporations pay big bucks for Red Hat because they need this support, not flashy new features.
Now personally, I don’t think there’s a clear winner in the battle between rolling release and time based release. I use a time based release on my work desktop (for the stability), but rolling release on my laptop (because I like playing with the latest new applications). In a future article, I will attempt to answer the “which distro is right for me?” question in greater detail. But for Average Joe who just wants a user-friendly home operating system, my advice is, install Ubuntu, and don’t worry if you don’t get the latest Firefox the same day it is released. You’ll never have to wait more than six months, and in the meantime, you’ll enjoy the benefits of a stable system.
Now, does this mean you can’t use the latest version of Firefox (or any other application) in a time based release? Of course not! You can add a 3rd party repository (PPA) to your software sources, compile the application from source, or download the latest version right from the Mozilla website. But ask yourself why you think you need it. There are plenty of good reasons (your boss sent you a Microsoft Office document in .docx format so you need the latest OpenOffice), but if you are simply stuck in the “newer is always better” mentality, I invite you to graduate from the “Windows Way” and enjoy the stability of the “Linux Way.”
ЎGracias por el artнculo. Cada vez que quieres leer.
Nicolas
Hi, I’m very interested in Linux but Im a Super Newbie and I’m having trouble deciding on the right distribution for me (Havent you heard this a million times?) anyway here is my problem, I need a distribution that can switch between reading and writing in English and Japanese (Japanese Language Support) with out restarting the operating system.
Hi Emily, I do not know the answer to your question, sorry. (I am English-only.) My first Linux distro was Ubuntu. Their slogan is “Linux for Human Beings” and they claim to have pretty good international language support. I would suggest stopping by http://www.ubuntuforums.org and asking your question there, good luck!
Hi, I’m very interested in Linux but Im a Super Newbie and I’m having trouble deciding on the right distribution for me (Havent you heard this a million times?) anyway here is my problem, I need a distribution that can switch between reading and writing in English and Japanese (Japanese Language Support) with out restarting the operating system.
Buy:Viagra.Super Active ED Pack.Cialis Super Active+.VPXL.Viagra Professional.Soma.Zithromax.Cialis.Viagra Soft Tabs.Maxaman.Cialis Professional.Viagra Super Active+.Cialis Soft Tabs.Tramadol.Levitra.Propecia.Viagra Super Force….