I'm trying to learn to be a Unix/Linux Sysadmin, and am hoping to get some hands-on experience by setting up a few installs (VMs, old comps, and the like) at home and practicing administering them. I was wondering, in the experience of those on this site, which distros are critical to be comfortable with. Obviously, to a certain extent, they're all similar, but there are substantial enough differences between administering, say, Debian, OpenSolaris, FreeBSD, and CentOS.

So, which distros are most important to practice with in your opinion? Which have had most demand/come up most often in actual work situations?


Debian, FreeBSD and CentOS.

They all have a pretty unique approach to how the system is laid out and particularly the way services are managed. If you can get your head around each and understand how to add to and modify the systems (in a way that not only works, but is congruent to the rest of the system) you will be able to work on anything.

Depending on the environment that you're looking to work in, you may find that Solaris is a useful skill to have on your CV too.


Redhat and distros based off of it seem to have the most penetration. Seems that every appliance I work with nowadays is using Centos. So if you really want to familiarize yourself with the most common distro, get Redhat or Centos (essentially the same thing).

Once you figure out how to be comfortable in that environment, familiarize yourself with a Debian based system. I'd recommend Ubuntu as it has a release cycle and maintenance periods that work well with corporations.

  • This. Debian tends to hide a lot of things away behind shiny shell scripts which are great to work with but CentOS makes you know about yourself. Dec 24 '10 at 0:04

What's critical is what's needed at your next job. However, there are some trends in the marketplace that'll help guide you.

There are two flavors of Linux package management. For maximum compatibility with the market place you need to know both flavors:


Pick Ubuntu or Debian, whichever you like better


RedHat-something is what's dominant. If you have time, learning OpenSUSE/SLES will earn you extra credit.

If you really need to go beyond that, IMHO the BSD's and Solaris are about equal in penetration. But that's just my opinion.


IMO Debian, FreeBSD and CentOS at least for most web/mail servers I worked with.


Do a Dice.com search in the major metropolitan areas for "Linux Administrator" and you'll have your answer. IMHO.

...If you want me to make it easier on you, then here you go: RedHat or its derivatives (CentOS, which is basically RedHat but without the RedHat brand, and Fedora, which you might think of as the bleeding edge of RedHat). There are definitely other distros out there, so if you learn CentOS and a really hot SuSE position opens up you could get passed over. But if you want to play the odds, I'd say go CentOS.

Here's what I would do, were I you:

  1. Choose a Linux flavor, and install it on your main "desktop" machine. Doesn't matter which flavor, pick one, any one (Ubuntu, Fedora, what have you). It may be good to not use RHEL/CentOS/Fedora on your desktop, so you can see the differences. Now connect that machine to your Internet-facing router (maybe wirelessly? Your choice.). Make sure you have 2 network ports on it (again, the Internet-facing one could be wireless). The second network port should be wired, for less hassle.
  2. Download a CentOS or Fedora DVD image; save it as an ISO file.
  3. Connect an Ethernet crossover cable to your second Internet port. Set up that port. Ensure that your Linux will port forward. Connect a machine to that second port and make sure it works (this test machine could be Windows, doesn't matter). Make sure it can browse the Internet.
  4. Set up your desktop machine to act as a server to PXE boot one of your older machines over that second port.
  5. Snoop the network as your machine PXE boots (using tcpdump and Wireshark). Describe each and every step that PXE performs.

Achieve that, and you're well on your way to becoming a decent Linux Sysadmin. Also,

  1. Don't forget your programming skills. Learn Perl, Python, or Ruby.
  • I mean, to be sure, I've used Linux before, going on 2 years now. I'm just trying to segue from being a desktop user that isn't fearful of the command line to someone who can administer a system. Thanks for the advice!
    – Gnats
    Dec 24 '10 at 4:10

You might also want to look at Solaris 11 Express from Oracle. It's free for personal development and non-production use, and is a good place to gain experience with a real Solaris OS. To my knowledge it's the only one of the UNIX solutions that you are likely to find in a corporate environment (e.g. AIX, HP-UX, etc) that has a free version that you can play with.

It also runs well within VirtualBox, if you don't want to dedicate a machine to it, which is also true for the other UNIX and Linux distributions.

You also might want to make sure you focus on more than just installation and turning things on and off. Try to build some custom packages on the platforms you choose to experiment with, and other types of tasks that typically don't make sense for a home setup due to the extra headache involved, but are run of the mill in a large environment.

As far as Linux based distributions go, RedHat is extremely prevalent in corporate environments. So other distributions may be personally preferred, having RedHat experience is likely to be more helpful in a "gaining a job" capacity, until you've worked with enough different distributions that you can quickly ramp up on any of them.


Whichever *nix you go with, I recommend trying to get away from the GUI and doing as much as you can at the command line. Servers are frequently headless and/or GUI-less, so it's useful to know how to modify configurations, run diags or otherwise troubleshoot your install without having a GUI to rely on.


I see your question as actually being a two-parter. The first question would be which distros are most commonly used and the answer to that would definitely bee Ubuntu/Debian, RedHat (and its derivatives) and FreeBSD. The other answers here cover the reasons for that quite well.

Now, the second part of your question seems to be "Which distro is best for an aspiring SysAdmin to practice with?" In that case, the answer is Slackware and FreeBSD.

The idea is that you have to learn why things are the way they are and how to figure out what's wrong with your install. How do you find the right logfiles? How are those logfiles rotated? What tools do you install for those? What is installing software actually like?

Learning from RedHat and Ubuntu is great, but they include a lot of tools as a shortcut for people that already have done some of these things a million times. If your goal is to become an admin, you'll need to do some of those things a million times and understand why you want to have shortcuts and automation. It also helps you figure out a system that's new and/or different to what you deal with every day. What happens if you have to admin an HP/UX or Solaris machine?

And I totally second sysadmin1138's idea that you learn the DEB/RPM packaging systems.

Not the answer you're looking for? Browse other questions tagged or ask your own question.