Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
Debian Distribution
Understanding Debian
- Selecting the appropriate Debian version
- Accessing Debian support and resources
- Engaging with the Debian community
Console Fundamentals
- Navigating the shell prompt
- Managing the shell prompt within X
- Utilizing the root account and root shell prompt (su, sudo, and executing programs as root in X)
- Graphical system administration tools
- Using virtual consoles
- Exiting the command prompt
- Shutting down the system
- Restoring a functional console
- Recommended additional packages for beginners
- Creating an extra user account
- Configuring sudo
The File System
- File system permissions
- Controlling permissions for new files: umask
- Group-based user permissions
- Understanding timestamps
- Working with links
- Using named pipes (FIFOs)
- Managing sockets
- Handling device files
- Working with special device files
- Navigating procfs and sysfs
Midnight Commander (MC)
- Customizing MC
- Launching MC
- Using the file manager in MC
- Advanced command-line techniques in MC
- Utilizing the internal editor in MC
- Utilizing the internal viewer in MC
- Enabling auto-start features of MC
- Navigating the FTP virtual file system in MC
The Basic Unix-like Work Environment
- The login shell
- Customizing bash
- Using special key strokes
- Navigating with the pager
- Setting a default text editor
- Exiting vim
- Logging shell activities
- Essential Unix commands
Basic Shell Commands
- Command execution and environment variables
- The "$LANG" variable
- The "$PATH" variable
- The "$HOME" variable
- Using command-line options
- Understanding shell globbing
- Interpreting command return values
- Constructing command sequences and shell redirection
- Creating command aliases
Unix-like Text Processing
- Using Unix text tools
- Mastering regular expressions
- Using replacement expressions
- Performing global substitutions with regular expressions
- Extracting data from text file tables
- Writing script snippets for piping commands
Debian Package Management
Prerequisites for Debian Package Management
- Configuring packages
- Essential precautions
- Navigating continuous upgrades
- Understanding the Debian archive basics
- Managing package dependencies
- Understanding the package management event flow
- Initial troubleshooting responses
Basic Package Management Operations
- Comparing apt-get/apt-cache with aptitude
- Performing basic operations via the command line
- Interactive use of aptitude
- Understanding aptitude key bindings
- Navigating package views in aptitude
- Utilizing search method options in aptitude
- Applying the aptitude regex formula
- Resolving dependencies in aptitude
- Reviewing package activity logs
Examples of aptitude Operations
- Listing packages using regex matching on package names
- Browsing using regex matching
- Permanently purging removed packages
- Managing auto/manual installation status
- Performing system-wide upgrades
Advanced Package Management Operations
- Executing advanced operations via the command line
- Verifying installed package files
- Precautions against package issues
- Searching package metadata
Internals of Debian Package Management
- Understanding archive metadata
- The top-level "Release" file and authenticity
- Archive-level "Release" files
- Fetching package metadata
- Package state for APT
- Package state for aptitude
- Maintaining local copies of fetched packages
- Debian package file naming conventions
- Using the dpkg command
- Using the update-alternatives command
- Using the dpkg-statoverride command
- Using the dpkg-divert command
Recovering from a Broken System
- Handling incompatibility with old user configurations
- Managing overlapping files from different packages
- Fixing broken package scripts
- Using dpkg for rescue operations
- Recovering package selection data
Tips for Package Management
- Selecting appropriate Debian packages
- Managing packages from mixed archive sources
- Adjusting candidate versions
- Handling updates and backports
- Automating package downloads and upgrades
- Limiting APT download bandwidth
- Performing emergency downgrades
- Identifying package uploaders
- Using the equivs package
- Porting packages to stable systems
- Configuring a proxy server for APT
- Creating a small public package archive
- Recording and copying system configurations
- Converting or installing alien binary packages
- Extracting packages without dpkg
- Recommended further reading for package management
System Initialization
- Overview of the boot process
- BIOS, boot loaders, and mini-Debian systems
- Understanding runlevels
- Configuring runlevels
- Examples of runlevel management
- Default parameters for each init script
- Setting the hostname
- Managing the file system
- Initializing network interfaces
- Initializing network services
- Viewing system messages
- Viewing kernel messages
- Using the udev system
- Initializing kernel modules
Authentication and Security
- Standard Unix authentication
- Managing account and password information
- Creating strong passwords
- Generating encrypted passwords
- Understanding PAM and NSS
- Configuration files accessed by PAM and NSS
- Modern centralized system management
- Understanding why GNU su does not support the wheel group
- Implementing stricter password rules
- Additional access controls
- Using sudo
- Implementing SELinux and AppArmor
- Restricting access to specific server services
- Ensuring authentication security
- Sending passwords securely over the Internet
- Using Secure Shell
- Additional security measures for the Internet
- Securing the root password
Network Setup
Basic Network Infrastructure
- Understanding domain names
- Hostname resolution
- Naming network interfaces
- Defining LAN network address ranges
- Network device support
Modern Desktop Network Configuration
- Using GUI network configuration tools
Low-Level Network Configuration
- Using iproute2 commands
- Performing safe low-level network operations
Network Optimization
- Finding the optimal MTU
- Setting the MTU
- Optimizing WAN TCP performance
Netfilter Infrastructure
Network Applications
The Mail System
- Fundamentals of modern mail services
- Mail configuration strategies for workstations
Mail Transport Agent (MTA) and Mail User Agent (MUA)
- Overview of exim4
- Basic MUA: Mutt
Mail Delivery Agent (MDA) with Filtering
- Configuring maildrop
- Configuring procmail
- Redelivering mbox contents
POP3/IMAP4 Servers
Remote Access Servers and Utilities (SSH)
- SSH fundamentals
- Setting up port forwarding for SMTP/POP3 tunneling
- Connecting without remote passwords
- Interacting with non-standard SSH clients
- Configuring ssh-agent
- Shutting down remote systems via SSH
- SSH troubleshooting
Other Network Application Servers
Other Network Application Clients
Diagnosing System Daemons
The X Window System
- Setting up the desktop environment
- Understanding the server/client relationship
- Configuring the X server
- Starting the X Window System
- Starting an X session with gdm
- Customizing X sessions (classic method)
- Customizing X sessions (new method)
- Connecting remote X clients via SSH
- Securing X terminals over the Internet
- Using X applications
- X office applications
- X utility applications
System Tips
The Screen Program
- Use cases for screen(1)
- Key bindings for the screen command
Data Recording and Presentation
- Understanding the log daemon
- Using log analyzers
- Cleanly recording shell activities
- Customizing text data display
- Customizing time and date display
- Colorizing shell echo
- Colorizing commands
- Recording editor activities for complex repetitions
- Recording X application graphic images
- Recording changes in configuration files
Data Storage Tips
- Configuring disk partitions
- Accessing partitions using UUID
- Configuring file systems
- Creating and checking file system integrity
- Optimizing file systems via mount options
- Optimizing file systems via superblocks
- Optimizing hard disk performance
- Using SMART to predict hard disk failure
- Expanding storage space via LVM
- Expanding storage space by mounting additional partitions
- Expanding storage space using symlinks
- Expanding storage space using aufs
Data Encryption Tips
- Encrypting removable disks with dm-crypt/LUKS
- Creating encrypted swap partitions with dm-crypt
- Automatically encrypting files with eCryptfs
- Automatically mounting eCryptfs
Monitoring, Controlling, and Starting Program Activities
- Timing a process
- Understanding scheduling priority
- Using the ps command
- Using the top command
- Listing files opened by a process
- Tracing program activities
- Identifying processes using files or sockets
- Repeating commands at constant intervals
- Repeating commands over files
- Starting programs from the GUI
- Customizing startup programs
- Killing a process
- Scheduling one-time tasks
- Scheduling regular tasks
- Using the Alt-SysRq key
System Maintenance Tips
- Identifying logged-in users
- Notifying all users
- Identifying hardware
- Configuring hardware
- Managing system and hardware time
- Configuring terminals
- Setting up the sound infrastructure
- Disabling the screen saver
- Disabling beep sounds
- Monitoring memory usage
- Performing system security and integrity checks
The Kernel
- Understanding kernel parameters
- Understanding kernel headers
- Compiling the kernel and related modules
- Compiling kernel source: Debian standard method
- Compiling module source: Debian standard method
- Handling non-free hardware drivers
Virtualized Systems
- Virtualization tools
- Virtualization workflows
- Mounting virtual disk image files
- Using chroot systems
- Managing multiple desktop systems
Data Management
Sharing, Copying, and Archiving
- Archive and compression tools
- Copy and synchronization tools
- Archive idioms
- Copy idioms
- File selection idioms
- Backup and recovery strategies
- Backup utility suites
- Example script for system backup
- Script for data backup
- Using removable storage devices
- Sharing data via network
- Archive media
Binary Data
- Viewing and editing binary data
- Manipulating files without mounting disk
- Understanding data redundancy
- Data file recovery and forensic analysis
- Splitting large files into smaller ones
- Clearing file contents
- Creating dummy files
- Erasing an entire hard disk
- Erasing unused areas of a hard disk
- Undeleting deleted but still open files
- Searching for all hard links
- Identifying invisible disk space consumption
Data Security Infrastructure
- Key management for GnuPG (signing and encrypting)
- Using MD5 sums
Requirements
No specific prerequisites are required to attend this course.
35 Hours