Edocti Training
Linux Internals and system administration
Scheduled sessions
No sessions are available at the moment.
Skills You Will Learn
Linux Internals & POSIX
Process Management & Systemd
Network Troubleshooting
Shell Scripting
Containers (Docker/Podman)
Storage & Filesystems
Linux Security Basics
Performance Tuning
Curriculum
Linux application execution model
- Userspace vs. kernelspace
- The system call mechanism
- Privilege levels, access control and the user/kernel boundary
- Virtual memory vs. physical memory
- POSIX fundamentals and the Linux programming model
Containers essentials
- Containers vs. virtual machines
- Images, containers, volumes and networking fundamentals
- Basic Docker and Podman workflows
- Inspecting logs, processes and common failure modes in containers
Core shell and user-space workflow
- Terminal productivity, shell conventions and common shortcuts
- Standard streams, pipes, redirection and text-processing basics
- Navigating the filesystem and reading key files under /etc, /proc and /var
- Using man pages and built-in help effectively
Users, permissions and security foundations
- Users, groups, ownership, mode bits and umask
- sudo, sudoers and practical permission patterns
- SSH keys, agent forwarding and secure remote access basics
- Basic hardening concepts: login hygiene, service exposure and fail2ban
- Linux security frameworks: SELinux and AppArmor fundamentals
Process management and scheduling
- Processes, daemons and jobs
- ps, top, htop, pgrep, kill
- Scheduling basics and resource control. CFS. Real-time Linux? nice and renice
- Understanding process states and signals
- Inspecting live systems and reacting safely
systemd fundamentals
- The boot process - a short explanation
- The systemd process, unit types and dependencies
- Services, targets and timers
- systemctl workflows: start, stop, restart, enable and status
- Reading logs for services with journalctl
- Creating, testing and troubleshooting a simple custom service
Logging and monitoring
- journald concepts and journalctl usage patterns
- Reading /var/log and understanding common log locations
- Log rotation basics with logrotate
- Inspecting system health with uptime, free, vmstat, iostat and pstop
- Building a practical troubleshooting workflow from logs and metrics
Networking essentials and troubleshooting
- The OSI network model
- Ethernet Switching - what a developer must know about Ethernet switching
- Routing basics - what every developer must know about IP routing
- IP configuration and inspection with ip, ss, netstat and iptraf
- DNS resolution with dig, nslookup and /etc/resolv.conf
- Connectivity troubleshooting with ping, curl, wget, mtr
- Reading logs for network troubleshooting
- Firewall basics: UFW and core iptables / nftables concepts
- Intro to networking services: SSH config, apache and systemd-networkd
- Using /proc and sysfs for advanced troubleshooting and network finetuning
Storage and filesystems
- From block device to filesystem. The inode table - core concepts
- Inspecting block devices and partitions with lsblk, fdisk and blkid
- Mounting, unmounting and /etc/fstab basics
- Filesystem types and when to use them (ext4, xfs and overview of newer options)
- Disk usage analysis with df and du
- Reading logs for storage issues and corruption symptoms
Package management and system updates
- apt, dnf and package lifecycle basics
- Repositories, signatures, GPG keys and trusted sources
- Searching, installing, removing and updating packages
- Update strategies, verification and rollback awareness
Intermediate shell scripting
- Bash structure, quoting, working with functions
- Input parsing, positional parameters and argument handling
- Working with common data structures; from strings and numbers to arrays and JSON parsing.
- Error handling
- Writing maintainable automation scripts for admin tasks. Exercises
Scheduled tasks, performance and operational patterns
- User vs. system crontabs
- Logging and debugging cron jobs
- cron vs. systemd timers
- Intro to Linux performance tuning
- End-to-end troubleshooting patterns across process, network, storage and logs
Course Day Structure
- Part 1: 09:00–10:30
- Break: 10:30–10:45
- Part 2: 10:45–12:15
- Lunch break: 12:15–13:15
- Part 3: 13:15–15:15
- Break: 15:15–15:30
- Part 4: 15:30–17:30