Skip to main content

Linux Operating System Training

Mastery of Linux Systems and Server Administration​

Course Code: 420-XX
Session: Winter 2025
Instructor: Haythem Rehouma
Institution: inskillflow academy


Course Overview​

This course will teach you to master Linux operating systems, system administration, and server management. From introduction to advanced concepts, you will learn to administer, secure, and optimize Linux systems in production.

Learning Objectives​

By the end of this course, you will be able to:

  • Understand the architecture and fundamental concepts of Linux
  • Administer Linux systems (installation, configuration, maintenance)
  • Manage users, permissions, and system security
  • Master the shell and automation with scripts
  • Configure and manage Linux networks
  • Administer system services and daemons
  • Monitor and debug Linux systems
  • Deploy and maintain Linux servers in production

Teaching Approach​

70% Practical - 30% Theory

Each module combines:

  • Detailed theoretical explanations with Mermaid diagrams
  • Hands-on labs
  • Real-world examples and use cases
  • Validation exercises and quizzes

📚 Course Plan - 13 Modules​

This training is structured into 13 progressive modules that will take you from the introduction to Linux to advanced server administration in production. Each module builds on what you learned in the previous ones.

Progression Overview​

Module Structure​

Each module includes:

  • Theoretical chapters with diagrams and examples
  • Practical labs to apply the concepts
  • Assessment quizzes to check your knowledge
  • Supplementary resources for further learning

MODULE 1 - Introduction to Linux​

Duration: 2-3 sessions

Content:

  • What is Linux and why use it?
  • History and evolution (Unix → Linux)
  • Linux distributions (Debian, Red Hat, Ubuntu, etc.)
  • Linux architecture (Kernel, Shell, File System)
  • Comparison with other operating systems

Objectives:

  • Understand the role of Linux in modern computing
  • Identify the main components
  • Discover the Linux ecosystem

Labs:

  • Lab 1.1: Installation and First Use of Linux

MODULE 2 - Linux System Architecture​

Duration: 2-3 sessions

Content:

  • Detailed system architecture
    • Linux Kernel
    • System processes (init, systemd)
    • Memory management and swap
    • Virtual File System (VFS)
  • System components
    • Shell and command interpreter
    • System libraries
    • System utilities
  • Boot process and run levels
  • Inter-process communication

Objectives:

  • Understand the internal workings of Linux
  • Identify the role of each component
  • Visualize system communication flows

Labs:

  • Lab 2.1: Boot Process Analysis
  • Lab 2.2: System Architecture Exploration
  • Lab 2.3: System Components Monitoring

MODULE 3 - File System​

Duration: 3-4 sessions

Content:

  • Linux File System Structure (FHS)
  • Navigation and basic commands (cd, ls, pwd, mkdir, rmdir)
  • File management (cp, mv, rm, touch)
  • File permissions (chmod, chown, chgrp)
  • File search (find, locate, which, whereis)
  • Symbolic and hard links
  • File system types (ext4, xfs, btrfs)

Objectives:

  • Navigate efficiently in the file system
  • Manage files and directories
  • Understand and manage permissions
  • Use search tools

Labs:

  • Lab 3.1: Navigation and Creation
  • Lab 3.2: Permissions Management
  • Lab 3.3: Search and Links
  • Lab 3.4: Complete Practice

MODULE 4 - Process Management​

Duration: 3-4 sessions

Content:

  • Introduction to Linux processes
  • Process visualization (ps, top, htop)
  • Process control (kill, killall, pkill)
  • Priorities and nice values
  • Background processes (jobs, fg, bg, nohup)
  • System signals
  • Zombie and orphan processes

Objectives:

  • Understand the process lifecycle
  • Visualize and control processes
  • Manage priorities and jobs
  • Use system signals

Labs:

  • Lab 4.1: Process Visualization
  • Lab 4.2: Process Control
  • Lab 4.3: Priorities and Nice
  • Lab 4.4: Background Jobs

MODULE 5 - Users and Permissions​

Duration: 2-3 sessions

Content:

  • User management (useradd, usermod, userdel)
  • Group management (groupadd, groupmod, groupdel)
  • File permissions (chmod, chown, chgrp)
  • Numeric and symbolic permissions
  • Sudo and elevated privileges
  • ACL (Access Control Lists)
  • User quotas

Objectives:

  • Create and manage users and groups
  • Understand and configure permissions
  • Use sudo securely
  • Implement ACLs

Labs:

  • Lab 5.1: User Management
  • Lab 5.2: Group Management
  • Lab 5.3: Advanced Permissions
  • Lab 5.4: Best Practices

MODULE 6 - Shell Scripting​

Duration: 3-4 sessions

Content:

  • Introduction to Bash scripting
  • Variables and parameters
  • Control structures (if, for, while)
  • Functions and reusable scripts
  • Error handling and debugging
  • Cron and crontab: task scheduling
  • Cron syntax and practical examples
  • System cron vs user cron
  • systemd timers (modern alternative)

Objectives:

  • Master Bash shell scripting
  • Automate administrative tasks
  • Schedule tasks with cron and systemd timers
  • Create robust and maintainable scripts

Labs:

  • Lab 6.1: Basic Bash Scripts
  • Lab 6.2: Advanced Scripts with Functions
  • Lab 6.3: Cron Configuration and Use
  • Lab 6.4: systemd Timers and Modern Scheduling

MODULE 7 - Network and Configuration​

Duration: 3-4 sessions

Content:

  • Linux network configuration
  • Network interfaces (ifconfig, ip, nmcli)
  • Routing and routing tables
  • DNS and name resolution
  • Static IP vs DHCP configuration
  • Basic firewall (iptables, firewalld)
  • Network troubleshooting

Objectives:

  • Configure and manage Linux networks
  • Understand routing and DNS
  • Secure network communications
  • Diagnose network issues

Labs:

  • Lab 7.1: Network Interface Configuration
  • Lab 7.2: Routing and Routing Tables
  • Lab 7.3: DNS Configuration
  • Lab 7.4: Firewall and Network Security

MODULE 8 - Services and Daemons​

Duration: 3-4 sessions

Content:

  • Service management with systemd
  • Unit files (service, timer, target)
  • Starting, stopping, and restarting services
  • Startup services (enable/disable)
  • systemd journal (journalctl)
  • Advanced cron: crontab, /etc/cron.d, anacron
  • Cron log management
  • Apply best practices for scheduled tasks
  • Alternatives: at, batch

Objectives:

  • Administer system services
  • Understand systemd and unit files
  • Master cron and scheduled tasks
  • Manage logs and monitoring

Labs:

  • Lab 8.1: systemd Service Management
  • Lab 8.2: Creating Custom Services
  • Lab 8.3: Advanced Cron and Crontab
  • Lab 8.4: systemd Timers vs Cron

MODULE 9 - System Security​

Duration: 3-4 sessions

Content:

  • Authentication and authorization
  • User and group management
  • File permissions (chmod, chown, ACL)
  • Sudo and elevated privileges
  • Firewall (iptables, firewalld, ufw)
  • SELinux and AppArmor (introduction)
  • Security auditing
  • Cron security: permissions and environment

Objectives:

  • Secure a Linux system
  • Manage permissions and access
  • Configure and maintain a firewall
  • Audit system security

Labs:

  • Lab 9.1: Permissions Management
  • Lab 9.2: Sudo Configuration
  • Lab 9.3: Firewall and iptables Rules
  • Lab 9.4: Security Audit and Logs

MODULE 10 - Package Management​

Duration: 2-3 sessions

Content:

  • Package managers (apt, yum, dnf, pacman)
  • Software installation and updates
  • Repositories and package sources
  • Dependency resolution
  • Compilation from source
  • Managing .deb and .rpm packages
  • Snap, Flatpak, and AppImage

Objectives:

  • Install and manage Linux software
  • Understand different package systems
  • Resolve dependency issues
  • Use modern tools (Snap, Flatpak)

Labs:

  • Lab 10.1: Management with apt/yum
  • Lab 10.2: Repository Configuration
  • Lab 10.3: Compilation from Source
  • Lab 10.4: Snap and Flatpak

MODULE 11 - Monitoring and Logs​

Duration: 3-4 sessions

Content:

  • System monitoring (top, htop, iotop, vmstat)
  • CPU, memory, disk usage
  • Processes and resources
  • System logs (/var/log, journald)
  • Log rotation (logrotate)
  • Cron monitoring: logs and notifications
  • Monitoring tools (sar, sysstat)
  • Alerts and notifications

