Linux: A quick overview

A brief description of experiences, distros and histories behind the Linux we love today

Posted by Joseph Keane on January 24, 2020

When I originally heard about Linux, it seemed almost like an Operating System for people who couldn’t afford Windows. Of course given how cheap Windows can be if you look for it, that isn’t actually true at all? So why would anyone want to use Linux?

So far I have used, to some extent, 4 different Linux distributions on various computers, and have found it comparable to Windows. The downside is the extra time in getting it setup - it tends to be more complex to get to a perfect state. In addition, Linux either doesn’t support or has more complex installation for most applications compared to Windows. But despite this, it does actually have some benefits.

While your everyday experience isn’t particularly enhanced, it shines in three main aspects:

  • Flexibility
  • Speed
  • Efficiency

This may not be important to most users, but speed can be an important factor to low-mid end computers. Windows 10 is actually quite performance heavy and was designed for particularly powerful machines. If you’re at home, you may find Windows starts to have a noticable performance hit with a number of applications open, while Linux tends to handle much better, opening applications quickly and staying extremely responsive.

When it comes to flexibility, this is purely personal preference, but you can get all the software and make choices of what you actually want. Rather than being tied down to Windows defaults, Linux has multiple options for practically every software, including the desktop environment. In addition, use of startup scripts such as .bashrc and creating your own scripts allows automation of lots of tasks that aren’t so simple in Windows. However, this level of choice also comes with some complexity moving away from the defaults, so users really have to learn it properly.

Finally, efficiency really shines in programming - by jumping around the system using the commandline, you can avoid lots of unneccesary GUI’s that Windows typically require you to use. Once you’ve got a handle on it, the system becomes easy to control, and with solutions to OS problems other than ‘Reinstall Windows’.

So far, my experiences of Linux have led me to multiple distros:

Manjaro

My first distro - the idea behind it being Arch, but with nice setup done for you. This worked well for me as the package manager was the AUR, which is particularly thorough in its collection. This made it nice to work with and actually works really well as a starting OS. However for a beginner, it has a good amount less support compared to Ubuntu which is usually considered the most widely used and best distro to start with. As you can choose desktop environments, I initially chose XFCE, but soon decided to change to KDE. In general KDE and Gnome (or Unity) are the most common desktops and for good reason. KDE is very similar to Windows while Gnome is similar to Mac. Overall it’s a matter of preference, but both are kept up to date and look amazing.

Having used it, I recommend it for software developers who know the basics of linux, but don’t want the hassle of installing Arch.

Ubuntu

After the first time, I was sure to get the best supported distro, but while it mostly worked, I found the GUI for the software centre tended not to work often and be quite weak. On the other hand the commandline worked perfectly and even guesses what packages commands you’re trying to use come from. However, I also didn’t particularly like the GUI. Recently I updated this to KDE however, and while taking a bit of setup, it works very nicely now.

For this one, I’d suggest it to anyone looking for a personal computer distro - it works well and is well supported.

Slackware

After starting work as an IT assistant in October, I’ve gotten a lot of exposure to Linux. Included in this is working on a Slackware install. Slackware uses the modules approach rather than Systemd. Modules are like small scripts that are run to start and manage a specific component of the OS, while Systemd is a massive program that acts as a black box. In addition, Slackware works exclusively with commandline for the most part, and you won’t even see a GUI until you’ve installed the OS, managed to get it to boot and updated drivers (or kernal if neccesary). This is quite some work, but is interesting to work on, and gives insight into a lot of the system. Practically all installs are from source, which can be some work depending on complexity.

Slackware is only really recommened for learning or extreme customisation - it’s as basic you can get before Linux From Scratch. Still, using only a commandline can be very refreshing for experienced users.

CentOS

I’ve spent more time using this as a user than an admin, but recently got it installed. It’s Red Hat based so .rpm files can be used as well as the commandline for package management. However, it works somewhat strangely. The package management works by accessing official package repos, and importing other verified repos. The consequence is that the number of packages that can be installed is strictly limited, and any packages not inside on of the repos must have a repo with it imported, or a .rpm file to install it. This is mostly awkward for dependancy management. However, the purpose of all of this is intense security. Installing packages is more awkward but this ensures a much lower chance of malware, only installing from trusted sources.

CentOS isn’t really meant as a home OS, but rather a stable OS that functions well within a restricted bound.


When it comes down to it, Linux has a lot of focus on choice, and lots of people have chosen to improve various systems themselves making a new distro, or desktop environment etc.

This also goes down to the software. Linux software is split into lots of small programs, making it quite easy to substitute one if you don’t like it. Most of the core commandline software is part of GNU, but it would still be possible, though perhaps difficult, to use substitutes for the programs included. This is why Linux is often referred to as GNU/Linux - the use of programs such as bash, grep, GRUB, gcc and nano are all part of GNU, which itself stands for GNU Not UNIX. This reflects its existance as a way to use UNIX, but open source.

This comes back to what UNIX actually was - an Operating System in the 70s that revolutionised the use of computers via its command prompt. It didn’t take long to become popular, but was ultimately closed source. Thus a lot of later Operating Systems adopted the philosophy - the most well known being FreeBSD (Mac OSX) and Linux.

Using Operating Systems other than just Windows was quite insightful, and it’s interesting to see where they differ. Especially with Bash being such a cruical part of Linux while Windows is GUI heavy. Windows is useful for apps that only support it, but it’s always nice to have Linux and its abilities to fix issues and run on a lower level.



Joseph Keane

Black-Photon