CSIA 430 – Linux Administration: Background on Linux Distributions

One of the problems that I have as an instructor is that the class time is limited; there’s so much to learn and only 44 hours scheduled for the entire class. And even though there are two UNIX/Linux classes, this isn’t nearly enough time to teach you everything I think you need to know to be a Linux Administrator. After this class you’ll definitely be in a good position to be a junior administrator, where you’re working with someone who you can go to for help, but I don’t think you’ll be ready to be the sole individual responsible for the administration and security of a single Linux system much less an entire network. Or maybe I should say I know I wouldn’t be comfortable stepping into being the only Linux admin for a company with what I learned in this class at CBC. Please don’t misinterpret what I’m saying, you’re going to learn a lot of great things about Linux and get some great hands-on experience. But because of time constraints you’re going to learn a little bit about as many subjects as we can fit into the class. You’ll get a good base of knowledge which should be enough to allow you to do entry level administration. But this class is not going to make you an expert.

And as I’m sure you know, if, or maybe I should say when you do get a job, you’ll learn so much more from your job than we have time for in class. In even the first few months at work, your knowledge and experience will grow exponentially as you encounter new problems that will require you to either go deeper into what you learned at CBC, or add to the things you already know how to do.

That was kind of a long way for me to introduce this page, which contains background information on things we’re going to go through pretty quickly in class. These are things that I think it would be of value for you to learn or even master, but which we’re not going to spend much time on at all. In the next phase of the class you will learn how to create a Virtual Machine in Oracle Virtual Box, and how to install Centos which is one Linux distribution. These are without a doubt extremely valuable skills; but because of the time constraints what you won’t get is a deep dive into all of the configuration settings for virtual machines in Oracle Virtual Box, and you won’t learn how to use other virtualization platforms like Hyper-V or VMware, and you won’t learn specifics about Ubuntu or Arch or any of the dozens of other Linux distributions.

So … this page and the next few pages provide a little background on things you’re learning about in this class, along with links to references for things like configuring Virtual Box or Centos. If you’re taking my Linux Administration class you don’t need to read any of the material on this page, it’s totally optional. But if you think you may actually want to work as a Linux Admin, or want learn more, or need to look something up this page may be of help.

The page is broken up into these main sections:


Linux Distributions

One of the things you need to learn on your path to becoming a Linux administrator is about the different Linux distributions. It’s not critical that you know every detail about every distribution, but you should have a good idea about what a distribution is, the general differences and relationships between the various distributions, and features that you would personally look for in a distribution

And if the things you read about here seem foreign don’t worry too much. They’re apt to seem strange and new until you’ve worked with Linux for a period of time. It’s kind of like when you first start to drive and someone asks you what kind of car you like better, and if you like 6 cylinder engines, or hybrid cars, or dual overhead cams. You may have no idea what these features are, you’re so new to driving that you just assume that all cars are pretty much the same and have steering wheels, turn signals and headlights, and in general all cars look similar to the driver. But as you gain more experience and drive a variety of vehicles you start to see that you prefer some dashboard layouts over others. As you gain even more experience you can start to look beyond the car interior, and start to appreciate the drivetrain or the body style. You can start to see that in some situations a sports car may be better than a pickup, while in other situations a van may be better than a small economy car.

But at this point in time you may still be like the brand new driver. That is you don’t get to choose what car you drive. Instead your parents offer you the keys to the family car and if you want to drive that’s what you’re driving. It may not be the brand new Tesla or Lambo you’ve been dreaming of. It may be a 25 year old pickup with no radio and one window that’s stuck halfway open. But it’s your only choice if you want to drive. And this is where we’re at with Linux. I’m giving you the keys to the family Linux server. It’s a VM running Centos, which is actually a decent ride. But even if it’s not what you’ve been dreaming of, it’s something to start with. Just keep in mind that as you gain experience and try some different distributions, or try running Linux in different situations like on a Raspberry Pi or a phone, or start to use different desktop environments you’ll probably find something you like better.

The main point of all this is that I don’t want you to feel discouraged if the discussion about distributions seems completely foreign to you. It was that way for all of us, but by the end of this class it should make a lot more sense.

What is a distribution?

Here are several sites that should help you understand what a Linux distribution is. I haven’t found any one site or article that provides a good, complete explanation; but if you read enough of these you should start to get the idea.

Main Linux Forks

While there are just a few main “forks” of Linux, each fork has several distributions. Or to put this another way, each distribution is based on one of the main forks. Maybe an analogy would help … think of cars. There are hundreds of models of cars, but only a few auto manufacturers. That is, Ford owns Ford, Lincoln, Mercury etc. and makes F100 pickups, Focus cars, Mustangs, Fiesta cars, Explorers, Escape vans, etc. Toyota owns Toyota, Lexus, and Scion; and also makes dozens of different models of cars, vans, pickups. In the analogy Ford and Toyota would be the main forks, and each fork would have several vehicle models which be analogous to the various distributions.

The WikiPedia page about the main Linux forks – This lists the main forks and
the main distributions based on each fork. You can also view the images to get a graphic view of the family trees.

Selecting A Distribution

This is pretty difficult when you’re new to Linux, but will get easier as you gain experience. You won’t need to do this for the start of this class as I’ve already decided for you and unless you’re already an experienced user you should stick with the Linux distribution selected for the class. But if you’re curious about the selection process, or want to try a different distro, here are a few resources that are meant to provide guidance in the decision making process.

Creating Your Own Custom Linux

As you advance in your career you should be able to find a Linux distribution that meets your requirements for most situations. You may need to tweak things a little, but you should be able to find something that comes very close to meeting your needs to start with. However, there are situations that may require building your own custom distribution. These are advanced scenarios, like if you need an OS to control custom hardware like irrigation sensors and controllers, or a network of nano-robots, or injectable RFID/NFC tags that can be used to track conspiracy theorists. In these situations it’s possible to build a completely custom version of Linux, something that handles your custom hardware needs, without any unnecessary or extraneous code. This is something that takes a good amount of experience with Linux, programming, and hardware, so it isn’t something we’ll do in this class. But it is possible …

If you want to more about creating your own distribution, here are a few links to get you started: