Distributions, architectures and licensing

Listen to this lesson

Episode 2 · 58:43

This episode is a study companion for CompTIA Linux+ XK0-006 and is not produced by or endorsed by CompTIA.

Objective 1.1 · System Management · 23% of the exam

Why this matters

"Linux" is not one thing you install. It is a kernel, wrapped in a package manager, a set of defaults and a support policy — and the wrapping is what you actually live with. Choosing wrongly means fighting your tooling for years.

Two of the three topics here decide real work: which family a system belongs to tells you which commands manage its software, and which architecture it runs tells you whether a binary will execute at all. The third — licensing — looks like paperwork until the day someone asks whether you can ship what you just built.

The lesson

Distributions, and the only distinction that matters day to day

A distribution is the kernel plus everything around it. There are hundreds; for the exam and for work they sort into two families, defined by their package format and package manager.

RPM-based — Red Hat Enterprise Linux, Fedora, CentOS Stream, Rocky, AlmaLinux, openSUSE. Packages are .rpm. Managed with dnf (or the older yum), with rpm underneath for single-package work.

dpkg-based — Debian, Ubuntu, Linux Mint, Raspberry Pi OS. Packages are .deb. Managed with apt, with dpkg underneath.

The practical translation table is short and worth memorising:

Task RPM family Debian family
Install dnf install nginx apt install nginx
Remove dnf remove nginx apt remove nginx
Update all dnf upgrade apt update && apt upgrade
Search dnf search nginx apt search nginx
Which package owns this file? rpm -qf /path dpkg -S /path
Install a local file rpm -i pkg.rpm dpkg -i pkg.deb

Note the asymmetry in the "update all" row: apt update refreshes the package list and apt upgrade installs. dnf upgrade does both. Forgetting apt update first is why a Debian box installs a version you know is out of date.

The rest of the differences — service naming, firewall tooling, SELinux versus AppArmor, default filesystem — follow the family more often than not, which is why "which family is this?" is the first question to ask on an unfamiliar machine. cat /etc/os-release answers it.

Server architectures

The architecture is the CPU instruction set. A binary compiled for one will not run on another, which is why packages are published per-architecture and why uname -m is worth checking before you download anything.

x86 — the original 32-bit Intel instruction set, now effectively retired for servers. You will still meet it in embedded and legacy systems. Limited to 4 GB of addressable memory, which is what ended it.

x86_64 / AMD64 — the 64-bit extension of x86 and the overwhelming default for servers. The two names are the same thing: AMD designed it, Intel adopted it, and different tools print different names for it. x86_64 from uname -m, amd64 from Debian packaging.

AArch64 — 64-bit ARM. Once phone-only, now everywhere that power efficiency matters: AWS Graviton, Ampere servers, Apple Silicon, and every Raspberry Pi since the 3. This is the architecture most likely to surprise you, because a container image or binary built on your x86_64 laptop simply will not run there.

RISC-V — an open instruction set architecture, royalty-free, with no licensing body to pay. Still emerging in production but increasingly present in embedded work and research. It appears in the objectives because its trajectory matters, not because you will administer a rack of it this year.

uname -m          # x86_64, aarch64, riscv64 ...
arch              # the same answer
lscpu             # architecture plus cores, model, virtualisation support

The graphical stack

Servers usually run without one, but you need the vocabulary, and the pieces stack in a specific order.

X Server (X11, X.Org) is the long-standing display server: it owns the screen, keyboard and mouse, and draws what applications ask for. Its defining feature is network transparency — an X application can display on a different machine entirely, which is what ssh -X exploits.

Wayland is its replacement. Simpler, more secure by design — one application can no longer quietly read another's window contents, which X allowed — and now the default on current Fedora, RHEL and Ubuntu desktops. Its trade-off is that remote display does not work the old way.

