Linux

Five tips for choosing the right Linux distribution

If you're poised to give Linux a try, you'll want to make sure you pick a distribution that suits your needs. Jack Wallen zeroes in on the key factors that should guide your choice.

I have, on a number of occasions, stressed to new Linux users how crucial the right distribution is. Choosing the distribution that suits your needs is the single most important key to success when attempting to migrate from another operating system. But how do you know which one to choose out of the hundreds of variations? Believe it or not, there are some key questions to ask yourself when making this decision. It has been my goal for more than a decade to help prospective Linux users make the plunge with ease and success. Let's see if I can do the same for you with these five tips.

1: Decide what you need Linux to do

This is essential to your initial success. There are Linux distributions geared for specific needs. Do you need Linux to act as a server OS? A desktop OS? A router? A firewall? Once you have answered the question of what you need Linux to do, you're more than halfway home. But if you don't ask this question, you might very well install a distribution (such as CentOS) geared for a server environment and wonder why it makes a lousy desktop environment. Choosing the Ubuntu Desktop distribution and using it as a server will find you in the same state -- constantly frustrated.

2: Choose between stable and cutting edge

This should be a black-and-white area and all new users should pay close attention to it. New-to-Linux users who choose a distribution like Fedora will be frustrated. No matter how polished and stable Fedora might seem, it is geared toward the bleeding edge. Fedora is used as a test bed distribution for its bigger brother Red Hat Enterprise Linux, so it's constantly updating to the latest releases. This leads to users having to fix problems. Even out of the box, you might find Fedora broken in one respect or another.

3: Consider your desktop preferences

Although this issue is about to be tipped on its head (when distributions start migrating to GNOME 3 or Unity), it is still a big factor in the success of a new Linux user. You have to remember that Linux is all about choice, and you have what might seem like an infinite number of choices when it comes to the desktop. There's GNOME, KDE, Enlightenment, CDE, XFCE, Afterstep, Fluxbox, etc. Each desktop has its pros and cons. If you like the OS X desktop, you'll like GNOME. If you like the Windows desktop, you might prefer KDE. If you want something different, the world of the Linux desktop is wide open to you. But you have to choose your distribution carefully in this respect. Make sure you are downloading the ISO that includes the desktop you prefer. If you are looking at Ubuntu as a distribution, know that it will soon switch to Unity (an altogether different desktop), but you can opt for Kubuntu (which has KDE as the desktop environment) or Xubuntu (XFCE).

4: Determine what type of package manager you want

This might seem like a question better left for the expert. It's not. Each distribution deals with the management of applications differently. You have PackageKit, Zypper, Synaptic, apt-get, yum, Portage, Ubuntu Software Center, and more. If you are looking for the easiest application manager on the planet, you want the distribution that uses the Ubuntu Software Center. (I'll give you one guess which distribution uses that manager.) If you want something more challenging, you could look at Portage, which is used by Gentoo. Synaptic is used by Debian-based distributions, is a front-end for apt, and is an easy package manager (NOTE: Synaptic will be phased out of Ubuntu in favor of Ubuntu Software Center). PackageKit is preferred by Fedora (with yum being the command-line tool), and Zypper is used on SUSE. Each package manager has its pros and cons, but one fundamental similarity is that you can search for and install thousands upon thousands of applications from that one tool.

5: Note the release cycle

This one is a touchy subject among Linux diehards. Most Linux distributions have a regular release cycle (when they release the next version). Some distributions release often, which keeps their distribution as up to date as possible. Other distributions prefer to release less frequently, which keeps their distribution more stable. The question you really need to ask here is how often do you want to update? For instance, take Ubuntu. Ubuntu has one of the most confusing update cycles in the land of Linux. It's regular but sometimes hard to grasp for new users.

Here's the Ubuntu update cycle. Every six months, a new release is distributed. Every other distribution (6, 8, 10, 12, etc) is considered a long-term support (LTS) release. This means that support for that release will last for up to three years. Support means new package updates and security updates. All other releases enjoy only a year of support. You can count on Ubuntu releases like clockwork: Every April and every October (hence the .04 and .10).

Fedora releases a new version every six months but doesn't have an LTS-like version. Maintenance for Fedora releases lasts 13 months. What is crucial here is that you do not want to be using an outdated version of ANY distribution. This is especially true for a server or production desktop, as security and bug fixes are no longer available for a release after a certain point.

Bonus tip: Consider the community

