We are certain that many of you want to try Linux to see what it is like, but have no idea where to start or how to get into it. This article is the first installment in a four-part guide that will gradually introduce you to the Linux environment and how to adjust to it if you are a new user.
One of the hardest things to do while starting out is finding a distro that is right for you. Many users try several before settling on one of two that they really like. Once they find a distro that feels right, they are often reluctant to switch unless the distro becomes unsuitable for their needs for whatever reason.
In most instances, choosing a distro ultimately comes down to several factors:
- Your skill level
- The purpose of the system
- Package management
Your skill level
Arguably, the most important factor in choosing a distro is your general level of experience with Linux. Not all distros cater to the same intended user audience. Some (like Ubuntu) are designed to be more accessible to novice users while other distros have a greater learning curve. Distros like Gentoo or Slackware are not necessarily meant to be “harder” than Ubuntu; they simply work out that way because they are less automated and often sacrifice ease of use for the greatest possible user control or system transparency. Many advanced users know what they are doing and prefer doing things their way.
Distros that emphasize ease of use tend to get in the way of such people and impact their productivity. However, not every advanced user feels this way, since there are plenty who prefer to focus on actual work rather than worry about every nuance of their operating system. A user who prefers a less user-friendly distro is not necessarily a “better” or “more skilled” Linux user than someone who uses something more beginner-friendly even if they have a lot of experience. In the end, it comes down to individual preference and choice, and Linux is able to give people from both extremes (and everyone else in between) what they want.
In your situation, you should focus on where you are in your Linux experience and choose accordingly. If you have never used Linux before and choose something like Gentoo, you are probably going to be confused and frustrated very soon after starting. If you are coming from a Windows background, you will probably need an environment that is familiar to what you are used to and has a well-rounded software library that will help you gradually adapt to your new computing environment.
For such an individual, we would recommend something like Ubuntu (due to its large software library, ease of use, and large community of people who can offer assistance) or Mandriva (due to its tools that help Windows users migrate).
Mandriva's desktop
However, if you are a well-established Linux user and are feeling adventurous, you should feel free to try something more expert-oriented because it will teach you more about how your computer works behind the scenes and will make you more versatile. Alternatively, you may feel satisfied with what you have because it fits you perfectly and you wish to stay put. There is nothing wrong with that, either.
The purpose of the system
In addition to skill level, Linux distributions are also differentiated by purpose. Some (like Mandriva, OpenSUSE, and Ubuntu) are pre-configured to be desktop distributions (although some of these have a server-oriented variant) while others (like CentOS) are server deployments. A few distros (like Debian) may even be considered neutral and are suitable for either purpose depending on how the user configures them.
Debian's desktop
Desktop-oriented and server-oriented distros usually are not interchangeable without a great deal of trouble. You may be able to get away with implementing server functionality on a desktop distribution. While doing this is not difficult, it is often a waste of time and effort since other distros come with such functionality out of the box. However, there are exceptions to this rule; many programmers build hybrid systems to assist in application development. (this allows projects like web applications to run locally) However, these systems are seldom used outside of a test/development environment and should never be considered for production use.
Server distros are much less flexible, since they simply lack much of the hardware support that is common in desktop distributions. Awhile back, we had extensive trouble getting anything better than 800x600 VESA (bare-bones graphics, forget about any 3d acceleration) in CentOS 5.2 during a test run. In contrast, Ubuntu supported our monitor's native resolution (1440 x 900) out of the box on the same machine and 3d acceleration was working after we installed the NVIDIA driver.
CentOS's desktop
Graphics are typically not a big issue on servers since many system administrators run their servers headless (without a monitor) anyway, but graphics support like what we encountered with CentOS would be absolutely brutal on a desktop distribution. Finally, desktop distros include many packages that server distros just don't need (like games, office suites, media players, etc.) This just adds bloat to the system without providing any benefit. Ideally, servers should run as lean as possible, since any resources needlessly used by the operating system are not available for the server's intended functions.
Server distros usually emphasize long-term stability (a result of being loaded with older software that has been more thoroughly debugged) whereas desktop-oriented distros tend to be more cutting-edge with newer packages. (but may be more unstable as a result) These two options are often mutually exclusive, so choose which one is most important to you.
OpenSUSE's desktop
Before setting up a system, you should weigh out all the possibilities of what it will be used for. If you need a server, you should choose a distribution like CentOS, Debian, or SME Server. However, if you need a desktop, choose one of the many desktop-oriented distributions. (Ubuntu, Mandriva, Fedora, OpenSUSE, etc.) If you need a hybrid system, start with a desktop distro and install the server functionality you need. (modern package management makes this easy)
Fedora's desktop