Monday, January 9, 2012

Choosing a Linux Distro - How to

In this guide, I'm going to help you picking a Linux distribution for you, that is, if you're interested in trying one and don't know where to start. First off, some knowledge is required to know what I mean, but not much. Links are included to most topics so you can learn a little bit more about the Linux world. 


The main problem these days with Linux Distributions, is that there is only too many to pick from. Every day a new distribution comes out, either brand new from scratch (which is rare), or based on any other distro (which is often). 


The main idea is where are you going to use it? Desktop? Laptop? Server? 
Stability and security are always concerns, whether is a desktop/laptop or server. But for server, I'd put these above anything else, because cutting edge is not essential on a server, but stability and security are.


- For servers (security / safety priority).


So, for servers, focus on security and stability, and for that, you have Debian, Slackware, FreeBSD / OpenBSD distributions. I'm not going into details with Linux VS Unix (hence Debian, Slackware, vs BSD systems), but incorporating the two in one (Linux/Unix), because the difference doesn't really matter. What matter is what for do you want to use your system.


These distributions are more secure / stability oriented, with usually a slow package release, releasing only packages to the update repositories once they have been heavily tested. Same goes for the BSD Systems, but with a higher learning curve (also a deeper knowledge into Unix/Linux is recommended). 
- Debian is almost a universal system (it exists virtually to all known CPU's types, Intel, AMD64, RISC, SPARC, etc...) and is a lot easier to install and maintain than BSD systems. They have a slow release package update and is a rolling distro (which means you don't have to reinstall the system whenever a new version comes out, it updates itself soon as the updated files are on the update repositories). 
- Slackware, a pretty secure distro, that requires a little bit of knowledge into what you're doing. But very secure and safe too. This was actually one of the distributions that I used for longer times. You may run into some difficulties trying to get some hardware to work, but once it does, does it nicely.
Most companies are also running either RedHat Enterprise (RHEL) and they have a pretty good support, as its safe and not hard to use / configure / maintain. 


Now, I'm not saying you can't run these distributions on your home computer, you can, but they aren't really cutting edge and probably you'll want to experience the latest Linux world has to offer.


- For desktops / laptops.


I never get enough of hearing "if Linux isn't that good, then why isn't mainstream?"
Well, because too much of something isn't good. There is no known standardization in the Linux world. You only have "the most used" or "easy" or "both". For Linux to enter mainstream, there has to be a standard, diversity is good but to enter mainstream, companies that launch laptops and desktops, had to start implementing Linux into them pre-installed, and let's face it, most used software is often available on windows, although you have Skype, lot's of IM clients, web browsers for Linux too, it's still not the same thing. 
Now, let's explore the desktop/laptop options.


Linux Mint, is a pretty good choice. You have "all-around" oriented system, with a slick clean interface, easy to use, with a very nice and friendly software center that let's you browse the software available, featured, into categories and install it with one click. Mint is based on Ubuntu, which is based on Debian. Seems like Debian is a base for almost all "cool", "most used" distributions these days. Easy to use, easy to install, no big knowledge is required, even my little girl could install a system just by reading the installation graphical installation procedure. It's also easy to maintain, comes with personalized version of Gnome (Gnome3 and MGSE) and supports the most recent hardware. I'm actually using it right now, here's a screenshot of mine:



Desktop personalizing is a key factor for most people, and with Linux you can do just that, make it look the way you want and practical as you want. And yes, Linux is practical. Unless you mess up the personalization so badly that makes the "eye candy" desktop unpractical to use. 

Ubuntu - You should at least heard of it by now. It was the most used Linux flavor for a while. At least from 2009 to 2010. Now Mint seems to be taking the lead. It's friendly, easy to use and also with a large stash (same as Mint) of software to use. It comes with Gnome Unity (gnome3), which is very different from gnome2. Mint also comes with Gnome3 but it's personalized in their way so it makes the experience a little bit different. Have a tour here to have a look into it :-)

Debian - While not cutting edge, most distributions are based on it. It has been easier and easier to install and get it working the way you want to. The graphical interface, the fact that most recent distributions are based on it it's been calling out more attention. After all, it's one of the oldest, safer, rolling release distributions out there. You can run the latest stuff on it but changing the update repositories, but you're highly advised not to, because "testing" means exactly that, "being tested", unstable means exactly the same, you can break your system, break some packages and turn it useless. So yes, there's a risk running switching the repositories in Debian, but if you are, go for "testing" and not "unstable", highly advised. Check out their site for "how to's" if you're still interested. It's stable and it works. There's nothing pre-installed that haven't been heavily tested in different enviroments, so, it just works! They also have a huge collection of software available on their repositories and easy to install via apt-get or synaptic. Check some screens here

Arch Linux - This one requires an advanced knowledge in Linux, why? Because you install it literally by hand! No, you don't have to code, but you'll have to install the core leaving you in a command line interface. From there, you start building your system. This has been the one preferred for experts and geeks. It's bloat free because you're installing what you want and need (so the performance is at least to say, quite fast) so there's no un-needed software there unless you install it. Once you get the core installed, you install the X environment (graphical server), and after it, the Desktop, which can be whatever you want, from Window Maker (an old school window manager) to KDE / Gnome and drivers. It uses pacman as package manager to get your stuff from the web into your system and does a pretty good job at it. Most people that try it and get it running, never look back, there's a reason for that. 

Fedora - Fedora is a Linux Distribution which started off based on RedHat. It uses RPM's  to manage the software, has a pretty good hardware support, pretty good work polishing the Gnome-Shell interface and it looks good. It's also cutting edge, pretty good performance, overall all-around distribution. I tried it, I liked it. A lot of people are using it and they have been doing a great work lately. Fedora had it's dark days, but it's way out of the cave now. 

OpenSuse - Another pretty good distribution, also uses RPM has package management and has something unique. Yast. Yast is a centralized tool where you can configure everything on your system from hardware to software with just a few clicks. For newbies and advanced users and they also have a corporation supporting the distribution. One problem with it, is that it seems to need some polish under the hood, if you know what I mean. I liked it too when I tried and I used it for a long time. It has also a nice and clean interface, and that YasT... well, I wish most distro's had it :D 

Gentoo - Mainly for experts and geeks. You install the system literally by hand, from the very beginning, to the end. Emerging an entire system from nothing to a fully functional desktop could take anywhere from 6 hours to a couple of days, emerging and compiling the software for the architecture chosen. This ends up in a handful of work but ends up in a highly optimized system where performance is the key. You also emerge (install) only what you want, so the main difference between Gentoo and Arch, is that arch comes with pre-compiled binaries for your architecture, Gentoo, the ports are compiled for your architecture. In terms of performance I don't know which is faster, but I do now that gentoo, well, is for geeks that know what they are doing, the learning curve is slightly acute and longer, but in the end, its worth the time. A highly optimized system specific for your own hardware. 

These are the distributions I'd pick for now, of course there's a lot more, but these are very well documented, specially arch and gentoo (because they required a more personalized installation). 

It's important to say that "Linux" itself, is just the kernel and a command line, the rest, if the X (graphic server) on top of it, and on top of X, well, the desktop manager, which you can go from Gnome, KDE, Fluxbox, Enlightenment, LXDE, XFCE, etc.. each one, more complete, others, more minimalistic, for notebooks for example, I'd stick with lxde or xfce, or even fluxbox.  

Check out a full list of desktop / window managers here. They are also important to choose because in the end, it's what you'll be looking at. Some of them are easier to configure and personalize to your own taste, but put a few hours of effort into it, let me tell you that there's nothing better than a personalized desktop to your own taste. :-)       

No comments:

Post a Comment