IntroductionLinux is constantly growing in popularity. Anymore, its almost a requirement in IT to know at least something about Linux or BSD. Even the most Microsoft Windows centric company has at least 1 Linux box, either as a network appliance or hardware made for a specific roll. Even if your job roll has nothing to do with Linux, having a basic understanding will help you in your IT career.
This how-to is built for the first time user of Linux. Following this guide will help you make the right decisions to get you started in the right direction. Be sure to check the reference links at the bottom of this how-to article for more information.
If you have not already done so, build yourself a home lab. This lab will be the basis to help you get started. The nice part about having a home lab is you can do whatever you want and you don't have to worry about damaging anything in a production environment.
Don't get hung up on what hardware you need. Just get something! Yes it would be great to setup a full 42U rack in your garage, populate with Servers and network gear. But if you're like me, you don't have the funds for that.
A home lab can be anything from a spare desktop to laptop. Start with something cheap and basic. You can always add onto it later.
If you really want to go cheap, buy yourself a Raspberry Pi. You can pickup a Zero for as little as $5. Remember, you don't need much to learn Linux.
What if you don't have any spare hardware? Go ahead and install Virtual Box on your computer. You can always install Linux on your desktop/laptop virtually.
For more ideas on what you can do in a home lab and where to find hardware deals, check out my how-to "IT Pro Education: Build a Home Lab". Link to this how-to is listed under the References.
Choosing a Distro: Advise
First and formost don't let this stop you. Don't get hung up on picking one. If you search the community you will find all kinds of different questions such as: What Linux distro should I use for ______? Or What is the best Linux distro for _______? Forget distros. Thats right, forget about them. They don't really matter! Yes they all are different, but you are just starting out so they don't matter to you! Don't let trying to pick one stop you or hold you up.
Why should choosing a distro not matter? You learn one, you learn them all. Yes they are all a little different, but thats just it. They are a little different. Think of it this way... You know how to drive a car right? Because you know how to drive a car you can drive any make or model car. Doesn't matter who built it. They are all similar enough you can get in one and drive. Yeah it may take you a minute to figure out how to use the cruise control, but that doesn't stop you from driving. Linux is very similar. You learn one Linux distro you really learn them all, or at least you are good enough to get around and use any distro. All you need to do is learn that distro's particulars to become proficient at it.
To sum up this step, remember this:
Don't get hung up on picking. Just dig in and learn!
Choosing a Distro
Now that we got that out of the way. First know their are some core distros. From these pretty much all other distributions come from in some way shape or form. Those include Red Hat, Debian, Slackware, Gentoo, and Linux From Scratch. You may want to start with one of these.
So the question is... How do I pick what distro to start with?
Before you move on, I suggest you answer these two questions:
1. What do you want to learn?
2. How do you want to learn it?
The reason you ask yourself those questions is because knowing the answer will help you know how best to proceed in what and how you learn.
1. What do you want to learn? - I want to know the basics of Linux.
2. How do you want to learn it? - I just want to install it and poke around. I don't want to have to troubleshoot anything and I don't want to mess with the command line.
If these are your answers then you probably want to start simple and use a distro that does most everything for you. If so, I suggest you look at these:
Ubuntu or Mint
These are very end user desktop oriented distributions. They can be powerful and used as servers too (I wouldn't recommend) but they make getting into Linux very easy since they do most the work for you, and they look really nice with their fancy GUIs.
However lets say you answer those questions like this:
1. What do you want to learn? - I want to know how Linux works, I want to know every in and out about it.
2. How do you want to learn it? - I want to build everything myself so I know how it all works.
If so then I suggest you consider using one of these:
Linux from Scratch
Now that I gave you some ideas here are some popular distributions and what they are well known for:
-- Centos (Red Hat) --
I highly suggest this is where you start. Most companies use Red Hat, so using Centos is a great place to start and use since its a clone of Red Hat Enterprise Linux. If you have an interest in becoming a Linux Sysadmin this is the distro for you because of this. Also Red Hat has many certifications that you can take to help you get started professionally. Due to Red Hat's popularity in the corporate world, many compare other distros to it. Centos is a very solid OS and follows (many times creates!) most Linux standards. Has a great community behind it.
-- Gentoo --
One of my personal favorite distros. You will build your own system from scratch, including your kernel. Great way to learn the in and out of Linux, especially if you want to be a Linux Sysadmin. Has a great community behind it. Be ready to spend your time on this, however, since you are compiling everything yourself. However you may or may not want to learn from this distro since it takes Linux into almost the BSD world because of how it works. Not a bad thing, just different from Linux standards.
-- Linux from Scratch --
If you really want to dig your heels into Linux, then this is it. You literally get to download and build everything yourself. You cannot get more basic than this. You may want to punch a hole in the wall due to frustration, but after spending hours building your very first Linux distribution and successfully installing it you will feel like you just beat the biggest challenge life can throw at you. I don't recommend unless you really want to learn Linux deeply and you like learning the hardest most time consuming way possible.
-- Debian --
Very stable OS and some companies use it. Debian has been around for a very long time. Its focus is on stability so when you install it you will think you just installed an older OS (because you did). Not knocking this distro, many swear by it. Its a good one to start with, especially if you have older hardware. Note that you can install newer features if you want to. This is a good one to learn from since it follows (and creates) many Linux standards.
-- Ubuntu --
Many small businesses use Ubuntu. Not because of any technology reasons, but because Ubuntu's popularity in the desktop market. Many people really like it and it does have a good community behind it. I do NOT suggest you learn from Ubuntu. Reason I say this is because Ubuntu does its own thing very different from Linux standards that may build bad habbits in the future if you want to ever become a Linux Sysadmin. But if you want something easy to install and use, this (or Mint) may be the best one for you.
Still confused on what you should try? Download Centos and get started. Why didn't I just say that in the beginning? Well, because Linux is all about choice. Its diversification is what makes Linux so powerful, and that is something you should know and understand.
Lets get Learning Resources
If you want to pay for an online training course their are many available. Companies such as Plural Sight, Linux Academy, & CBT Nuggets just to name a few have great courses that you can leverage.
You can also start by getting a book. Here are a few titles that are my personal favorites:
Unix and Linux System Administration Handbook
I highly suggest you search the internet. Their are many great free books that you can download online.
Be sure to check the reference section of this how-to. Their are several links I added to help you get started.
Project Ideas & Learning Tips
Come up with some projects. Give yourself a task to help you learn.
- Create a File Server
- Build a web server
- Setup a Game server such as Minecraft
- Host a Photo Album
- Build a Media Server for your movies and/or music
I also suggest you replace your desktop by installing Linux. If you do this then it forces you to learn Linux and what Open Source software is available. Using it daily is a great way to learn.
Lastly don't skip over the Terminal. The terminal is the real power behind Linux. If you know how to navigate and work in the system on the command line you can do this on any Linux/BSD system. This is especially true on servers since they typically never have a GUI interface. I highly suggest you learn the command line and get used to using it. You will find its a valuable tool.
Join a Linux User Grou (LUG)
And don't forget to ask around in your local Spicecorp. You may find that some in your group have Linux experience and can help you learn.
If you get stuck be sure to ask questions here in the community. Don't forget to search the internet too. Many times you can solve your issue just by doing some searching.
Have fun learning!
Spiceworks Community Linux Group
Learn Linux the Hard Way
Free Learning Linux Course by IBM
The Linux Documentation Project
Book -- UNIX and Linux System Administration Handbook
Book -- Think Unix
Book -- Running Linux
Free Linux Training Courses
Free Linux Training
The Complete Beginners Guide to Linux
Linux Distro Timeline
IT Pro Education: Build a Home Lab