If you can go through the above tips and answer the necessary questions, you should be able to pinpoint the precise Linux distribution you need. These tips don't include one other factor -- community. Each distribution is associated with a community. Which community do you feel most strongly drawn to? Some of those communities are friendlier to new users. Some offer more help than others. But regardless of which you choose, know that you are about to dive into something exciting that will bring you much stability, security, and peace of mind. Whatever your decision, congratulations and welcome to the wonderful world of Linux.

About

Jack Wallen is an award-winning writer for TechRepublic and Linux.com. He’s an avid promoter of open source and the voice of The Android Expert. For more news about Jack Wallen, visit his website getjackd.net.

31 comments
rcugini
rcugini

I think that they over complicate things. There are 3 basic concerns for choosing an operating system. One: Does it work with ALL of your hardware, including wireless and entertainment devices? Is it stable? Is your computer powerful enough to handle it without slowing to a crawl? (especially older machines) Two: How user friendly is the distro together with its desktop? (Of course, hard core scientists and system administrators can skip this) For the typical "Johnny Q. Public" who just lost his epic novel to a M$ virus, ease of use is important. After all, Johnny won't buy a set of wrenches that feel cheap and don't handle well, why an operating system that does that? Three: How secure is it? Does it have a firewall? Can the disk partition be encrypted easily during installation with a GUI? If so, how strong is this encryption? (Obviously, Linux is far more secure then Windows "out of the box", but there are still differences.) In terms of Fedora, its only bleeding edge if you enable the rawhide, experimental or testing repositories. Just use conservative repositories + livna for multimedia support and the stability issues go away. Fedora also works with all my hardware, including both printers and I set up an encrypted crypto-luks partition effortlessly with a wizard.

kevaburg
kevaburg

To be able answer any of these question, yuo need to know they exist in the first place! How can I decide what I want Linux to do when I don't know what it can do in the first place? To emphasise my point, I am looking to begin installation of Oracle databases (11g) and Grid Control components on a Linux distribution of one flavour or another. I know nothing about Linux. As I started my research I discovered that Oracle recommend Unbreakable Linux (an RHEL variant) although the most documented seems to be Solaris. So I downloaded both to see how each performs. Irritation does not even begin to describe how I felt when I discovered with both distributions that firstly I had to create a folder structure by hand. I needed to create users and groups and manually assign permissions at folder and executable level (if indeed it is called an executable in Linux) before I could even get the setup routine started. And then I had the problem of the program claiming the wrong OS (read incompatible) was installed and the setup couldn't continue. As I read through the documentation I could see no problem with what I had done. I am a very experienced Windows admin and equally experienced with Oracle 10g and 11g. So what was the problem? I still don't know. None of the items on this list are how I would recommend someone new to Linux should begin. Start with understanding what Unix is, understand the command syntax and why things happen the way they do. Then go on to looking at different distributions and the differences between them. Then select the one that works for you. The bottom line is this: There is no shortcut route to learning Linux in any form. Decide you want to learn it, and then learn it. Personally, I don't know why the Windows method of installation (click a setup routine and install everything on the fly) couldn't be adopted by Linux. The one thing I did like though is that software couldn't be installed by root. If Windows adopted this philosophy then perhaps there would be less security problems.

zefficace
zefficace

I had a friend that wanted to switch to Linux. When he asked, I told him I could probably help with any distro he liked, but I really knew Ubuntu having used it for years. (I was just starting out on ArchLinux at the time) He felt alot more comfortable using Ubuntu for that reason. Having personnally solved a multitude of "noob" problems along the way, some Ubuntu specific, his transition to a Linux OS was easier. To know someone versed in a specific distro will make distro a better choice to start with. That friend probably had the very same problems when he/she started on that distro and solved them, making your life easier. Of course, if you have no friends (that uses any distro at all), you're not going to consider this point at all.

eCubeH
eCubeH

Yes, I was also surprised on the Fedora comments. We stay 1 release behind, but we use it extensively server side as well as desktop (from netbooks in remote locations across Central India to desktops) - works beautifully, We have been using for some 3 years, upgrading annually. From services to apps - browser + Xforms, dev tools (eclipse/android and quanta), php & java, mail clients, multimedia, skype, whatever. Very configurable. Yes occasionally, we have some problems - some releases back Gnome Power Manager used to crash the system but that was around Fedora 6-8, and I haven't seen that happen in a while. Fedora works for us - wouldn't swap for anything. And this is a production environment - some 100 odd systems.

rmerchberger
rmerchberger

