LilMatrixMisfit: Getting Started With Linux - feralcoder/shared GitHub Wiki

Up-Links

Top Level Public Wiki: feralcoder shared feralcoder IT

LilMatrixMisfit

Tutorials and intros, and other data useful to a certain type... LilMatrixMisfit: Start Coding LilMatrixMisfit: Hardware Testing LilMatrixMisfit: MSI Z170A Gaming Rig Servers: SkyLake KabyLake

What is Linux For?

Linux is a hacker's OS through and through. Built by geeks for themselves, who grew up steeped in UNIX. Unencumbered by corporate ownership, to allow expanding collaboration, by design. Initially built for the first x86 processor, the 386, to serve DIY-types, it's found its way onto all significant compute architectures.

What is Linux?

Linux is the union of the Linux kernel, given to us by Linus Torvalds and an expanding team of kernel developers, and other free code projects, most notably starting with Richard Stallman's GNU project. Years before Linux, GNU aimed to be a free UNIX-ish OS for the world. The arrival of the Linux kernel was right on time to complement and 'finish' GNU, bringing it into garages and classrooms everywhere. All the early players were an idealistic and not always cohesive community, self-aware of code-freedom and hackers' rights. Many of the free code organizations blooming in the expansion of this ecosystem are legally and even politically active to make a better world for hackery, and just generally. These "newcomers", now in their second decades or more, include the Apache Software Foundation, the Free Software Foundation (who now supports ongoing GNU work), ...

INTEGRATE THIS: https://opensource.google/community/affiliations/ https://opensource.com/resources/organizations https://github.com/collections/open-source-organizations https://en.wikipedia.org/wiki/List_of_free_and_open-source_software_organizations https://opensource.org/membership https://www.linuxfoundation.org/en/resources/open-source-guides/participating-in-open-source-communities/ https://livablesoftware.com/study-open-source-foundations/ https://summerofcode.withgoogle.com/archive/2020/organizations/ https://www.fastly.com/open-source https://thenewstack.io/survey-open-source-programs-are-a-best-practice-among-large-companies/ https://www.immagic.com/eLibrary/ARCHIVES/GENERAL/OPTAR_US/O051219W.pdf

Blurring the Lines

The 'freedom' in free software was never a given, was often hard-earned, and is itself still a subject of legal and philosophical debate among code freedom evangelists.

Linux was born from the products of industy, education, and government initiatives, where "code freedom" was sometimes an accidental treasure. UNIX was developed by AT&T's Bell Labs, with initial collaboration with General Electric and MIT. It then spread like wildfire across academia and industry, due to an interesting coincidence of anti-trust legality and forced code-sharing-by-regulation (IEEE-SPECTRUM: birth-of-unix). Later, in the 90's, the University of California brought a major expansion and revitalization of the ecosystem with BSD (Berkely Software Distribution). Also in the 90's began decades of legal battles for ownership in the Unix industry, between a multitude of players in several major lawsuits.

TCP/IP is the networking core of UNIX and one of the information age's biggest building blocks. It came from the US Governments's DARPA collaboration with states and universities, in terms of both research and physical network investment, and is the birth of DARPANET, what became the Internet. One of TCP/IP's principal engineers, Vint Cerf has acknowledged that we're saddled with some shortcomings built into these protocols, partly because they "escaped captivity" - the Internet was its own test bed even while exploding in usage. So even though some shortcomings were foreseen in the foundational protocols, already being in widespread use it was too late to correct them. For example, our 20-year migration from 32-bit IPv4 addresses to 128-bit IPv6 addresses is long overdue and still painfully slow. Early escapes are a recurring theme in free software and Linux.

Today, many of the idealistic projects have become commercial and even corporate. RedHat started as true open source company, making their binaries freely available to all, but tightened the reins as commercial adoption increased. They are now a crushing juggernaut of industry, frequently compared to Oracle, with a highly restrictive subscription-based usage model. CentOS was a volunteer project formed to redistribute a free RedHat clone from source code, a practice which RedHat could not disallow, because RedHat was bound by the free software licenses of the code they used to build their own distribution. In recent years CentOS was soft-acquired ("sponsored") by RedHat, and in recent months has announced a full repurposing toward RedHat and away from its users. With CentOS regearing to better serve a single corporate overlord, new free initiatives have already sprung up to replace it, like Alma Linux and Rocky Linux. This is also a common theme in Linux: free collaborations are repeatedly subsumed by industry players and closed to the world, only to be replaced in ground-up fashion by groups and individuals working for themselves and each other.

