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 assistance
- Engaging with the Debian community
Console Fundamentals
- Understanding the shell prompt
- Utilizing the shell prompt within the X environment
- Managing the root account and root shell prompt (using su, sudo, and executing programs as root under X)
- GUI-based system administration tools
- Navigating virtual consoles
- Exiting the command prompt correctly
- Properly shutting down the system
- Restoring a functional console
- Recommended additional packages for beginners
- Setting up an extra user account
- Configuring sudo
Filesystem Management
- Understanding filesystem permissions
- Controlling permissions for new files using umask
- Managing permissions for user groups
- Working with timestamps
- Creating and using links
- Understanding named pipes (FIFOs)
- Working with sockets
- Managing device files
- Handling special device files
- Interacting with procfs and sysfs
Midnight Commander (MC)
- Customizing MC settings
- Launching MC
- Navigating the file manager within MC
- Advanced command-line techniques in MC
- Utilizing the built-in text editor
- Utilizing the built-in file viewer
- Configuring MC for automatic startup
- Using MC's FTP virtual filesystem
Basic Unix-like Work Environment
- Configuring the login shell
- Customizing bash
- Using special key combinations
- Utilizing the pager
- Setting a default text editor
- Navigating vim
- Logging shell activities
- Mastering basic Unix commands
Essential Shell Commands
- Command execution and environment variables
- Understanding the "$LANG" variable
- Understanding the "$PATH" variable
- Understanding the "$HOME" variable
- Utilizing command line options
- Using shell globbing
- Interpreting command return values
- Common command sequences and shell redirection
- Creating command aliases
Unix-like Text Processing
- Essential Unix text tools
- Working with 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
Package Management Prerequisites
- Configuring packages
- Essential precautions
- Managing continuous upgrades
- Understanding Debian archive basics
- Understanding package dependencies
- The lifecycle of package management events
- Initial troubleshooting for package management issues
Basic Package Management Operations
- Comparing apt-get/apt-cache vs. aptitude
- Performing basic package management via the command line
- Interactively using aptitude
- Navigating aptitude key bindings
- Exploring package views in aptitude
- Search method options in aptitude
- Understanding the aptitude regex syntax
- Resolving dependencies with aptitude
- Reviewing package activity logs
Aptitude Operation Examples
- Listing packages using regex matching on names
- Browsing packages with regex matching
- Permanently purging removed packages
- Clarifying auto/manual installation status
- Performing system-wide upgrades
Advanced Package Management Operations
- Executing advanced package management commands
- Verifying installed package files
- Implementing safeguards for package issues
- Searching package metadata
Debian Package Management Internals
- Archive metadata structure
- The top-level "Release" file and authenticity verification
- Archive-level "Release" files
- Retrieving package metadata
- Package state management in APT
- Package state management in aptitude
- Managing 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
System Recovery
- Addressing incompatibility with legacy user configurations
- Handling overlapping files in different packages
- Fixing broken package scripts
- Rescuing the system using dpkg
- Recovering package selection data
Package Management Best Practices
- Selecting appropriate Debian packages
- Managing packages from mixed archive sources
- Adjusting candidate versions
- Understanding updates and backports
- Automating package download 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
- Recommended further reading on package management
System Initialization
- Overview of the bootstrapping process
- BIOS, boot loaders, and mini-Debian systems
- Understanding runlevels
- Configuring runlevels
- Examples of runlevel management
- Default parameters for init scripts
- Configuring the hostname
- Filesystem initialization
- Initializing network interfaces
- Initializing network services
- System messages
- Kernel messages
- 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
- Why GNU su does not support the wheel group
- Implementing stricter password rules
- Additional access controls
- Using sudo
- SELinux and AppArmor
- Restricting access to specific server services
- Ensuring authentication security
- Secure password transmission over the Internet
- Using Secure Shell (SSH)
- Implementing extra security measures for the Internet
- Securing the root password
Network Configuration
Basic Network Infrastructure
- Understanding domain names
- Hostname resolution
- Network interface naming
- LAN network address ranges
- Network device support
Modern Desktop Network Configuration
- GUI network configuration tools
Low-Level Network Configuration
- Using Iproute2 commands
- Performing safe low-level network operations
Network Optimization
- Identifying optimal MTU
- Configuring MTU
- Optimizing WAN TCP performance
Netfilter Infrastructure
Network Applications
Mail System
- Modern mail service fundamentals
- Mail configuration strategy for workstations
Mail Transport Agent (MTA) and Mail User Agent (MUA)
- Overview of Exim4
- Basic MUA: Mutt
Mail Delivery Agent (MDA) with Filters
- 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 non-standard SSH clients
- Configuring ssh-agent
- Shutting down remote systems via SSH
- SSH troubleshooting
Other Network Application Servers
Other Network Application Clients
System Daemon Diagnosis
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 (traditional method)
- Customizing the X session (modern 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 repetitions
- Recording the graphical image of an X application
- Recording changes in configuration files
Data Storage Tips
- Disk partition configuration
- Accessing partitions using UUIDs
- Filesystem configuration
- Creating filesystems and performing integrity checks
- Optimizing filesystems via mount options
- Optimizing filesystems via superblocks
- Hard disk optimization
- Using SMART to predict hard disk failure
- Expanding usable storage space via LVM
- Expanding usable storage space by mounting additional partitions
- Expanding usable storage space using symlinks
- Expanding usable storage space using AUFS
Data Encryption Tips
- Encrypting removable disks with dm-crypt/LUKS
- Encrypting swap partitions with dm-crypt
- Automatically encrypting files with eCryptfs
- Automatically mounting eCryptfs
Monitoring, Controlling, and Starting Program Activities
- Timing processes
- Setting 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 program startup
- Killing a process
- Scheduling one-time tasks
- Scheduling recurring tasks
- Using the Alt-SysRq key
System Maintenance Tips
- Identifying logged-in users
- Sending warnings to all users
- Hardware identification
- Hardware configuration
- Setting system and hardware time
- Terminal configuration
- Sound infrastructure setup
- Disabling the screen saver
- Disabling beep sounds
- Monitoring memory usage
- Performing system security and integrity checks
The Kernel
- Kernel parameters
- Kernel headers
- Compiling the kernel and related modules
- Compiling 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
- Using chroot systems
- Managing 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
- 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 disks
- Data redundancy
- Data file recovery and forensic analysis
- Splitting large files into smaller files
- 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
- Managing invisible disk space consumption
Data Security Infrastructure
- Key management for GnuPG (signing and encrypting)
- Using MD5 sums
Requirements
No prerequisites required
35 Hours