He didn't mention my personal favourite (which I almost never run, tho, due to lack of time to tinker with it) FVWM -- gosh, why not drop all the way back to TWM? It's still available -- whether one considers it "usable" is a personal opinion. He was only listing some available examples, not an exhaustive list... If you'd like a much more exhaustive list (with screenshots & everything) try here: http://xwinman.org/others.php Laterz...

cwarner7_11
cwarner7_11

First thing you need to bear in mind is that Larry Ellison is adamantly opposed to Open Source software philosophically. Which says to me, Unbreakable Linux and any Oracle app is not going to play nicely with Linux. Look what they have done to VirtualBox, OpenOffice, Java, Orca (an Open Source solution for the visually impaired, to list only those with which I am familiar) since purchasing Sun...

Neon Samurai
Neon Samurai

Setting up an Oracle database isn't like installing firefox so you can browse some websites; that's a pretty industrial piece of software for a very specific use case. Specialty software or use cases continue to dictate what OS and distribution can be chosen. If your doing a VMware server, expect to favor Red Hat or go full out ESX on bare metal. If your doing an Oracle database, expect to favor the distributions it provides installs for. (does Oracle provide Red Hat ready .rpm packages?) Regardless of what OS you end up with; knowing how to set file and folder permissions, add/remove users and such is going to be required. Installing on a Windows server, you'll want to be familiar with managing Windows and AD environments. Installing on a Red Hat Enterprise server, you'll want to be familiar with managing RHE and possibly how to fit it into an LDAP (MS-AD or otherwise). If Oracle does not provide the database for inclusion in repositories like Debian's Non-free and Canonical's Metaverse then fair enough, they've chosen to go it alone. If Oracle then does not provide a native package for supported distributions; one has to take that up with Oracle since other third party developers have no issue doing so. If Oracle, yet further, provides no native package then one has to ask why they didn't provide a well scripted install no more complicated than a Win install wizard (eg. like nvidia does).

Slayer_
Slayer_

I'd assume as a DBA you're paid to know these things, or figure them out. You can always Google up some support forms. There is a good chance there is already a preconfigured distribution available for what you need. Or someone has written a build script for you. That said, I agree it is way to complicated, even more so if you try to do everything from command line. It was suggested to me to install a GUI for the initial setup, then when you have the system built, uninstall the GUI or just turn it off.

kashyap.bikram
kashyap.bikram

This is especially important if your internet connection is pathetic, like mine when I was in collage. In such cases you might not be able to download an application you wanted. Happened to me with VLC. So had to do it by downloading the small VLC rpm and resolving dependencies (took almost a month). What I mean is that consider offline package sources accessible to you and which distribution supports them. Open SUSE was good in that regard.

kevaburg
kevaburg

Oracle has a Red Hat compatible distribution in the form of Enterprise Linux (RHEL). Both RHEL and Solaris should support a relatively pain-free installation but I have found exactly the opposite to be true. The setup is going on a base-metal ESXi server for testing but will be installed clustered with RAC in the final rollout. I don't know if you agree, but I personally find the Oracle website and associated documentation appalling and I have to wonder if there is simply something missed out. I have had it pointed out that maybe Oracle support should be used but I am reluctant to suggest that simply because up until now I haven't needed it (AskTom works perfectly well!) and the cost/service ratio is not particularly good!

kevaburg
kevaburg

A complete Linux beginner! Having witnessed first hand the performance improvement of Oracle running on Linux (look at the Exadata as a fantastic example!) against Windows I felt I should at least give it a chance! That is the research I am doing that you quite rightly said I am paid for! Now all I need is a sponsor for the headache pills.....

Neon Samurai
Neon Samurai

Debian and Mandriva both have full install disks in addition to network and/or liveCD install disks. Debian's is around six DVDs or something like that but you get the full repository library. Debian also has the apt-zip package which can be used to download packages from the official repositories using a fast connection then walk them over to the slow connected machine on disk. Network install and repository managed is preferable where possible but it's a good idea to confirm if the desired distribution has a full-install version with fully stocked disks. (A week hunting dependencies for VLC.. yikes.. A few of the regulars here may have been able to help reduce that install time)

Slayer_
Slayer_

Sounds like you need ndiswrapper. You run that baby and provide it with a windows INF file for the modem and it will generally work. Otherwise, try a different distribution, Ubuntu isn't known for its driver compatibility. Try Mint or Mandriva.

fleztek
fleztek

I just knew vital instructions were missing when attempting, un-successfully, to hook up my Huawei E160x USB wireless modem to the last 2 Ubuntu releases. Have complained about it in previous posts. Found the much-vaunted Linux "Community" much less than helpful in what I believed should be a simple task. First they suggested some gizmo called an ntdr package, which I followed to the letter but found critical lines missing from the instructions. Ended up a VERY sad and frustrating time. I gave up for a few months, took that long to get over the experience. It would seem that the Spin Doctors and Linux Fanboys are bigger BS Artists than even Microsoft. Not one of them told me about Wine, which is SUPPOSED to make installing Win Software a "breeze." Yeah, well, I am not too keen on wasting another 14 or so days and nights trying to fly blind.

pgit
pgit

Oracle doesn't want to make the OS easy for you, they want you to get fed up and just pay for support. That may well be the best bet for you for one big reason: if this thing ever goes down, you have someone other than yourself to point the finger at. Do you really want to learn Linux in a critical deployment environment? ..without any support?? I would get myself a few VMs or spare boxes set up with CentOS, Fedora (for learning mind you) and Debian, for starters, and learn the ropes on my own time. Maybe by the time the next upgrade cycle comes along you'll be in a position to stick your neck (and butt) out and do the OS support in house. You're not "wasting money" getting the Oracle and/or Red Hat support, you're getting the job done and an education along with it. Maybe even include some actual training for yourself in the mix as well, if the budget allows. (I wish I could take a few courses!) The thing with Linux is that once it's set up right, it just runs. Period. The only wiggle room for a contractor to make money in is the initial setup. You can't blame folks trying to make a buck for keeping setup and config somewhat obscure. I run into this crap all the time. Just about every "free" version of something (eg openvpn) has a tutorial that is just about all there but lacks one stupid-simple "secret ingredient" that actually makes it all work.

kevaburg
kevaburg

It is Oracles own distro. So why the problems? I have followed their own instructions to the letter and mre than once. Each time with a completely fresh machine (thank you VMWare!) and each time with the same problems. My experience is that Oracle documentation rarely seems to be complete and I can accurately document my experiences should you wish to know them. That and my lack of Linux experience is not making this an enjoyable job. Important is that we can if necessary, pay for support from Oracle to solve any issues. That means Unbreakable Linux (I still think that is a very brave name!) or Solaris. I will try it on CentOS as Neon suggested as well but my options are very limited. I don't know how much of the rest of my posts here you have read but maybe you can throw some light on my problems! I would certainly be grateful!

seanferd
seanferd

It's their own Linux distro. If you have trouble installing an Oracle DB on an Oracle OS, well, I don't know what to say. Solaris isn't Linux, it's a SysV Unix descendant from Sun, which Oracle just bought. Oracle doesn't want anything to do with the rest of the Linux or open source world. Given that, try it on CentOS if you want a RedHat variant. If it is just the install packages for the DB that are the problem, that's Oracle's gig as well.

kevaburg
kevaburg

And now add 170 SQL Servers into the mix and two of us to look after it and you can imagine how my day looks! Officially, Oracle only recognises RHEL and Solaris for the database itself so that does limit my options as far as support goes although I like your idea to try CentOS. Ubuntu and Mandriva I can outright forget because even with the -ignoresysprereqs Oracle won't recognise the OS. All I need really is an argument to begin official testing using RHEL or Solaris so I can make official contact in the name of my organisation. It really is a shame because I really enjoy working with Oracle but it can be damned hard work and if you make a mistake with it, it will slap you silly. The SQL Servers simply run, no fuss, no bother. Something Microsoft really did get right! Anyway, back to the testing board and book reading! Time to get serious I think!

Neon Samurai
Neon Samurai

I wouldn't be looking at doing such a setup without Oracle's support contract waiting on the other end of the phone. For that kind of setup, it sounds like you want Oracle support available to help with setup and ongoing needs. If you stick with RHEL your also looking at a support contract from Red Hat which will include your ongoing updates. From my last server buy, support means your looking at RHEL or SLES (Suse Linux Enterprise Server). HP also recognizes Debian though IBM and Dell did not at that time. RHEL and SLES are the two known for enterprise support with RHEL being the more stable choice; Red Hat didn't just get baught and has made a business of supporting enterprises. If you really wanted to go it alone, you can look at CentOS. This is basically Red Hat's distribution with the branding stripped out. You won't get Red Hat's support but you will get CenOS updates without an annual support fee. My guess is that Oracle will soon have a full database stack available also; Spark hardware, Solaris OS, Oracle DB. In terms of "was inherrently simple to use", it does depend on the distribution. The distribution is the product; "Linux" is just a component along with the rest of the lego pieces. Each distribution does things a little different; be it target customer, configuration choices, ideology or whatnot. "simple to use" generally refers to one of the new user friendly distributions like Ubuntu/Kubuntu, Mandriva, PCLinuxOS and such. Once you focus on the distribution as the product rather than what kernel it happens to run, things become more clear.