Linux Flavors For Industry and Science

Today there are several major distributions of Linux, supported by different communities with different philosophy and engineering agendas. In the spirit of Open Source, their offerings are consumed and built into "downstream" distributions, which will share some fundamental tech and philosophy, and may or may not have major differences from their upstreams. The 2 largest families of distributions in industry and academia are Fedora and Debian.

Downstream from these are various projects offering distributions for different types of use-cases. Downstream from Debian is Ubuntu, targeted toward a friendly desktop experience and fast incorporation of UI, desktop media, and user experience features. Downstream from Fedora is RedHat, a commercial offering targeted toward stability, reliability, guarantees, as well as industrial infrastructure. Downstream from RedHat is CentOS, a bit-for-bit clone targeted toward RedHat developers and operators, to give a free R&D base for RedHat shops, or just for users who want the stability of an enterprise OS.

Debian and Fedora are similar to each other in that they are both the top-level integrators of new code into their own distribution families. Most new features and bug fixes into any downstream distribution start as code contribution to the most upstream project. Debian and Fedora differ greatly in the fundamental Linux components, including code packaging and installation systems (apt-get vs yum, respectively), windowing environments, etc. But these differences may converge over time; For example, after years of running somewhat divergent sysvinit initialization systems, the upstreams began including Upstart as an option, and Ubuntu began distributing with Upstart as the default init system. In this period system configuration diverged increasingly between distributions. Then in just a few years Fedora then Debian adopted Systemd initialization as default with all downstreams following suit. Service startup is now more consistent across the Fedora and Debian families than it has ever been. For better and worse.

Differences between upstream-downstream distributions in the same family can be just as large as between families. For example, Fedora incorporates code projects far and wide, which are gratuitously hacked away by the RedHat distribution team, who is not interested in any wiz-bang that doesn't help companies deliver their IT services. And downstreams don't always add reliability to a distribution - for example, Ubuntu is famous for utilizing eye-candy and GUI-gadgets from Debian in ways that threaten stability and keep their users coming back for internet fixes with every update. And sometimes the only difference between an upstream-downstream is political and legal: for example, CentOS is the RedHat Enterprise Linux which you don't have to pay for, and it's blue instead of red.

Getting Started

Staying In Family

There is value to keeping it all in the family. You'll encounter the same problems here and there. Scripts you build to do something on one system can be repurposed onto other systems, sometimes even across release versions within a distribution, or between distributions within a family. You might be able to find a Fedora package to install something not available in CentOS. And you might be able to replace a buggy Ubuntu package with a more stable Debian one.

There is also value in diversifying. Ubuntu's great for a laptop that you'll carry around. CentOS is great for a system that you're building to support your IT infrastructure that might be in place for many years. If you need all those use cases in one system, you might go with Debian or Fedora.

Recommendations

CentOS can be confining and slow with updates, but Fedora is expansive and responsive to users' needs. Using these together can be a good way to go.

If you really must use Ubuntu in places for the user experience, then maybe your more serious work should be on Debian.

Usage Notes

Unfortunately, there are a few gotchas and caveats needing documentation...

CentOS 8.3

The most notable issue with CentOS 8.3 is that since release, the download mirrors for updates has shut down, and this breaks the installation. Go here for a fix when you can't install from the USB stick. I've found the mirror "mirror.liquidtelecom.com/centos/8/BaseOS/x86_64/os/" works well. This is the result of engineering politics, noted next:

CentOS is moving from downstream to upstream of RedHat for internal technical needs, and is becoming a defacto R&D arm of RedHat engineering. The end is nigh, and the fallout is already being felt. Their support window for releasing updates has been moved from 2029 to 2021! This isn't apocalypse for CentOS users, as two new projects, Alma Linux and Rocky Linux, are spinning up to become the next RedHat Enterprise Linux clones. Stay tuned.

CentOS 8.2

CentOS 8.2 is not the way to go - it's so old that it does a minimal installation from USB, and then you have to install everything you need after you're up and running. This may leave you with some lurches in configuration and I'm not confident in the outcome.

Ubuntu 20.04

I don't have any experience running this one. I'll have to learn its quirks before I can help work through them.