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
Course Outline
Debian Distribution
Introduction to Debian
- Selecting the appropriate Debian version
- Accessing Debian support and assistance
- The Debian community
Console Fundamentals
- Understanding the shell prompt
- Shell prompt behavior within the X environment
- Root account management and root shell access (using su, sudo, and executing programs as root under X)
- GUI-based system administration utilities
- Virtual consoles
- Exiting the command prompt
- 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
- Managing permissions for new files via umask
- Group-based permissions
- File timestamps
- Symbolic and hard links
- Named pipes (FIFOs)
- Unix sockets
- Device files
- Special device files
- procfs and sysfs interfaces
Midnight Commander (MC)
- Customizing MC settings
- Launching MC
- Utilizing the MC file manager
- Advanced command-line techniques in MC
- Using the integrated editor in MC
- Using the integrated viewer in MC
- MC auto-start capabilities
- MC's FTP virtual filesystem
The Basic Unix-like Work Environment
- The login shell
- Bash customization
- Special key combinations
- Using the pager
- Setting a default text editor
- Exiting vim
- Logging shell activities
- Essential Unix commands
The Simple Shell Command
- Command execution and environment variables
- "$LANG" variable
- "$PATH" variable
- "$HOME" variable
- Command-line options
- Shell globbing
- Command return values
- Common command sequences and shell redirection
- Command aliases
Unix-like Text Processing
- Unix text manipulation 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
- Basic safety measures
- Managing continuous upgrades
- Debian archive fundamentals
- Package dependencies
- Package management workflow
- Initial steps for resolving package management issues
Basic Package Management Operations
- Comparing apt-get/apt-cache with aptitude
- Executing basic package management via the command line
- Interactive usage of aptitude
- aptitude key bindings
- Package views in aptitude
- Search options in aptitude
- aptitude regular expression formulas
- Dependency resolution in aptitude
- Package activity logs
aptitude Operation Examples
- Listing packages using regex matching on names
- Browsing with regex matching
- Permanently purging removed packages
- Organizing auto/manual install status
- System-wide upgrades
Advanced Package Management Operations
- Advanced package management via command line
- Verifying installed package files
- Preventative measures for package issues
- Searching package metadata
Internals of Debian Package Management
- Archive metadata
- Top-level "Release" files and authenticity
- Archive-level "Release" files
- Fetching package metadata
- Package state in APT
- Package state in aptitude
- Local copies of fetched packages
- Debian package file naming conventions
- The dpkg command
- The update-alternatives command
- The dpkg-statoverride command
- The dpkg-divert command
Recovery from a Broken System
- Issues with old user configurations
- Conflicts from overlapping files in different packages
- Correcting broken package scripts
- Rescue operations using dpkg
- Restoring package selection data
Package Management Tips
- Selecting the right Debian packages
- Packages from mixed archive sources
- Adjusting candidate versions
- Handling Updates and Backports
- Automating package downloads and upgrades
- Limiting APT download bandwidth
- Emergency downgrades
- Identifying package uploaders
- The equivs package
- Porting packages to stable systems
- APT proxy servers
- Setting up small public package archives
- Recording and copying system configurations
- Converting or installing alien binary packages
- Extracting packages without dpkg
- Further reading on package management
System Initialization
- Overview of the bootstrapping process
- BIOS, boot loaders, and mini-Debian systems
- The concept of runlevels
- Configuring runlevels
- Example runlevel management
- Default parameters for init scripts
- Hostname configuration
- Filesystem mounts
- Network interface initialization
- Network service initialization
- System messages
- Kernel messages
- The udev system
- Kernel module initialization
Authentication and Security
- Standard Unix authentication
- Managing account and password details
- Crafting strong passwords
- Creating encrypted passwords
- 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 controls
- Using sudo
- SELinux and AppArmor
- Restricting access to specific server services
- Authentication security
- Securing passwords over the Internet
- Secure Shell (SSH)
- Additional Internet security measures
- Securing the root password
Network Setup
Basic Network Infrastructure
- Domain names
- Hostname resolution
- Network interface naming
- LAN network address ranges
- Network device support
Modern Network Configuration for Desktops
- GUI network configuration tools
Low-Level Network Configuration
- Iproute2 commands
- Safe low-level network operations
Network Optimization
- Finding the optimal MTU
- Configuring MTU
- WAN TCP optimization
Netfilter Infrastructure
Network Applications
The Mail System
- Fundamentals of modern mail services
- Mail configuration strategies for workstations
Mail Transfer 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
- Handling non-standard SSH clients
- Configuring 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
- 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
- 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 X application graphics
- Tracking changes in configuration files
Data Storage Tips
- Disk partition configuration
- Accessing partitions using UUID
- Filesystem configuration
- Filesystem creation and integrity checks
- Optimizing filesystems via mount options
- Optimizing filesystems via superblock
- Hard disk optimization
- Predicting hard disk failures using SMART
- Expanding storage space via LVM
- Expanding storage space by mounting additional partitions
- Expanding storage space using symlinks
- Expanding storage space using aufs
Data Encryption Tips
- Encrypting removable disks with dm-crypt/LUKS
- Encrypting swap partitions with dm-crypt
- Automatic file encryption with eCryptfs
- Automatically mounting eCryptfs
Monitoring, Controlling, and Starting Program Activities
- Timing processes
- Scheduling priorities
- The ps command
- 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 in loops over files
- Launching programs from the GUI
- Customizing programs to start
- Terminating processes
- One-time task scheduling
- Regular task scheduling
- Alt-SysRq key
System Maintenance Tips
- Identifying active users
- Warning all users
- Hardware identification
- Hardware configuration
- System and hardware time synchronization
- Terminal configuration
- Sound infrastructure
- Disabling screensavers
- Disabling beep sounds
- Memory usage analysis
- 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
- Chroot systems
- 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 system backup script
- Data backup copy script
- 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
- Clearing file contents
- Dummy files
- Erasing an entire hard disk
- Erasing unused hard disk areas
- Undeleting open but deleted files
- Finding all hardlinks
- Invisible disk space consumption
Data Security Infrastructure
- GnuPG key management (signing and encryption)
- MD5 checksums
Requirements
No specific prior requirements are necessary to enroll in this course.