I’m a big Linux junkie, this is known. I will speak highly of it until blue in the face. The critical question, dear reader, is why should you care?
My previous post was highly philosophical — fond memories of childhood, seasoned lightly with a dose of paranoia and distrust of the modern panopticon. A unique flavor profile!
This will be a brief primer, intended to list a few important points.
In the 1970s, UNIX was developed at Bell Labs. It was intended as a robust multi-process operating system for mainframe hardware. Its creators wrote many things about it, but I believe these are the highlights:
- Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new features.
- Expect the output of every program to become the input to another, as yet unknown, program. Don’t clutter output with extraneous information. Avoid stringently columnar or binary input formats. Don’t insist on interactive input.
- Write programs to work together.
- Write programs to handle text streams, because that is a universal interface.
In the many years after UNIX was released, several UNIX-like or UNIX-compatible operating systems were developed.
In the early 1990s, a Finnish student at the University of Helsinki (Linus Torvalds) created and published a completely open-source UNIX clone called Linux (named after himself).
It gained increasing traction throughout the 1990s, and was soon packaged with compatible software developed by the GNU Project.
In its purest sense, the combination of GNU software and the Linux kernel was known as “GNU/Linux” but most people simply refer to it as “Linux”. The two are symbiotic.
I will refer to it simply as Linux, because I am a pragmatist. If anyone has an issue with this, feel free to flame me on Twitter. I am ready!
Since Linux is published under an open source license, there is no central control or restrictions on publishing. The source code is controlled by the associated project team, but how that source code is arranged and packaged is left to the community. Linux is often presented in the form of a “distribution”, which is simply a pre-arranged group of software packages that share a common theme or configuration manager. There are thousands of Linux distributions, which you can peruse at your leisure on Distrowatch.
Here are some well-known Linux distributions:
These distributions all offer the same or similar software. Often, the major difference between distributions is simply configuration management or packaging format.
Some folks have strong preferences about distribution, but I do not. I have tried all of them and have my favorites, I feel it is valuable to have exposure to many.
I will base this Linux learning series on Ubuntu. In terms of ease-of-use and install base, it is hard to identify a more suitable choice. It is an extremely well-supported distribution with robust user forums. It is based on Debian, which is the Linux distribution I’ve used the most and thus am very familiar.
Every two years, Ubuntu releases a long-term support version, abbreviated LTS. These LTS versions are supported by their developers for a minimum five years. Thus, you can trust that installing a Ubuntu LTS will result in predictable support and regular security updates. At the time of writing, the current LTS release is Ubuntu 20.04.
If you have a strong preference against Ubuntu for some reason, you likely know enough to adapt my lessons to your distribution of choice.
Good luck and have fun!