kevaburg
kevaburg

to a point! I have had it argued that it is easier to administer, secure and install. One of the reasons for making my decision to try it! My mistake was putting RHEL in the single category of "Linux". Thank you for the correction! ;)

Slayer_
Slayer_

Pretty much all the commercial grade nix distros are complicated. And Nix itself is fairly complicated, but were are long done with the days of Fat32 and no file permissions. I remember when people actually logged in as the root users and used it actively for administration, now everyone seems to be against that.

kevaburg
kevaburg

We have a network of about 130 Oracle databases monitored with 6 Grid Control servers so it isn't an adventure playground! I have been considering your advice and to be honest, Oracle support could be the only way ahead. I'm loath to take that approach for a solution that will probably only take 5 minutes for a professional Linux admin to resolve, but that why they get paid the wages! RHEL is the best platform I think as far as support goes, much more I can't judge at this moment. To be honest, I think it is problems like this that prevent most admins from even attempting the Linux route. I find it ironic though that I need the support for an OS that (I thought) was inherrently simple to use. The most complex part, the database, will probably not see a support call from me! Thanks for your advice Neon!

Neon Samurai
Neon Samurai

If it's for personal use (though Oracle is pretty heavy for "reacreation") then have at it and enjoy the DIY adventure. If for professonal use, you may want to look at a support contract. Most businesses won't even consider something unless the support contract is available; they'll probably not buy it with out third party support in place. Like anything, if you choose to go it alone when support is available then you've made that choice. Oracle could do more though too. I believe they only support the database on RHEL officially; anything else is an abomination. We'll see how support for Solaris goes now that they own it though too. In terms of *nix, the third party specialty hardware and specialty software vendors remain the biggest hurdle for users.

Neon Samurai
Neon Samurai

True, I wouldn't put Debian in front of a new user and wish them the best of luck. It was mentioned as an example of one distribution that has a full install from removable media rather if one's problem is slow or missing internet connectivity. After years of working with Mandriva, I did find Debian's configuration much more rational by cli though. The better containment of config files under /etc and formats within the config files; I love apache's separate config per vhost under Debian. Mandriva is fantastic for new users though. The draketools alone are reason to give the distro a try.

rcugini
rcugini

Debian is best used only by experts who have already had a lot of UNIX or Linux experience and computer programmers. This article is about a user who is switching off of Windows to Linux, another words not quite up to Debian's level. I have used Mandriva in the past. In fact Mandrake was the first linux distro I ever installed !! Mandriva is very user friendly and can be purchased, not just downloaded for free. If you buy it, you get a lot of the "missing pieces" of Linux already installed.

tbmay
tbmay

As long as you stay with the official repos and yum, you'll never have a problem.

Neon Samurai
Neon Samurai

Installing them was just a matter of knowing what was missing and installing that package; of course, assuming all it's dependencies where in place. It could be a heck of a maze to work through but compiling from source helped since you confirmed dependencies without having to risk a broken install (fun fun.. it'd install the package even for lack of dependencies). I haven't seen an rpm based distro do a bad job since though. Mandriva's "urpmi" was my first introduction to rpm managed properly and the others seem to have done similar.

Slayer_
Slayer_

It may have even given you download links, I am not certain, but it never told you how to install them. Most of the time I just ended up dropping everything in the bin folder to make it work. Basically, unless the program was already installed from the LiveCD, These rpm distros were worthless to new users.

Neon Samurai
Neon Samurai

I started with Red Hat before Mandriva years ago. It really did take Mandrake/Mandriva's "urpmi" command to make Red Hat's "rpm" command usable. Before Mandriva, I actually downloaded src.rpm when installing an app; if I could build the binary .rpm then I knew I had all dependencies in place. Friggin pain and one I didn't think twice about after Mandriva and the urpmi wrapper.

Slayer_
Slayer_

My First time in redhat (redhat 9) just to install Opera took a crap load of dependencies to find on the internet and download, then figure out their dependencies, etc. Things have come a long way since then. Still no equivalent of GOM player for Nix though, closest you can get is VLC which is barely acceptable. Though Humorously, I can play MOV files no problem in Mint, can't play em at all in Windows, even Classic media player it struggles, and quicktime is a utter POS, can't even properly control the aspect ratio. I can play MOV files smother than Mac's (Well, tested against a lone mac book, my ancient Mint laptop hauled ass)