Objectives:

  • Monitor system performance
  • Analyze logs and diagnose issues
  • Configure log rotation
  • Monitor scheduled tasks

Labs:

  • Lab 11.1: System Resource Monitoring
  • Lab 11.2: Log Analysis with journalctl
  • Lab 11.3: Logrotate Configuration
  • Lab 11.4: Cron Monitoring and Alerts

MODULE 12 - Advanced Administration​

Duration: 3-4 sessions

Content:

  • Server administration in production
  • Backup and restoration
  • System maintenance and updates
  • Advanced troubleshooting
  • Performance tuning
  • Automation with cron and scripts
  • Apply best practices for scheduled tasks
  • Documentation and procedures

Objectives:

  • Administer Linux servers in production
  • Implement backup strategies
  • Optimize performance
  • Automate administrative tasks

Labs:

  • Lab 12.1: Backup Strategies
  • Lab 12.2: Performance Tuning
  • Lab 12.3: Complete Automation with Cron
  • Lab 12.4: Final Project - Complete Linux Server

Tools and Technologies​

Development Environment​

  • Bash / Zsh: Linux Shells
  • SSH: Secure remote access
  • Vim / Nano / Emacs: Text editors
  • Git: Version control
  • tmux / screen: Terminal multiplexers

Linux Distributions​

  • Ubuntu / Debian: Debian-based distributions
  • CentOS / RHEL / Fedora: Red Hat-based distributions
  • Arch Linux: Advanced distribution
  • SUSE / openSUSE: Enterprise distribution

Complementary Tools​

  • systemd: Service manager
  • rsync / scp: File transfer
  • cron / systemd timers: Task scheduling
  • iptables / firewalld: Firewall
  • logrotate / journald: Log management

Skills you will develop​

Technical Skills​

System Administration:

  • Installation and configuration of Linux systems
  • User and permission management
  • Service and process administration
  • System maintenance and updates

Scripting and Automation:

  • Shell scripting (Bash)
  • Administrative task automation
  • Scheduling with cron and systemd
  • Configuration management

Network and Security:

  • Linux network configuration
  • Firewall and system security
  • SSH and secure remote access
  • System monitoring and logs

Professional Skills​

  • Understanding of the Linux ecosystem
  • Production server administration
  • Complex system problem-solving
  • Collaboration with IT/DevOps teams

Assessments​

Practical Work (50%)​

  • TP1: System configuration and administration (15%)
  • TP2: Scripting and automation (20%)
  • TP3: Complete Linux server project (15%)

Labs (30%)​

  • Weekly labs (25%)
  • Participation and engagement (5%)

Final Project (20%)​

  • Configured and secured Linux server (15%)
  • Documentation and presentation (5%)

Total: 100%


Prerequisites​

Prior Knowledge​

  • Basic computer knowledge
  • Computer usage
  • Basic operating system concepts
  • No prior Linux knowledge required

Required Equipment​

  • Computer with at least 4 GB RAM (8 GB recommended)
  • 20 GB of free disk space
  • Stable Internet connection
  • 64-bit processor

Software to Install​

  • Linux distribution (Ubuntu, Debian, or VM)
  • Terminal/SSH client
  • Text editor (VS Code, Vim, or Nano)
  • Root or sudo access

Course Resources​

Official Documentation​

  • "Linux Command Line and Shell Scripting Bible" - Richard Blum
  • "The Linux Command Line" - William Shotts
  • "Linux Administration Handbook" - Evi Nemeth

Community​


Course Progression​

[🔄 IN PROGRESS] MODULE 1 - Introduction to Linux
[📝 UPCOMING] MODULE 2 - System Architecture
[📝 UPCOMING] MODULE 3 - File System
[📝 UPCOMING] MODULE 4 - Process Management
[📝 UPCOMING] MODULE 5 - Users and Permissions
[📝 UPCOMING] MODULE 6 - Shell Scripting
[📝 UPCOMING] MODULE 7 - Network and Configuration
[📝 UPCOMING] MODULE 8 - Services and Daemon
[📝 UPCOMING] MODULE 9 - System Security
[📝 UPCOMING] MODULE 10 - Package Management
[📝 UPCOMING] MODULE 11 - Monitoring and Logs
[📝 UPCOMING] MODULE 12 - Advanced Administration

Start Now!​

Explore the modules in the sidebar and begin your Linux learning journey!

Enjoy the course!


Last updated: December 2024