Window managers draw the frames, title bars and borders, and decide how windows move and stack. Display managers are the graphical login screen — GDM, SDDM, LightDM — and they start the session once you authenticate. The graphical user interface as a user experiences it is a desktop environment (GNOME, KDE Plasma, XFCE) built from those parts.

The order is worth holding: display manager logs you in, which starts a session, which runs a window manager on top of a display server.

Software licensing

Licensing decides what you may do with software you did not write — and the distinction the exam cares about is not "free versus paid".

Free software means free as in freedom, not price. The Free Software Foundation's four freedoms: run it for any purpose, study and modify it, share it, and share your modified versions.

Open-source software means the source is available and redistributable under an approved licence. In practice the two overlap almost entirely; the difference is emphasis — freedom as an ethical claim versus openness as a development method.

Copyleft is the mechanism that makes freedom stick. A copyleft licence — the GPL being the definitive example — requires that derivative works carry the same licence. Take GPL code, modify it, distribute the result, and you must release your source under the GPL too. This is the "viral" property, and it is deliberate: it prevents someone taking free software private.

Permissive licences (MIT, BSD, Apache) do not require this. You may take the code, modify it, and ship the result closed. That is the whole difference, and it is why a company will happily build on BSD-licensed code while treating GPL code carefully.

Proprietary software keeps its source closed and restricts modification and redistribution by contract. Linux systems run plenty of it — Oracle Database, NVIDIA's drivers, most commercial backup agents.

The Linux kernel itself is GPLv2. That single fact drives a great deal of how the ecosystem behaves, including why NVIDIA's proprietary driver is a separate module rather than part of the kernel.

On the exam

  • Family-to-command mapping is near-guaranteed. dnf/rpm for the Red Hat side, apt/dpkg for the Debian side, and know which layer each sits at.
  • apt update refreshes metadata; apt upgrade installs. A question that upgrades without updating first is testing exactly that.
  • x86_64 and AMD64 are the same architecture under two names. Expect that to appear as a distractor.
  • AArch64 is where "it worked on my machine" fails. Watch for scenarios involving Raspberry Pi or cloud ARM instances.
  • Copyleft requires derivatives to carry the same licence; permissive does not. That single sentence answers most licensing questions on this exam.
  • Free software is about freedom, not cost. Questions sometimes hinge on that being understood.

Practise what you just read

1. Which pair of tools belongs to the Red Hat family?

Select one

  1. dnf and rpm
  2. apt and dpkg
  3. apt and rpm
  4. dnf and dpkg
Show answer

A. The Red Hat family uses rpm as the low-level package tool and dnf as the high-level manager that resolves dependencies and talks to repositories. The Debian family pairs dpkg with apt in the same way. The two mixed options are the distractors that matter, because they test whether you know the families rather than just the four command names.

2. An administrator runs apt upgrade on a Debian server and no new package versions are installed, although updates are known to exist. What was omitted?

Select one

  1. apt autoremove, to free the dependency list
  2. apt update, to refresh the package metadata first
  3. dpkg --configure -a, to complete pending configuration
  4. apt clean, to empty the package cache
Show answer

B. apt upgrade installs newer versions of what the local metadata knows about. Without apt update that metadata may be days or weeks old, so apt has nothing newer to install and reports success. The two are separate commands on purpose, and a scenario that upgrades without updating is testing exactly this distinction.

3. A vendor supplies a binary for AMD64. On which systems will it run?

Select one

  1. Only systems running an AMD-optimised kernel build
  2. AMD processors only, and not Intel ones
  3. x86_64 systems
  4. AArch64 systems, since both are 64-bit architectures
Show answer

C. AMD64 and x86_64 are two names for the identical 64-bit instruction set, which AMD designed and Intel adopted; some tools also call it x64. It runs on Intel and AMD processors alike. AArch64 is a genuinely different architecture, and a binary built for one will not run on the other -- which is the real trap the naming confusion sets up.

6 more questions on this objective are part of the full course.

Practise the full question bank in the exam simulator

Hands-on labs

All hands-on labs