tech freedom

Linux 101: A Working Glossary

code projected over woman

I know this is overwhelming for many, and serves as a deterrent for those who do feel that way. I want to help you to comprehend the lingo so that you can grasp the building blocks, then feel better about embracing Linux.

First things first, what is Linux or GNU/Linux?

 

Linus Torvalds

It is the kernel (foundation) on top of which all of the various distributions are built on. It has been in continuous development since 1991. The original, and still primary developer and maintainer is a Norwegian-American computer scientist named Linus Torvalds. It is licensed as free & open software through the GPL, which is the GNU Product License. Incidentally, GNU stands for GNU is NOT Unix. The GPL governs how individuals can use, audit, or modify (fork) the source code of any piece of software under that license.

 

 

2) What is FOSS?

An acronym for Free and Open Source Software. Most of this software falls under the auspices of GPL. It means that the source code is open to be viewed, tweaked, forked, or audited by the public, and is usually provided free of charge from the developer(s). This process keeps innovation flowing and helps to make sure there are fewer bugs and security flaws/back doors built into given software, and that whatever bugs are found can possibly be dealt with more quickly.

 

3) What is a developer (often shortened to “dev”)?

A person who writes code for a program, troubleshoots it, and whether on their own or not, releases that code or program to the public in some way, whether open source or not.

 

4) What is source code?

It is the DNA that programs and apps are built from.

 

5) What is a fork?

A fork is a variation of a piece of open source software. Here is what often happens: one developer writes some code or compiles it into a program and chooses to make it open source, then another comes along and decides that he wants something done differently, or wants to add a new feature to what was already written and published, and a fork is born.

 

6) What is a bug?

A coding error that leads to an undesired result in a program or application.

 

7) What is a Distribution (distro), anyway?

A certain set of packages bundled together with some sort of user interface to form what we see and use as Linux. There are probably 1000s of them, around the world, some more like Swiss army knives, with something for everyone, where others are more like precision lasers, only beneficial for the most specific use cases. Some are better supported than others, and some only have a single developer behind them. A Swiss army knife distro would be Ubuntu or Mint or Manjaro on the Arch side of the family tree, where the precision laser would be more like Kali or Tails or QubesOS.

 

8) What is a Desktop Environment?

It is a set of programs and applications that work with your display server (x11 or Wayland, for the most part) to produce a Graphical User Interface (GUI) for you to navigate with your mouse and/or keyboard shortcuts. Some examples are Gnome, XFCE, MATE, Cinnamon. KDE Plasma, and LXDE (soon to be abandoned for LXQT). Each one has its quirks, benefits, and drawbacks. Gnome is largely a one-size-fits-all proposition, and is growing less and less customizable as time and versions go by. XFCE, MATE, and Cinnamon are all forks, or variations on an older version of Gnome that someone wanted to save and do their own thing with. KDE Plasma is modular by nature, and can be themed in just about any way imaginable. LXDE is meant to be lightweight and is themeable, as far as I know, but that is about it.

 

9) What is a Window Manager?

These are alternatives to Desktop Environments. Usually, they use fewer system resources to provide a GUI for you to interact with. Most of them are geared for developers who are more comfortable navigating through shortcuts on the keyboard rather than taking their fingers off of the keyboard to mess with a mouse. You can take the time to learn one or more, and really make your computer YOURS, and have everything EXACTLY where you want it to make your computer be as efficient as it can be for YOU. YOUR setup doesn’t need to be based on any other person’s paradigm, unless YOU choose that for yourself. Some popular examples are i3, iceWM, and Sway.

 

10) What is the Terminal?

It is the primary command line interface in Unix-based systems, other than TTY. It is a more powerful version (IMHO) of the Powershell in Windows, it allows you to update your whole system in a command or two (depending on if you have aliases, or which package manager your distribution uses), change settings if you know the commands, launch programs without browsing to an icon or shortcut on your system, reboot the system, just about anything, really.

 

11) What is TTY?

