Skip to content

Eric-Tomchik/linux-complete-reference

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Linux: The Complete Reference β€” 2026 Edition

Companion Repository

By Eric Tomchik Β· Published by ArcLight Press Β· 59 Chapters Β· 519 Pages

This repository is the official companion to Linux: The Complete Reference β€” 2026 Edition. It provides working scripts, hands-on lab exercises, configuration examples, and errata for every chapter in the book.


πŸš€ Quick Start

# Clone the repository
git clone https://github.com/Eric-Tomchik/linux-complete-reference.git
cd linux-complete-reference

# Spin up the lab environment (requires Vagrant + VirtualBox)
cd labs/
vagrant up

# Or use Docker for lightweight labs
docker compose up -d

πŸ“ Repository Structure

linux-complete-reference/
β”œβ”€β”€ README.md                    ← You are here
β”œβ”€β”€ ERRATA.md                    ← Known corrections (by edition)
β”œβ”€β”€ CONTRIBUTING.md              ← How to report issues & contribute
β”œβ”€β”€ chapters/
β”‚   β”œβ”€β”€ ch01-what-is-linux/
β”‚   β”‚   β”œβ”€β”€ scripts/             ← Working scripts from the chapter
β”‚   β”‚   β”œβ”€β”€ configs/             ← Example configuration files
β”‚   β”‚   └── lab.md               ← Hands-on lab exercise
β”‚   β”œβ”€β”€ ch02-history-of-linux/
β”‚   └── ... (all 59 chapters)
β”œβ”€β”€ labs/
β”‚   β”œβ”€β”€ Vagrantfile              ← Multi-VM lab environment
β”‚   β”œβ”€β”€ docker-compose.yml       ← Containerized labs
β”‚   └── cloud-init/              ← Cloud instance provisioning
β”œβ”€β”€ cheatsheets/                 ← Quick-reference guides
└── quizzes/                     ← Interactive self-test scripts

πŸ“– Chapters

# Chapter Scripts Lab

Part I: Foundations of Linux

| 1 | What Is Linux? | Scripts | Lab | | 2 | The History of Linux | Scripts | Lab | | 3 | Open Source Software and Licensing | Scripts | Lab |

Part II: Getting Started with Linux

| 4 | Choosing a Linux Distribution | Scripts | Lab | | 5 | Preparing for Installation | Scripts | Lab | | 6 | Ubuntu | Scripts | Lab | | 7 | Debian | Scripts | Lab | | 8 | Fedora | Scripts | Lab | | 9 | RHEL, AlmaLinux, and Rocky Linux | Scripts | Lab | | 10 | Arch Linux | Scripts | Lab | | 11 | openSUSE | Scripts | Lab | | 12 | Linux Mint | Scripts | Lab | | 13 | Manjaro | Scripts | Lab | | 14 | Kali Linux | Scripts | Lab | | 15 | Other Notable Distributions | Scripts | Lab | | 16 | Desktop Environments and Window Managers | Scripts | Lab |

Part III: Core System Concepts

| 17 | The Linux Kernel | Scripts | Lab | | 18 | The Linux Filesystem Hierarchy | Scripts | Lab | | 19 | The Command Line Interface | Scripts | Lab | | 20 | Essential Linux Commands | Scripts | Lab | | 21 | The Shell: Bash, Zsh, and Beyond | Scripts | Lab | | 22 | Text Editors: Vim, Nano, and Emacs | Scripts | Lab | | 23 | Users, Groups, and Permissions | Scripts | Lab | | 24 | Package Management | Scripts | Lab |

Part IV: System Administration

| 25 | Process Management | Scripts | Lab | | 26 | Systemd and the Boot Process | Scripts | Lab | | 27 | Advanced systemd Features | Scripts | Lab | | 28 | Storage Management and LVM | Scripts | Lab | | 29 | System Logging | Scripts | Lab | | 30 | Backup and Recovery | Scripts | Lab | | 31 | Linux Troubleshooting and Debugging | Scripts | Lab |

Part V: Networking

| 32 | Networking Fundamentals | Scripts | Lab | | 33 | Network Configuration | Scripts | Lab | | 34 | DNS and DHCP Services | Scripts | Lab | | 35 | SSH β€” Secure Shell | Scripts | Lab | | 36 | Firewalls and Network Security | Scripts | Lab | | 37 | File Sharing: NFS, Samba, and FTP | Scripts | Lab | | 38 | Directory Services and LDAP | Scripts | Lab |

Part VI: Security

| 39 | Authentication and PAM | Scripts | Lab | | 40 | Encryption and TLS | Scripts | Lab | | 41 | Linux Security Fundamentals | Scripts | Lab | | 42 | SELinux and AppArmor | Scripts | Lab | | 43 | System Hardening | Scripts | Lab | | 44 | Security Tools and Penetration Testing | Scripts | Lab |

Part VII: Advanced Topics

| 45 | Virtualization | Scripts | Lab | | 46 | Containers and Docker | Scripts | Lab | | 47 | Kubernetes and Container Orchestration | Scripts | Lab | | 48 | Configuration Management | Scripts | Lab | | 49 | Kernel Tuning and Performance Optimization | Scripts | Lab | | 50 | Linux Observability and Performance Analysis | Scripts | Lab | | 51 | Shell Scripting | Scripts | Lab |

Part VIII: Development and Scripting

| 52 | Git Version Control | Scripts | Lab | | 53 | DevOps Practices and CI/CD on Linux | Scripts | Lab |

Part IX: Linux in Production

| 54 | Linux in the Cloud | Scripts | Lab | | 55 | Web Servers | Scripts | Lab | | 56 | Database Servers | Scripts | Lab | | 57 | Email Servers | Scripts | Lab | | 58 | High Availability and Load Balancing | Scripts | Lab | | 59 | Performance Monitoring and Troubleshooting | Scripts | Lab |

πŸ§ͺ Lab Environments

Option 1: Vagrant (Full VMs)

Requires Vagrant and VirtualBox.

cd labs/
vagrant up            # Start all VMs
vagrant ssh node1     # Connect to node1
vagrant destroy -f    # Clean up

Included VMs:

VM OS Purpose
node1 Ubuntu 24.04 Primary workstation β€” general labs
node2 Rocky Linux 9 RHEL-family labs, enterprise features
node3 Debian 12 Server labs, networking
node4 Fedora 41 Cutting-edge packages, Btrfs

Option 2: Docker Compose (Lightweight)

For chapters that don't require full VMs.

cd labs/
docker compose up -d
docker compose exec ubuntu bash

Option 3: Cloud (AWS/GCP/Azure)

Use the cloud-init configs to provision instances:

# AWS example
aws ec2 run-instances \
  --image-id ami-0abcdef1234567890 \
  --user-data file://labs/cloud-init/ubuntu-lab.yml

πŸ“‹ Cheatsheets

Quick-reference cards you can print or bookmark:

πŸ” Errata

Found an error in the book? Check ERRATA.md first, then open an issue if it's not listed.

🀝 Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines. You can:

  • Report errors via Issues
  • Submit script improvements via Pull Requests
  • Suggest new lab exercises
  • Share your own configuration examples

πŸ“œ License

Scripts and configurations in this repository are licensed under the MIT License.

The book content (Linux: The Complete Reference β€” 2026 Edition) is Β© 2026 Eric Tomchik / ArcLight Press. All rights reserved.


Built with 🐧 by Eric Tomchik

About

Linux Complete Reference Online Companion

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages