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
- Understanding the shell prompt
- Using the shell prompt within X environments
- Managing the root account and shell prompt (using su, sudo, and running root-level programs under X)
- Utilizing GUI-based system administration tools
- Navigating virtual consoles
- Exiting the command prompt
- Properly shutting down the system
- Restoring a functional console state
- Recommended packages for beginners
- Setting up an additional user account
- Configuring sudo access
The Filesystem
- Understanding filesystem permissions
- Controlling permissions for new files via umask
- Managing group-based permissions
- Working with file timestamps
- Creating and managing links
- Using named pipes (FIFOs)
- Understanding sockets
- Handling device files
- Working with special device files
- Exploring procfs and sysfs
Midnight Commander (MC)
- Customizing MC settings
- Launching MC
- Using the file manager interface in MC
- Advanced command-line techniques within MC
- Utilizing MC's internal editor
- Utilizing MC's internal viewer
- Leveraging MC's auto-start features
- Using MC's FTP virtual filesystem
The Standard Unix-like Work Environment
- Understanding the login shell
- Customizing the bash shell
- Mastering special keyboard shortcuts
- Using the pager
- Setting a default text editor
- Navigating out of vim
- Logging shell activity
- 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 redirections
- Creating command aliases
Unix-like Text Processing
- Essential Unix text utilities
- Working with regular expressions
- Using replacement expressions
- Performing global substitutions with regular expressions
- Extracting data from text-based tables
- Writing script snippets for command piping
Debian Package Management
Prerequisites for Debian Package Management
- Configuring packages
- Essential precautions
- Managing continuous upgrades
- Understanding the Debian archive structure
- Understanding package dependencies
- Tracking the package management workflow
- Initial responses to package management issues
Core Package Management Operations
- Comparing apt-get/apt-cache vs. aptitude
- Performing basic package management via the command line
- Interactive usage of aptitude
- Mastering aptitude key bindings
- Navigating package views in aptitude
- Search options and methods in aptitude
- Using the aptitude regex formula
- Resolving dependencies with aptitude
- Reviewing package activity logs
Examples of aptitude Operations
- Listing packages using regex matching on package names
- Browsing packages via regex matching
- Completely purging removed packages
- Adjusting auto/manual installation status
- Performing a system-wide upgrade
Advanced Package Management Operations
- Executing advanced package management commands
- Verifying installed package files
- Preventing package-related issues
- Searching package metadata
Internals of Debian Package Management
- Understanding archive metadata
- Analyzing the top-level "Release" file and authenticity
- Examining archive-level "Release" files
- Fetching package metadata
- Understanding package states for APT
- Understanding package states for aptitude
- Managing local copies of fetched packages
- Deciphering Debian package file naming conventions
- Using the dpkg command
- Utilizing the update-alternative command
- Using the dpkg-statoverride command
- Using the dpkg-divert command
Recovering from a Broken System
- Handling incompatibilities with legacy user configurations
- Resolving conflicts from overlapping files in different packages
- Repairing broken package scripts
- Rescuing systems using the dpkg command
- Restoring package selection data
Tips for Package Management
- Selecting appropriate Debian packages
- Managing packages from mixed archive sources
- Adjusting candidate versions
- Navigating updates and backports
- Automating package downloads and upgrades
- Limiting APT download bandwidth
- Performing emergency downgrades
- Identifying package uploaders
- Utilizing the equivs package
- Porting packages to stable systems
- Configuring APT proxy servers
- Managing small public package archives
- Recording and copying system configurations
- Converting or installing alien binary packages
- Extracting packages without dpkg
- Further resources for package management
System Initialization
- Overview of the bootstrapping process
- Understanding BIOS, boot loaders, and mini-Debian systems
- Understanding runlevels
- Configuring runlevels
- Examples of runlevel management
- Default parameters for init scripts
- Configuring the hostname
- Filesystem setup during boot
- Initializing network interfaces
- Initializing network services
- Managing system messages
- Managing kernel messages
- Understanding the udev system
- Initializing kernel modules
Authentication and Security
- Standard Unix authentication mechanisms
- Managing account and password information
- Creating strong passwords
- Generating encrypted passwords
- Understanding PAM and NSS
- Configuration files used by PAM and NSS
- Modern centralized system management
- Understanding GNU su and the wheel group
- Enforcing stricter password policies
- Implementing additional access controls
- Utilizing sudo
- Working with SELinux and AppArmor
- Restricting access to specific server services
- Ensuring authentication security
- Securing password transmission over the Internet
- Using Secure Shell (SSH)
- Implementing extra security measures for Internet exposure
- Securing the root password
Network Setup
Basic Network Infrastructure
- Understanding domain names
- Configuring hostname resolution
- Identifying network interface names
- Defining LAN network address ranges
- Supported network devices
Modern Desktop Network Configuration
- Using GUI network configuration tools
Low-Level Network Configuration
- Using Iproute2 commands
- Performing safe low-level network operations
Network Optimization
- Identifying the optimal MTU
- Configuring MTU settings
- Optimizing WAN TCP performance
Netfilter Infrastructure
Network Applications
Mail Systems
- Basics 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 Server and Utility (SSH)
- SSH fundamentals
- Port forwarding for SMTP/POP3 tunneling
- Connecting without remote passwords
- Managing incompatible SSH clients
- Configuring ssh-agent
- Shutting down remote systems via SSH
- SSH troubleshooting
Other Network Application Servers
Other Network Application Clients
Daemon System Diagnosis
The X Window System
- Setting up the desktop environment
- Understanding the server/client relationship
- Configuring the X server
- Launching the X Window System
- Starting an X session with GDM
- Customizing the X session (classic method)
- Customizing the X session (modern method)
- Connecting remote X clients via SSH
- Using secure X terminals over the Internet
- X applications overview
- 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
- Utilizing the log daemon
- Using log analyzers
- Cleanly recording shell activities
- Customizing text data display
- Customizing time and date display
- Colorizing shell echo output
- Colorizing command outputs
- Recording editor activities for complex repetitions
- Recording graphical images of X applications
- Tracking changes in configuration files
Data Storage Tips
- Configuring disk partitions
- Accessing partitions using UUIDs
- Configuring filesystems
- Creating and checking filesystem integrity
- Optimizing filesystems via mount options
- Optimizing filesystems via superblock adjustments
- Optimizing hard disk performance
- Using SMART to predict hard disk failures
- Expanding usable storage via LVM
- Expanding usable storage by mounting additional partitions
- Expanding usable storage using symlinks
- Expanding usable storage using aufs
Data Encryption Tips
- Encrypting removable disks with dm-crypt/LUKS
- Encrypting swap partitions with dm-crypt
- Automatically encrypting files with eCryptfs
- Automounting eCryptfs
Monitoring, Controlling, and Starting Program Activities
- Timing process execution
- Adjusting scheduling priorities
- 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 while looping over files
- Starting programs from the GUI
- Customizing startup programs
- Killing processes
- Scheduling one-time tasks
- Scheduling recurring tasks
- Using the Alt-SysRq key
System Maintenance Tips
- Identifying logged-in users
- Sending warnings to all users
- Identifying hardware components
- Configuring hardware settings
- Managing system and hardware time
- Configuring terminal settings
- 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
- 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 workflow
- 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 and best practices
- Copy idioms and best practices
- File selection idioms
- Backup and recovery strategies
- Backup utility suites
- Example script for system backup
- Script for data backup copying
- Managing removable storage devices
- Sharing data via network
- Archive media selection
Binary Data
- Viewing and editing binary data
- Manipulating files without mounting disks
- Data redundancy strategies
- Data file recovery and forensic analysis
- Splitting large files into smaller chunks
- Clearing file contents securely
- Creating dummy files
- Erasing an entire hard disk
- Erasing unused areas of a hard disk
- Undeleting files that are deleted but still open
- Searching for all hardlinks
- Accounting for invisible disk space consumption
Data Security Infrastructure
- Key management for GnuPG (signing and encrypting)
- Using MD5 sums
Requirements
No specific prerequisites are required to enroll in this course.
35 Hours