Duration: 5 days – 35 hrs
Overview
Welcome to the Linux Administration Training Course, where you’ll acquire essential skills to effectively manage, configure, and optimize Linux-based systems. Whether you’re new to Linux or looking to deepen your expertise, this course covers key concepts and practical techniques for proficient Linux administration.
Objectives
- Acquire fundamental knowledge of Linux system architecture.
- Master essential command-line operations for efficient navigation.
- Learn remote connection techniques using SSH.
- Develop proficiency in file and directory management.
- Understand user permissions and security measures.
- Gain insights into process management and monitoring.
- Explore software deployment through package managers.
- Set up various servers for web, FTP, VNC, and SSH.
- Configure desktop environments and user interfaces.
- Develop basic shell scripting skills for automation.
- Learn system maintenance and troubleshooting techniques.
Audience
- System Administrators: Individuals responsible for managing and maintaining Linux-based systems.
- IT Managers: Managers overseeing IT operations and infrastructure.
- Developers: Those looking to enhance their understanding of Linux administration for software development.
- Network Administrators: Professionals managing networks that incorporate Linux servers.
- Technical Support Staff: Support personnel aiming to troubleshoot Linux-related issues.
- DevOps Engineers: Engineers involved in deploying and managing applications on Linux servers.
- Database Administrators: DBAs working with Linux environments for database management.
- Security Analysts: Professionals focusing on securing and protecting Linux systems.
- Technology Enthusiasts: Individuals interested in expanding their knowledge of Linux administration.
Pre- requisites
- Basic familiarity with computer systems and operating systems.
- Basic understanding of command-line interfaces.
- No prior experience with Linux required.
Course Content
Introduction
- Linux system architecture
- Distributions
- Executing commands from the command line
Connecting to a Network
- Making remote connections using ‘ssh’
- Downloading files
- Transferring files using ‘scp’
Working with Files and Directories
- The structure of the file system
- Creating and deleting files and directories
- Copying, moving and renaming files and directories
- Viewing file content
- Searching for files
- Packing and unpacking files
Editing files
- ‘nano’ editor
- vim editor
- Editing from the command line with the ‘sed’ editor
Setting Permissions
- The concept of rights and ownership
- Viewing and verifying permissions
- Absolute and symbolic notation
- Changing permissions with ‘chmod’
- Changing ownership with ‘chown’
- Default values of ‘umask’
Managing Users
- Creating, changing and deleting user accounts
- Security and password policy
- Groups
- User privileges
Managing Processes
- Searching for processes
- Process states
Managing Software
- Default and custom repositories
- Package management (‘apt’, ‘yum’, etc.)
Deploying a Server
- Web server
- FTP server
- VNC server
- SSH authentication
Setting up a Desktop Environment
- Gnome and KDE
- Lightweight desktops
Advanced Command Line
- ‘bash’ shell
- Shell expansion
- Variables
- Stream redirection
- Initialization files
Restarting the System
- Controlling the startup process
- The GRUB boot loader
- System kernel
- Runlevels
- Service configuration files
- Stopping and restarting services
System Maintenance
- Resource monitoring (CPU, memory, disk, etc.)
- Task management
- System logs
- Tuning and maintaining the Kernel
- Managing kernel modules
Shell Scripting
- Basics of programming in the ‘bash’ shell
- Variables
- Tests
- Functions
- The exit status of the script
Troubleshooting
- Applying a systematic approach to diagnosing and correcting system failures
- Networking tools
- System