A pure command line tool that allows you to dive all of the way down to kernel level and edit whatever you please, more or less. It is Linux without a GUI. You will see it if you break your Desktop Environment, graphics drivers, or Window Manager. You can call it up at any time by pressing CTRL + ALT+ F3-F6, then return to your primary GUI by pressing CTRL + ALT+ F2, if it is functional.

 

12) What is a package manager?

A package manager is your portal to repositories where packages and programs are stored. It provides a centralized way to install and manage programs on your PC, rather than needing to browse near and far, hither and yon across the internet just to find programs you want to install. They are a better way than the disorganized way windows has most of us trained. Some common examples of package managers are APT/Synaptic, Pacman/Pamac, Zypper, YUM, and Pkcon. APT/Synaptic exists in Debian/Ubuntu. Pacman/Pamac are used by most Arch distros. Zypper is the manager from SUSE. YUM is from RHEL/ Fedora. Pkcon is the one for KDE Neon (which is a flavor of Ubuntu, but the developers chose to roll their own package manager for it, as APT can be awkward at times).

 

13) What is a repository (repo)?

A repository is a server, usually with mirrors (copies in other places) that hosts certain packages (programs and apps) for your distribution, or a program that you want to add to your computer (if you are on Debian/Ubuntu).

 

14) What is a server?

A server is a computer that provides something to other client computers, whether files, printers, or some other centralized resource that can be shared across a network.

 

15) What is a network?

A network is a group of interconnected computers that can share files, services, or other resources. There are Local Area Networks (LANs, like at your house or in the office at work), also known as intranet, are within one location or company, and Wide Area Networks (WANs), which often contain many LANs, and comprise larger elements of the internet. 

 

16) What is a Bootable or LiveUSB?

A USB flash/ jump/ pen/ thumb drive that has had an operating system installed on it via a tool like Balena Etcher, YUMI, Rufus, or any number of others out there so that it can be launched by any attached computer. Then you can choose to install it or not after you explore a bit, as it really is running on your system, just in a static manner.

 

17) What does it mean to “flash” an OS?

Flashing is the process of installing a desktop OS or mobile ROM to a portable medium like a USB thumb drive, SD card, or external SSD or hard drive. This makes the drive able to boot into and install (if so desired) any compatible OS on any computer or device it is compatible with.

 

18) What’s an ISO file?

It is a file type defined by the International Standards Organization, specifically those around ISO protocol 9660. This standard allows whole file systems to be directly copied without any compression applied, and to produce a single file which can be used as though it were physical media. This allows the entirety of what was on a disc or discs (CD, DVD, or Blu-Ray) to be transferred to a computer as a single file. This file can then be mounted (and used as though it were the physical media), or copied to other media (another optical disc, external drive, or a thumb drive that has enough capacity). This is why whenever you download Windows, Linux, or a copy of MacOS, it comes as an ISO file.

 

18) What is a ROM?

It stands for Read Only Memory. For our purposes, this is what we call system images for mobile devices, mostly for Android phones. It is the Android equivalent of an ISO file for your desktop. 

19) What in the world is mounting in Linux? Why do I have to Mount my USB or optical drive media before I can access it?

 

What is meant by mounting a drive? Before your computer can use any kind of storage device (such as a hard drive, CD-ROM, or network share), you or your operating system must make it accessible through the computer’s file system. This process is called mounting. You can only access files on mounted media.

  • Here’s an analogy I found on a Linux forum that may help you to grasp it better:

Let’s consider the job of the Post Master general of Washington DC.

In the early days, all roads which led to anywhere, lead from PA Avenue outwards. If you wanted to get your mail, your location had to be navigable from PA Avenue; If somebody builds a street off PA avenue, and then builds a house, he must tell me:

“My house is at this GPS location. But in order to get mail, start at PA Avenue, then go to K street, then go to my house”

mount GPS_LocationOfMyHouse to PA Avenue / K street / MyHouse

Mounting is simply the process of telling the post master general where the house is relative to PA Avenue, or in this case, the root path.

Leave a Reply