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
The Debian Distribution
Understanding Debian
- Selecting a Debian release
- Accessing Debian support and assistance
- The Debian community ecosystem
Console Fundamentals
- Working with the shell prompt
- The shell prompt in X environments
- Managing root access: root shell prompt (su, sudo, executing programs as root in X)
- GUI-based system administration utilities
- Switching between virtual consoles
- Exiting the command prompt
- Shutting down the system properly
- Restoring a responsive console state
- Recommended additional packages for beginners
- Creating secondary user accounts
- Configuring sudo permissions
The Filesystem
- Managing filesystem permissions
- Controlling default permissions for new files via umask
- Group-based permission management
- File timestamps
- Hard and symbolic links
- Named pipes (FIFOs)
- Network sockets
- Standard device files
- Special device files
- procfs and sysfs interfaces
Midnight Commander (MC)
- Customizing MC settings
- Launching MC
- Using the file manager within MC
- Command-line shortcuts in MC
- Editing text with MC’s internal editor
- Viewing files with MC’s internal viewer
- Automating tasks with MC’s auto-start features
- Accessing FTP via MC’s virtual filesystem
The Basic Unix-like Work Environment
- The login shell
- Tailoring bash behavior
- Using special keyboard shortcuts
- Navigating with the pager
- Setting a default text editor
- Exiting vim effectively
- Logging shell session activities
- Essential Unix commands
The Simple Shell Command
- Executing commands and using environment variables
- The "$LANG" variable
- The "$PATH" variable
- The "$HOME" variable
- Using command-line options
- Shell globbing patterns
- Interpreting command return values
- Common command sequences and shell redirection
- Creating command aliases
Unix-like Text Processing
- Essential Unix text utilities
- Using regular expressions
- Working with replacement expressions
- Performing global substitutions with regex
- Extracting data from tabular text files
- Writing script snippets for command piping
Debian Package Management
Prerequisites for Debian Package Management
- Configuring packages
- Basic safety precautions
- Living with continuous upgrades
- Basics of Debian archives
- Understanding package dependencies
- The workflow of package management events
- Initial steps to resolve package management issues
Basic Package Management Operations
- Comparing apt-get/apt-cache vs. aptitude
- Performing basic operations via the command line
- Interactive usage of aptitude
- Key shortcuts for aptitude
- Browsing package views in aptitude
- Search options in aptitude
- Using regex formulas in aptitude
- Resolving dependencies with aptitude
- Reviewing package activity logs
Examples of aptitude Operations
- Listing packages using regex name matching
- Browsing with regex-based filtering
- Permanently purging removed packages
- Organizing auto vs. manual installation statuses
- Executing a system-wide upgrade
Advanced Package Management Operations
- Advanced command-line package operations
- Verifying installed package files
- Protecting the system from package-related issues
- Searching package metadata
Debian Package Management Internals
- Understanding archive metadata
- Top-level "Release" files and authenticity verification
- Archive-level "Release" files
- Fetching package metadata
- Package state management in APT
- Package state management in aptitude
- Local caching of downloaded packages
- Debian package file naming conventions
- Using the dpkg command
- Using the update-alternative command
- Using the dpkg-statoverride command
- Using the dpkg-divert command
Recovering from a Broken System
- Handling incompatibilities with old user configurations
- Resolving file conflicts between packages
- Fixing broken package scripts
- Rescuing the system using dpkg
- Restoring package selection data
Tips for Package Management
- How to select Debian packages
- Managing 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 package uploaders
- Using the equivs package
- Porting packages to stable systems
- Configuring a proxy server for APT
- Setting up small public package archives
- Recording and duplicating system configurations
- Converting or installing alien binary packages
- Extracting packages without using dpkg
- Further reading on package management
System Initialization
- Overview of the boot strap process
- BIOS, boot loaders, and mini-Debian systems
- Understanding runlevels
- Configuring runlevels
- Examples of runlevel management
- Default parameters for init scripts
- Setting the hostname
- Filesystem initialization
- Network interface setup
- Network service startup
- Processing system messages
- Reading kernel messages
- The udev system
- Initializing kernel modules
Authentication and Security
- Standard Unix authentication methods
- Managing account and password details
- Creating strong passwords
- Generating encrypted passwords
- Working with PAM and NSS
- Configuring files used by PAM and NSS
- Implementing modern centralized system management
- "Why GNU su does not support the wheel group"
- Enforcing stricter password policies
- Implementing other access controls
- Using sudo effectively
- Applying SELinux and Apparmor
- Restricting access to specific server services
- Enhancing authentication security
- Transmitting passwords securely over the Internet
- Using Secure Shell (SSH)
- Additional security measures for Internet connections
- Securing the root password
Network Setup
Basic Network Infrastructure
- Domain names
- Hostname resolution
- Naming network interfaces
- Defining LAN network address ranges
- Network device support
Modern Network Configuration for Desktops
- Using GUI network configuration tools
Low-Level Network Configuration
- Using Iproute2 commands
- Performing safe low-level network operations
Network Optimization
- Determining optimal MTU
- Configuring MTU settings
- Optimizing TCP for WAN connections
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)
- Introduction to exim4
- Using Mutt as a basic MUA
Mail Delivery Agent (MDA) with Filters
- Configuring maildrop
- Configuring procmail
- Redelivering mbox contents
POP3/IMAP4 Server
Remote Access Server and Utilities (SSH)
- SSH fundamentals
- Port forwarding for SMTP/POP3 tunneling
- Connecting without remote passwords
- Handling non-standard SSH clients
- Setting up ssh-agent
- Shutting down remote systems via SSH
- Diagnosing SSH issues
Other Network Application Servers
Other Network Application Clients
Diagnosing System Daemons
The X Window System
- Setting up the desktop environment
- Understanding server/client relationships
- The X server
- Launching the X Window System
- Starting X sessions with gdm
- Customizing X sessions (traditional method)
- Customizing X sessions (modern method)
- Connecting remote X clients via SSH
- Using secure X terminals over the Internet
- X-based applications
- X office suite applications
- X utility applications
System Tips
The Screen Program
- Use cases for screen(1)
- Key bindings for the screen command
Data Recording and Presentation
- Using the log daemon
- Analyzing logs
- Cleanly recording shell activities
- Customizing text data display
- Customizing time and date display
- Using colorized shell echo
- Colorizing command outputs
- Recording editor actions for complex repetitions
- Capturing graphics from X applications
- Tracking changes in configuration files
Data Storage Tips
- Configuring disk partitions
- Accessing partitions using UUID
- Filesystem configuration
- Creating and checking filesystem integrity
- Optimizing filesystems via mount options
- Optimizing filesystems via superblock settings
- Hard disk optimization
- Predicting hard disk failures using SMART
- Expanding storage space using LVM
- Expanding storage by mounting additional partitions
- Expanding storage using symbolic links
- Expanding storage using aufs
Data Encryption Tips
- Encrypting removable disks with dm-crypt/LUKS
- Encrypting swap partitions with dm-crypt
- Automatic file encryption using eCryptfs
- Automatic mounting of eCryptfs volumes
Monitoring, Controlling, and Starting Program Activities
- Timing processes
- Managing 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
- Looping commands over files
- Launching programs from the GUI
- Customizing startup programs
- Terminating processes
- Scheduling one-time tasks
- Scheduling recurring tasks
- Using the Alt-SysRq key
System Maintenance Tips
- Identifying users on the system
- Issuing system-wide warnings
- Identifying hardware
- Configuring hardware
- Managing system and hardware time
- Terminal configuration
- Sound infrastructure setup
- Disabling screen savers
- Disabling beep sounds
- Monitoring memory usage
- Checking system security and integrity
The Kernel
- Kernel parameters
- Kernel headers
- Compiling the kernel and related modules
- Compiling kernel source: Debian standard method
- Compiling module source: Debian standard method
- Installing 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
- Common idioms for archiving
- Common idioms for copying
- Common idioms for file selection
- Backup and recovery procedures
- Backup utility suites
- Example script for system backup
- Script for data backup copying
- Managing removable storage devices
- Sharing data over the network
- Using archive media
Binary Data
- Viewing and editing binary data
- Manipulating files without mounting disks
- Data redundancy
- Data file recovery and forensic analysis
- Splitting large files into smaller chunks
- Clearing file contents
- Creating dummy files
- Erasing an entire hard disk
- Erasing unused areas of a hard disk
- Recovering deleted but still open files
- Finding all hardlinks
- Identifying hidden disk space consumption
Data Security Infrastructure
- GnuPG key management (signing and encryption)
- Calculating MD5 sums
Requirements
No prior specific requirements are necessary for participation in this course.
35 Hours