Distributions, architectures and licensing
Listen to this lesson
This episode is a study companion for CompTIA Linux+ XK0-006 and is not produced by or endorsed by CompTIA.
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/rpmfor the Red Hat side,apt/dpkgfor the Debian side, and know which layer each sits at. -
apt updaterefreshes metadata;apt upgradeinstalls. 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
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
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
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.
Hands-on labs
Part of the free CompTIA Linux+ XK0-006 course — 48 lessons and 82 hands-on labs.