Which Distribution of Linux Should I Use?
Tags: linux, beginners, opensource
Published: 2019-09-21 19:05:57

---
title: Which Distribution of Linux Should I Use?
published: true
description: There are thousands of distributions of Linux out there, and choosing the right one can be tough. This guide can help.
cover_image: https://thepracticaldev.s3.amazonaws.com/i/36ginuawg0d6am4ltn0b.jpg
tags: linux, beginners, opensource
---

***So... which version of Linux should I install on my brand new machine? 
[Click here to vote!](http://bit.ly/WhichOSDoIChoose)***


I'm often asked this question: "Hey, you're a Linux dude right? What Linux should I use? I have this friend who recommends (insert distro here) and I want to know what you think?" I usually reply with the same question: **what do you want to do?** So I decided to write this as a guide to what type of Linux you should choose.

## My History with Linux

I should probably preface this article with a little bit of my history with Linux, in case you're reading this and you don't know me (very likely). You can skip this if you don't care. 

![Slackware Linux](https://thepracticaldev.s3.amazonaws.com/i/ka61zaxenocyd4i1qp4l.jpg)

I started out using Linux around 1996. My first Linux was Slackware 4, a set of CDs I purchased at Egghead Software (yep, I'm old). A friend of mine told me about this Unix like thing that was so great and I just had to try it and he thought I would love it. 

I read a lot about Unix and was very curious about it. I had a shell account at my internet provider and I'd tinkered around, yet at first, I was a bit hesitant. "Why would I need this?" His reply was simply: "Because you hate Windows 95 so much and love DOS, you'll love this". So I bought it. He was right.

I took an old hard drive I had and installed it. I fought with it for hours, then days. I finally got a desktop up and running. I have no idea what drove me in this time, but I had to figure out how to make this system work, and it was difficult. 

I had to know so much about my hardware! Simple things were suddenly hard again. But I pushed through, and I got my desktop up. And I started building some silly scripts for fun. The system was fast, and I could change nearly everything about it. 

It had a built-in C compiler? I just bought some really expensive Borland package for this I could barely figure out. But this OS had a compiler built-in? A free Image editor? I was hooked! 

![Old picture of people using Unix](https://thepracticaldev.s3.amazonaws.com/i/xec19wlrk0jk0cbuyyt1.jpg)

For years after that, I experimented with tons of Distributions. Even BSD Unix ones. My "main computer" was always a dual boot, and some of them were pure Linux. Most of the early 2000s, I avoided Windows completely. So by year, I can break it down to my "main machine", it would be:

* 1996-1999: Slackware
* 1999-2002: Redhat (and FreeBSD)
* 2003-2005: FreeBSD / Knoppix
* 2005-2009: Gentoo
* 2009-2011: Linux Mint
* 2011-2018: Arch Linux / Debian  

I've used 50 or more distributions in my time, but this was what was running on my "main machine" I used for work, or browsing, or development or whatever. Obviously Arch had the longest run so far, mainly because I could just configure it and forget about it for long periods of time. 

But the main distro for my "real work" the last few years has been [Arch Linux](http://bit.ly/2lZs4sb). 

Enough about me, let's talk about what you should use. 

## So What Do You Want to Do? 

I'm going to put these in categories based on common needs. There is some overlap here, and with enough effort, any of these Linux distributions will work for your desired needs. One of the great things about Linux is you can make it whatever you want. But some distributions do a lot of that work for you or have a design that works better towards certain goals. I'll present these in categories based on the easiest path to reach your goals. 

<hr />
## I'm a Linux Newbie Just Getting Started

![Linux Mint](https://thepracticaldev.s3.amazonaws.com/i/a2maq0q3gy34yjy668m1.jpg)

For a long time, I recommended Ubuntu for this. As far as ease of use and compatibility it was great. But I avoid Ubuntu now. I still use it for demos in my courses and articles because so many people use it, but I am not a fan of the way they run this distribution, the built-in Amazon adware, and Unity is annoying. 

**So if you're just starting out I recommend:**

* **[Linux Mint Download](http://bit.ly/2kVRvdT)**
* **[Debian Download](http://bit.ly/2koYU54)**

It's kind of a cheat because Linux Mint is built off Debian, but Mint looks prettier and has some nice cross-platform stuff. 

**Use these distributions if you want:**

* A Windows-like experience
* Something simple to install
* Something reliable
* Something "Linux like" that doesn't deviate from the norm
* Something that "just works"

Ok so that last one is really important. It just works. These distributions are mostly plug and play. Set them up, and forget about it. I have become increasingly reliant on Debian for my development machines because at times **I don't care about the OS and I don't want it to get in my way**. When I'm in a mood where I just want to build things, it can't be beat. 

If you're just starting out, this course on **[Linux Installation and Initial Configuration](http://bit.ly/PSLinuxInstallation)** may help you out a lot.  

<hr />
## I Want to Learn More About Linux and My Hardware

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/jad0iliusutl9uaw5ydv.jpg)

Maybe you're in the mood to play and experiment. You want to challenge yourself and force yourself to learn by doing. That's great, it's exactly what I did. 

**If you want to challenge yourself and learn I recommend:**

* **[Arch Linux](http://bit.ly/2lZs4sb)**
* **[Slackware Linux](http://bit.ly/2m7ZDYP)**
* **[Gentoo Linux](http://bit.ly/2kLWzSd)**
* **[FreeBSD Unix](http://bit.ly/2krditC)** ( *Not Linux, but fits into this category* )

Each of these distributions requires a lot of configuration, hardware discovery, and compiling of source code. With Gentoo, you have to compile everything. It's a great way to have absolute full control over your operating system.

**Use these distributions if you want:**

* Full control of your computer and OS
* To learn about Linux internals
* A lean and mean optimized system

This comes at a cost: mainly your time. A full install of these can take hours. On the plus side, they tend to run forever. 

I had an Arch Install on a Lenovo that took the better part of a Saturday to configure, and let's say another 10 hours or more spread out after that. It ran nearly effortlessly for 5 years (until the laptop hardware died). I only had to do a few updates once in a while, but I used it reliably every day for 5. Long. Years. So in a way you can look at it as an investment. 

<hr />
## I want Cutting Edge Stuff

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/qd1m4qoi4se2uofiv7z3.jpg)

Ok maybe you want the latest greatest software and you don't care how stable it is. You want to do some kernel hacking or some other cool thing that some coder committed yesterday. 

**To hell with stability and security you want the newest thing now.**

* **[Arch Linux](http://bit.ly/2lZs4sb)**
* **[OpenSuse Tumbleweed](http://bit.ly/2kWccX6)**
* **[Fedora Rawhide](http://bit.ly/2mtAubr)**
* **[Gentoo Linux](http://bit.ly/2kLWzSd)**

**Use these distributions if you want:**

* To trade risk for the newest stuff
* The latest and greatest features always
* Fun configuring things to work with breaking changes

To be fair I've personally used Arch and Gentoo without significant stability problems, but I was risking using the bleeding edge stuff on rolling releases. 

<hr />
## I Just Want to Get Some Work Done

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/zpzaoqj6jqd6jy3oxz7q.jpg)

Ok maybe you don't really care about the OS particulars and just want to GSD (Get Stuff Done). Maybe you have some Node or GoLang apps you want to build and heard Linux is the best for it. 

**These are great for getting work done:**

* **[Debian](http://bit.ly/2koYU54)**
* **[Fedora](http://bit.ly/2mswNTo)**
* **[OpenSUSE Leap](http://bit.ly/2ktoOVn)**
* **[Ubuntu Studio](http://bit.ly/2lZEdgK)**

**Use these distributions if you want:**

* Smooth operation with low maintenance
* Minimal configuration
* Things that just work mostly automatically
* Compatibility with hardware and software

As I said I often use Debian these days as I'm usually just making something and don't really feel like tinkering around and optimizing. It's stable, fast, and stays out of my way. I'm writing this article in Debian 9 right now. 

<hr />

## I Want to Set Up a Server
![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/7ihiniia9vnd8iae3lb0.jpg)

Maybe you want to set up a web server or virtual host and don't know what to use. The first one on this list is the dominant distribution for web hosting, so if you want something that mimics the site that's hosting your software try CentOS (or learn Docker!)

**These are solid and reliable for web hosting:**

* **[CentOS](http://bit.ly/2ktoSEB)**
* **[Red Hat Enterprise](https://red.ht/2ky3r5s)**
* **[Debian](http://bit.ly/2koYU54)**
* **[FreeBSD](http://bit.ly/2krditC)** ( *Not Linux, but fits into this category* )

**Use these distributions if you want:**

* Stability 
* Security
* Support from other people using it for the same reason

I believe any Linux distribution can be used for web hosting effectively, but some take more work than others. 

<hr />
## I Want the Most Performance Possible

![Clear Linux](https://thepracticaldev.s3.amazonaws.com/i/dno1p8gt50xqzytzdnq0.jpg)

So if you're one of those types who want to squeeze out every ounce of performance (I've been there) these are great for you. Some of these require compiling all the source code to produce binaries optimized for your processor(s). Fun stuff! 


* **[Clear Linux](http://bit.ly/ClearLinux)**
* **[Arch Linux](http://bit.ly/2lZs4sb)**
* **[Gentoo Linux](http://bit.ly/2kLWzSd)**
* **[FreeBSD](http://bit.ly/2krditC)** ( *Not Linux, but fits into this category* )

**Use these distributions if you want:**

* Fast performance
* High Load Computing

Keep in mind that hardware has reached a performance point where these don't matter quite as much as they used to. 15 years ago you could hack a kernel and dial in your services and see a big boost. These days, the difference is negligible. Any Linux will be pretty snappy. 

<hr />
## I Want a Secure Desktop

![Tails Linux](https://thepracticaldev.s3.amazonaws.com/i/dlxm93sz85pbywg78j2p.jpg)

Maybe you want to set up a system that's hard to break into, for whatever reason. There are a couple of distributions with security as a top focus. If you're really concerned about locking down your main machine, these are great ones to look at. 


* **[TAILS Linux](http://bit.ly/TailsLinuxDownload)**
* **[Alpine Linux](http://bit.ly/2m6o74G)**
* **[CoreOS](http://bit.ly/2m6fKpO)**
* **[TENS Linux](http://bit.ly/2mtFUDi)**
* **[Tin Hat Linux](http://bit.ly/2kVS73b)**
* **[OpenBSD](http://bit.ly/2kN3L0n)** ( *Not Linux, but fits into this category* )

**Use these distributions if you want:**

* Security
* Anonymity 

<hr />
## I Want a Minimal Computer System

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/jm01tki8gvfs5yky826v.jpg)

Ok, sometimes you just want something lean and mean that gets a certain job done. I definitely understand this. Maybe you have an old Pentium you want to re-purpose. Sometimes the OS is just a small part of your goal and you want the bare minimum. 


* **[ArchBang](http://bit.ly/2m1i7u8)**
* **[Lubuntu](http://bit.ly/2muhklN)**
* **[Puppy Linux](http://bit.ly/2mtBfkN)**
* **[Tiny Core Linux](http://bit.ly/2kN3RoL)**
* **[Bodhi Linux](http://bit.ly/2msxKuW)**

**Use these distributions if you want:**

* Something that will run on old hardware
* Something minimal as possible

<hr />
## Conclusion

I hate to sound like a broken record, but you could just pick out one of these Linux distributions and make it whatever you want. That's the nature of Linux, its customizable to the furthest degree. But these are great distributions for getting started fast. 

If you want to learn more about Linux, [Pluralsight has a ton of Linux Courses](http://bit.ly/PSLinuxCourses) including a really good one for starting out, [Linux Installation and Initial Configuration](http://bit.ly/PSLinuxInstallation)

If you think I've missed the mark or left out a distribution feel free to leave me a message in the comments, or **[yell at me on Twitter](http://bit.ly/JeremyCMorgan)**. 

And whatever you do, if you reached this page because you're curious about Linux, try it out!! Now! These days you can download something like [VirtualBox](http://bit.ly/2kwj90X) (free of charge) and try it out before really committing to anything. It's definitely worth your time to check it out!