Installation
Installing Linux is the first real step toward understanding how UNIX-like systems work. This page focuses on the installation of popular Linux distributions and Windows Subsystem for Linux (WSL), with an emphasis on learning, system administration, and practical fundamentals.
Linux is not an operating system. The term “Linux” actually refers to the underlying Linux kernel, developed by Linus Torvalds (creator of Git) in 1991.
Operating systems running on the Linux kernel are typically called “distributions” (distros).
You may be wondering why UNIX and Linux are so important in our modern age.
They have a massive impact on modern computing:
- Android uses a modified version of the Linux kernel.
- macOS and iOS are based on Apple’s proprietary UNIX operating system derived from OPENSTEP for Mach and FreeBSD.
- Although Windows is not based on UNIX, it has been influenced by it. Modern Windows includes a feature called WSL (Windows Subsystem for Linux) that allows you to run a Linux distribution inside Windows.
This guide focuses on installing systems in a way that helps you understand what is happening under the hood co-denot just clicking “Next”.
Windows Subsystem for Linux (WSL)
WSL allows you to run a real Linux userspace inside Windows.
WSL2 uses a real Linux kernel running inside a lightweight virtual machine.
This is ideal if:
- You are using Windows as your primary OS
- You want to learn Linux commands
- You want a development environment without dual booting
Installing WSL (Windows 11 / modern Windows 10)
Open PowerShell as Administrator:
wsl --installReboot when prompted.
You can list available distributions:
wsl --list --onlineInstall a specific distribution (example: Ubuntu):
wsl --install -d UbuntuAfter installation, launch it and create your UNIX username and password.
What You Should Understand
- WSL is not a traditional dual-boot system.
- Files are stored inside a virtual disk.
- WSL2 runs a real Linux kernel.
- Systemd support exists in modern WSL versions.
- Networking behaves slightly differently from a normal Linux machine.
WSL is excellent for beginners and scripting practice, but it is not a replacement for managing a real Linux server.
Ubuntu
Ubuntu is one of the most beginner-friendly Linux distributions. It is based on Debian and is widely used on desktops and servers.
There are two common editions:
- Desktop
- Server
For sysadmin learning, the Server edition is recommended.
Installation Overview
- Download the ISO from the official website.
- Create a bootable USB (using Rufus, balenaEtcher, etc.).
- Boot from the USB.
- Follow the installer prompts.
Key choices you will make:
- Keyboard layout
- Network configuration
- Partitioning
- Username and password
- Whether to install OpenSSH server
Partitioning Recommendation (Learning Setup)
For a simple lab machine:
/(root) → entire disk- swap → optional (or use swap file)
For better practice:
- Separate
/home - Consider separating
/varfor server scenarios
After installation, update your system:
user@server:~$ sudo apt update
user@server:~$ sudo apt upgradeUbuntu is ideal for beginners because it hides complexity while still being a real Linux system.
Debian
Debian is known for stability and reliability. Many servers run Debian.
It is more minimal than Ubuntu and closer to “pure” GNU/Linux.
Installation Overview
The installer offers:
- Graphical mode
- Text mode
During installation you will configure:
- Hostname
- Domain name (optional)
- Root password (or sudo-based setup)
- Partitioning scheme
- Software selection
When selecting software, for server practice you can choose:
- Standard system utilities
- SSH server
After installation:
user@debian:~$ sudo apt update
user@debian:~$ sudo apt upgradeDebian teaches you a cleaner, less opinionated environment compared to Ubuntu.
It is excellent for learning server fundamentals.
Arch Linux
Arch Linux is a minimal, rolling-release distribution designed around simplicity and user control.
Unlike Ubuntu or Debian, Arch does not have a guided installer by default. You build the system manually.
This makes it extremely valuable for learning how Linux systems are assembled.
High-Level Installation Steps
- Boot into the Arch live environment.
- Partition the disk.
- Format partitions.
- Mount the root filesystem.
- Install the base system.
- Generate fstab.
- Install bootloader.
- Configure users and networking.
Example (very simplified):
Check disks:
root@archiso ~ # lsblkFormat partition:
root@archiso ~ # mkfs.ext4 /dev/sdX1Mount root:
root@archiso ~ # mount /dev/sdX1 /mntInstall base system:
root@archiso ~ # pacstrap /mnt base linux linux-firmwareGenerate fstab:
root@archiso ~ # genfstab -U /mnt >> /mnt/etc/fstabArch forces you to understand:
- Filesystems
- Mount points
- Bootloaders
- Kernel packages
- Init systems
It is highly recommended for intermediate learners who want deep understanding.
After Installation (All Systems)
No matter which distribution you choose, after first boot you should:
- Update the system
- Create a non-root user (if not already created)
- Configure sudo
- Enable SSH (for remote access practice)
- Set hostname properly
- Enable firewall (ufw or equivalent)
- Check time synchronization
Example (Debian/Ubuntu):
sudo apt install openssh-server
sudo systemctl enable ssh
sudo systemctl start sshInstalling Linux is not just about getting a working machine. It is about understanding:
- How the kernel loads
- How filesystems are mounted
- How services start
- How users are created
- How networking is configured
The installation process is your first exposure to how a UNIX-like system is constructed.
Learning this stage carefully will make everything else co-defilesystems, networking, permissions, processes co-demuch easier to understand.