Linux Systems
Boot Sequence
A new computer runs a small program stored in components on the motherboard — the BIOS (Basic Input Output System) or, on modern hardware, UEFI. Once it starts, the machine can do basic input/output and search its storage devices (CD-ROM, USB drive, hard drive, SSD) for an operating system. When it finds one, it loads it into memory and hands off execution — that's the moment the machine becomes genuinely useful.
File System
An operating system organizes files with an internal, embedded database: a tree rooted at /, holding folders and files, with each filename registered as a record in that tree. The most common Linux file systems:
- EXT2 / EXT3 / EXT4 — the traditional Linux family; EXT4 is the most widely deployed, a solid default for stability and performance with modest resource needs.
- XFS — strong for large files and high-throughput workloads.
- ZFS / BTRFS — newer, high-performance file systems that can span multiple drives to build one logical volume with built-in redundancy, at the cost of needing more memory.
For comparison, Windows uses FAT16/FAT32/NTFS, and removable media (CD-ROM, DVD) use their own dedicated file systems distinct from any of the above.
Security and Permissions
A Linux file system is secured through users and roles: an administrator grants or denies access to specific folders and files. Every account gets a home folder it can write to, and (by default) read access to most other folders — the specific permission model is one of Linux's real strengths over less granular systems.
Passwords and root
Logging in — at boot, or waking from sleep — requires a password; without it, there's no access. On Linux, the superuser account is root. Anyone with the root password has access to every file on the machine, which is exactly why keeping it safe (and, in production, avoiding logging in as root directly at all — see Security Hardening on least privilege) matters so much.
Where Linux Fits
By overall popularity across all computing, operating systems roughly rank: Windows, Linux, macOS, Chrome OS, Android, FreeBSD. But that ranking inverts on servers: Linux dominates cloud infrastructure, containers, and embedded systems specifically because it's free, scriptable, and available in distributions tuned for exactly that job.
Linux Distributions
Linux distributions are numerous enough that recommending "the one" isn't useful — the right choice depends entirely on your use case. Most production Linux runs on a server with no GUI at all, but here are the distributions you'll meet most often:
| Name | Based On | Best For |
|---|---|---|
| Ubuntu | Debian | The most popular general-purpose distro — desktop, server, and cloud, with a huge community. |
| Debian | — | Servers and embedded systems that need stability above all else. |
| Fedora | — | Cutting-edge software; a good place to try the newest Linux features before they land elsewhere. |
| openSUSE | — | Stability with strong enterprise tooling, desktop or server. |
| Arch Linux | — | A rolling release for experienced users comfortable with the command line who want the newest packages continuously. |
| Linux Mint | Ubuntu | A stable, user-friendly desktop for newcomers to Linux. |
To compare distributions beyond this list: DistroWatch.
System Programming and the Command Line
"System programming" here just means writing scripts that run operating system commands — on the cloud, on a server, or on your own machine. Every classic OS (Windows, Linux, UNIX) has a console: a text window where you can run programs and scripts directly. On Linux and macOS this is the Terminal; a script there is a shell script, conventionally saved with a .sh extension.
At the terminal's prompt, you type a command and the shell executes it. Typing the name of a script file parses and runs that script the same way. This is the single most important skill a TechOps role builds day to day — see Shell Automation for scripting it in depth, or the Bash roadmap for the language itself.
Performance Tips
A few storage choices make a real, measurable difference to boot and I/O performance:
- Install the root (
/) partition on an SSD formatted EXT4, mounted with thenoatimeoption, for a fast boot. - With multiple drives or a RAID array, put
/boot(roughly 200–500 MB, formatted EXT3 or EXT4) on the fastest disk, and mount the larger root partition on the secondary disk or RAID array for capacity. - Software RAID and boot loaders don't always mix cleanly — a very small, dedicated
/bootpartition (under 512 MB) sidesteps most of that friction, though it will leave that one disk with less usable space than its RAID siblings if it lives on one of them.