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
What is Debian?
- Selecting the appropriate Debian version
- Debian support resources and community assistance
- Engaging with the Debian community
Console Fundamentals
- Understanding the shell prompt
- Navigating the shell prompt within the X environment
- Managing the root account and root shell prompt (using su, sudo, and running programs as root under X)
- Utilizing GUI system administration tools
- Working with virtual consoles
- Exiting the command prompt properly
- Safely shutting down the system
- Restoring a functional console
- Recommended additional packages for beginners
- Creating an extra user account
- Configuring sudo
Understanding the Filesystem
- Filesystem permission models
- Controlling permissions for new files via umask
- Managing permissions for user groups
- Working with timestamps
- Creating and managing links
- Using named pipes (FIFOs)
- Understanding sockets
- Working with device files
- Special device file types
- Exploring procfs and sysfs
Mastering Midnight Commander (MC)
- Customizing MC settings
- Launching MC
- Using the MC file manager
- Advanced command-line techniques in MC
- Navigating the internal MC editor
- Using the internal MC viewer
- Configuring auto-start features
- Accessing the FTP virtual filesystem in MC
Essential Unix-like Work Environment
- Understanding the login shell
- Customizing bash behavior
- Utilizing special keystrokes
- Employing the pager tool
- Setting a default text editor
- Exiting vim effectively
- Logging shell activities
- Executing basic Unix commands
Basic Shell Commands
- Command execution and environment variables
- The "$LANG" variable
- The "$PATH" variable
- The "$HOME" variable
- Utilizing command line options
- Understanding shell globbing
- Interpreting command return values
- Implementing typical command sequences and shell redirection
- Creating command aliases
Text Processing in Unix-like Systems
- Overview of Unix text processing tools
- Working with regular expressions
- Using replacement expressions
- Performing global substitutions with regular expressions
- Extracting data from text file tables
- Writing script snippets for command piping
Debian Package Management
Prerequisites for Package Management
- Configuring packages
- Essential precautions
- Managing continuous upgrades
- Basics of the Debian archive
- Understanding package dependencies
- Understanding the package management event flow
- Initial troubleshooting for package management issues
Core Package Management Operations
- Comparing apt-get/apt-cache with aptitude
- Performing basic package management operations via command line
- Interactive usage of aptitude
- aptitude key bindings
- Navigating package views in aptitude
- Search method options in aptitude
- Understanding the aptitude regex formula
- Dependency resolution within aptitude
- Reviewing package activity logs
Examples of aptitude Operations
- Listing packages using regex matching on names
- Browsing using regex matching
- Permanently purging removed packages
- Cleaning up auto vs. manual installation statuses
- Performing a system-wide upgrade
Advanced Package Management Operations
- Executing advanced package management operations via command line
- Verifying installed package files
- Establishing safeguards against package issues
- Searching package metadata
Debian Package Management Internals
- Archive metadata structures
- Top-level "Release" file and authenticity checks
- Archive-level "Release" files
- Fetching package metadata
- Package states for APT
- Package states for aptitude
- Managing local copies of fetched packages
- Debian package naming conventions
- Using the dpkg command
- Using the update-alternative command
- Using the dpkg-statoverride command
- Using the dpkg-divert command
Recovery from System Breakage
- Handling incompatibilities with old user configurations
- Resolving conflicts between packages with overlapping files
- Fixing broken package scripts
- Rescuing the system using the dpkg command
- Recovering package selection data
Tips for Effective Package Management
- Selecting appropriate Debian packages
- Handling packages from mixed archive sources
- Adjusting candidate versions
- Managing updates and backports
- Automating package downloads and upgrades
- Limiting APT download bandwidth
- Performing emergency downgrades
- Identifying the package uploader
- Using the equivs package
- Porting packages to stable systems
- Configuring a proxy server for APT
- Utilizing small public package archives
- Recording and copying system configurations
- Converting or installing alien binary packages
- Extracting packages without dpkg
- Further reading for package management
System Initialization
- Overview of the boot strap process
- BIOS, boot loader, and mini-Debian system
- Understanding runlevels
- Configuring runlevels
- Runlevel management examples
- Default parameters for init scripts
- Setting the hostname
- Filesystem initialization
- Network interface initialization
- Network service initialization
- Understanding system messages
- Interpreting kernel messages
- The udev system
- Kernel module initialization
Authentication and Security
- Standard Unix authentication mechanisms
- Managing account and password information
- Best practices for strong passwords
- Creating 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 control measures
- Using sudo
- SELinux and Apparmor
- Restricting access to specific server services
- Authentication security practices
- Secure password transmission over the Internet
- Secure Shell (SSH)
- Additional security measures for the Internet
- Securing the root password
Network Setup
Basic Network Infrastructure
- Managing the domain name
- Hostname resolution
- Network interface naming
- LAN network address ranges
- Network device support
Modern Network Configuration for Desktops
- Using GUI network configuration tools
Low-Level Network Configuration
- Iproute2 commands
- Safe low-level network operations
Network Optimization
- Finding the optimal MTU
- Setting the MTU
- WAN TCP optimization
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 Server
Remote Access Server and Utility (SSH)
- SSH fundamentals
- Port forwarding for SMTP/POP3 tunneling
- Connecting without remote passwords
- Managing incompatible SSH clients
- Setting up 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
- The X server
- Starting the X Window System
- Starting an X session with gdm
- Customizing the X session (classic method)
- Customizing the X session (new method)
- Connecting a remote X client via SSH
- Securing X terminals over the Internet
- 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
- The log daemon
- Log analyzers
- Cleanly recording shell activities
- Customizing text data display
- Customizing time and date display
- Colorized shell echo
- Colorized commands
- Recording editor activities for complex repeats
- Recording the graphic image of an X application
- Recording changes in configuration files
Data Storage Tips
- Disk partition configuration
- Accessing partitions using UUID
- Filesystem configuration
- Filesystem creation and integrity checks
- Filesystem optimization via mount options
- Filesystem optimization via superblock
- Hard disk optimization
- Using SMART to predict hard disk failure
- Expanding usable storage space via LVM
- Expanding usable storage space by mounting another partition
- Expanding usable storage space using symlinks
- Expanding usable 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 a command at constant intervals
- Repeating a command while looping over files
- Starting a program from the GUI
- Customizing startup programs
- Killing a process
- Scheduling one-time tasks
- Scheduling recurring tasks
- Using the Alt-SysRq key
System Maintenance Tips
- Checking who is on the system
- Notifying all users
- Hardware identification
- Hardware configuration
- System and hardware time management
- Terminal configuration
- Sound infrastructure
- Disabling the screen saver
- Disabling beep sounds
- Monitoring memory usage
- System security and integrity checks
The Kernel
- Kernel parameters
- Kernel headers
- Compiling the kernel and related modules
- Compiling the kernel source: Debian standard method
- Compiling module source: Debian standard method
- Non-free hardware drivers
Virtualized Systems
- Virtualization tools
- Virtualization workflow
- Mounting virtual disk image files
- The Chroot system
- Running multiple desktop systems
Data Management
Sharing, Copying, and Archiving
- Archive and compression tools
- Copy and synchronization tools
- Archiving idioms
- Copying idioms
- File selection idioms
- Backup and recovery strategies
- Backup utility suites
- Example script for system backup
- Script for data backup copying
- Removable storage devices
- Sharing data via network
- Archive media
Binary Data
- Viewing and editing binary data
- Manipulating files without mounting the disk
- 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 hardlinks
- Accounting for invisible disk space consumption
Data Security Infrastructure
- Key management for GnuPG (signing and encrypting)
- Using MD5 sums
35 Hours