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.
Duration 35 hours (5 days)
Course Outline
Debian Distribution
Introduction to Debian
- Selecting a Debian version
- Debian support and assistance resources
- Overview of the Debian community
Console Fundamentals
- Understanding the shell prompt
- Using the shell prompt within the X environment
- Managing the root account and root shell prompt (su, sudo, executing programs as root under X)
- GUI-based system administration tools
- Navigating virtual consoles
- Exiting the command prompt
- Procedures for shutting down the system
- Restoring a stable console state
- Recommended additional packages for beginners
- Creating additional user accounts
- Configuring sudo
The Filesystem
- Filesystem permission structures
- Controlling permissions for newly created files via umask
- Managing permissions for user groups
- Working with timestamps
- Understanding links
- Utilizing Named pipes (FIFOs)
- Working with sockets
- Device files
- Special device files
- procfs and sysfs concepts
Midnight Commander (MC)
- Customizing MC settings
- Launching MC
- Using the file manager within MC
- Advanced command-line techniques in MC
- Using the internal editor in MC
- Utilizing the internal viewer in MC
- MC auto-start capabilities
- Accessing the FTP virtual filesystem via MC
The Basic Unix-like Working Environment
- Understanding the login shell
- Customizing bash configurations
- Using special key combinations
- Utilizing the pager
- Configuring a default text editor
- Exiting vim effectively
- Recording shell activities
- Essential Unix commands
Simple Shell Commands
- Command execution and environment variables
- Working with the "$LANG" variable
- Understanding the "$PATH" variable
- Using the "$HOME" variable
- 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 tools
- Regular expressions
- Replacement expressions
- Global substitution using regular expressions
- Extracting data from text file tables
- Script snippets for piping commands
Debian Package Management
Prerequisites for Debian Package Management
- Package configuration basics
- Essential precautions
- Managing systems with continuous upgrades
- Debian archive fundamentals
- Understanding package dependencies
- The workflow of package management events
- Initial responses to package management issues
Basic Package Management Operations
- Comparing apt-get/apt-cache with aptitude
- Performing basic package management via the command line
- Interactive usage of aptitude
- Key bindings in aptitude
- Viewing packages in aptitude
- Search options in aptitude
- Using aptitude regex formulas
- Dependency resolution in aptitude
- Reviewing package activity logs
aptitude Operation Examples
- Listing packages using regex matching on names
- Browsing via regex matching
- Permanently purging removed packages
- Organizing auto/manual install statuses
- Performing system-wide upgrades
Advanced Package Management Operations
- Advanced command-line package management
- Verifying installed package files
- Mitigating package-related issues
- Searching package metadata
Internals of Debian Package Management
- Archive metadata structures
- The top-level "Release" file and authenticity verification
- Archive-level "Release" files
- Retrieving package metadata
- Package states in APT
- Package states in aptitude
- Local copies 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
- Addressing incompatibilities with old user configurations
- Resolving file overlaps between different packages
- Fixing broken package scripts
- Rescuing the system using the dpkg command
- Restoring package selection data
Package Management Tips
- Selecting appropriate Debian packages
- Handling packages from mixed archive sources
- Adjusting candidate versions
- Working with 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 foreign binary packages
- Extracting packages without 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
- Example of runlevel management
- Default parameters for init scripts
- Configuring the hostname
- Filesystem mounting during initialization
- Initializing network interfaces
- Initializing network services
- System messages
- Kernel messages
- The udev system
- Kernel module initialization
Authentication and Security
- Standard Unix authentication mechanisms
- Managing account and password data
- Creating strong passwords
- Generating encrypted passwords
- Understanding PAM and NSS
- Configuration files used by PAM and NSS
- Modern centralized system management
- Why GNU su does not support the wheel group
- Enforcing stricter password policies
- Additional access control methods
- Using sudo
- Implementing SELinux and Apparmor
- Restricting access to specific server services
- Securing authentication processes
- Transmitting passwords securely over the internet
- Utilizing Secure Shell (SSH)
- Additional internet security measures
- Protecting the root password
Network Setup
Basic Network Infrastructure
- Domain names
- Hostname resolution
- Naming network interfaces
- Defining LAN network address ranges
- Network device support
Modern Desktop Network Configuration
- Using GUI-based network configuration tools
Low-Level Network Configuration
- Using Iproute2 commands
- Performing safe low-level network operations
Network Optimization
- Determining the optimal MTU
- Setting the MTU
- 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)
- Overview of exim4
- Basics of MUA - Mutt
Mail Delivery Agent (MDA) with Filtering
- 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 external SSH clients
- Setting up ssh-agent
- Shutting down remote systems via SSH
- Troubleshooting SSH connections
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 role
- Launching the X Window System
- Starting X sessions via gdm
- Customizing X sessions (traditional methods)
- Customizing X sessions (modern methods)
- Connecting remote X clients via SSH
- Securing X terminals over the internet
- Overview of 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
- Using the log daemon
- Employing log analyzers
- Cleanly recording shell activities
- Customizing text data display
- Customizing time and date display
- Using colorized shell echo
- Colorizing commands
- Recording editor activities for complex repetitions
- Capturing graphic images of X applications
- Tracking changes in configuration files
Data Storage Tips
- Disk partition configuration
- Accessing partitions using UUIDs
- Filesystem configuration
- Creating filesystems and running integrity checks
- Optimizing filesystems via mount options
- Optimizing filesystems via superblocks
- Hard disk optimization
- Predicting hard disk failures using SMART
- Expanding usable storage space with LVM
- Expanding usable storage space by mounting additional partitions
- Expanding usable storage space using symbolic links
- 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 using eCryptfs
- Automatically mounting 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 specific files or sockets
- Repeating commands at constant intervals
- Looping commands over file sets
- Starting programs from the GUI
- Customizing program startup configurations
- Terminating processes
- Scheduling one-time tasks
- Scheduling regular tasks
- Using the Alt-SysRq key
System Maintenance Tips
- Identifying active users on the system
- Broadcasting warnings to all users
- Hardware identification
- Hardware configuration
- Managing system and hardware time
- Terminal configuration
- Sound infrastructure
- Disabling screen savers
- 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 using Debian standard methods
- Compiling module source using Debian standard methods
- 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 utilities
- Copy and synchronization tools
- Common idioms for archiving
- Common idioms for copying
- Idioms for file selection
- Backup and recovery procedures
- Backup utility suites
- Example scripts for system backup
- Scripts for data backup copying
- Working with removable storage devices
- Sharing data over the network
- Archive media management
Binary Data
- Viewing and editing binary data
- Manipulating files without mounting disks
- Managing data redundancy
- Data file recovery and forensic analysis
- Splitting large files into smaller segments
- Clearing file contents
- Working with 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 hard links
- Identifying invisible disk space consumption
Data Security Infrastructure
- GnuPG key management for signing and encryption
- Using MD5 sums
Requirements
No specific prior requirements are necessary to enroll in this course.