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 a Debian version
- Debian support resources and assistance
- The Debian community
Console fundamentals
- Understanding the shell prompt
- Using the shell prompt within the X environment
- Root account access and the root shell prompt (su, sudo, executing programs as root in X)
- GUI-based system administration tools
- Virtual consoles
- Exiting the command prompt
- System shutdown procedures
- Restoring a functional console state
- Recommended additional packages for beginners
- Creating an additional user account
- Configuring sudo
The filesystem
- Filesystem permission controls
- Managing permissions for new files via umask
- Group-based permissions
- Timestamps
- Symbolic and hard links
- Named pipes (FIFOs)
- Sockets
- Device files
- Special device files
- The procfs and sysfs virtual filesystems
Midnight Commander (MC)
- Customizing MC
- Launching MC
- Using the file manager in MC
- Command-line shortcuts within MC
- The built-in editor in MC
- The built-in viewer in MC
- MC auto-start capabilities
- The FTP virtual filesystem in MC
Essential Unix-like work environment
- Understanding the login shell
- Customizing bash
- Special key combinations
- Using the pager
- Setting a default text editor
- Exiting vim
- Logging shell activities
- Essential Unix commands
Basic shell commands
- Command execution and environment variables
- The "$LANG" variable
- The "$PATH" variable
- The "$HOME" variable
- Command-line options
- Shell globbing
- Command return values
- Standard command sequences and shell redirection
- Command aliases
Unix-like text processing
- Unix text utilities
- Regular expressions
- Replacement patterns
- Global substitution using regular expressions
- Extracting data from text file tables
- Script snippets for command piping
Debian package management
Prerequisites for Debian package management
- Package configuration
- Basic safety precautions
- Managing continuous upgrades
- Debian archive fundamentals
- Package dependencies
- The workflow of package management events
- Initial troubleshooting for package management issues
Essential package management tasks
- Comparing apt-get/apt-cache with aptitude
- Basic package management via the command line
- Interactive use 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 packages with regex matching
- Permanently purging removed packages
- Managing auto/manual install status
- System-wide upgrades
Advanced package management tasks
- Advanced package management via command line
- Verifying installed package files
- Mitigating package issues
- Searching package metadata
Internals of Debian package management
- Archive metadata
- The top-level "Release" file and authenticity
- Archive-level "Release" files
- Fetching package metadata
- Package state in APT
- Package state in aptitude
- Local caching of downloaded packages
- Debian package naming conventions
- The dpkg command
- The update-alternatives command
- The dpkg-statoverride command
- The dpkg-divert command
Recovering from system breakage
- Resolving incompatibilities with old user configurations
- Handling packages with overlapping files
- Fixing broken package scripts
- Rescue operations using dpkg
- Restoring package selection data
Package management tips
- Criteria for selecting Debian packages
- Using packages from mixed archive sources
- Adjusting candidate versions
- Managing updates and Backports
- Automated package download and upgrade
- Limiting APT download bandwidth
- Emergency package downgrades
- Identifying package uploaders
- Using the equivs package
- Porting packages to stable systems
- Configuring a proxy server for APT
- Setting up a small public package archive
- Recording and replicating 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
- Runlevel management examples
- Default parameters for init scripts
- Hostname configuration
- Filesystem mounting
- Network interface initialization
- Network service startup
- System messages
- Kernel messages
- The udev system
- Kernel module initialization
Authentication and Security
- Standard Unix authentication
- Managing account and password details
- Creating strong passwords
- Generating encrypted passwords
- PAM and NSS frameworks
- Configuration files for 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 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 desktop network configuration
- GUI-based network configuration tools
Low-level network configuration
- Iproute2 commands
- Safe low-level network operations
Network optimization
- Determining optimal MTU
- Setting MTU values
- WAN TCP optimization
Netfilter infrastructure
Network applications
The mail system
- Modern mail service basics
- Mail configuration strategy for workstations
Mail transport agent (MTA) and Mail user agent (MUA)
- Overview of exim4
- Basic MUA usage with Mutt
Mail delivery agent (MDA) with filters
- Configuring maildrop
- Configuring procmail
- Redelivering mbox contents
POP3/IMAP4 servers
Remote access servers and utilities (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
Diagnosing system daemons
The X Window System
- Setting up the desktop environment
- The server/client relationship
- The X server
- Starting the X Window System
- Starting X sessions with gdm
- Customizing X sessions (classic 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 command output
- Recording editor activities for complex repetitions
- Capturing graphical images of X applications
- Tracking changes in configuration files
Data storage tips
- Disk partition configuration
- Accessing partitions using UUID
- Filesystem configuration
- Filesystem creation and integrity checks
- Filesystem optimization via mount options
- Filesystem optimization via superblocks
- Hard disk optimization
- Using SMART to predict hard disk failures
- Expanding usable storage space with 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
- Automatically encrypting files 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 processes
- Tracing program activities
- Identifying processes using files or sockets
- Executing commands at constant intervals
- Executing commands in loops over files
- Starting programs from the GUI
- Customizing startup programs
- Terminating processes
- Scheduling one-time tasks
- Scheduling recurring tasks
- The Alt-SysRq key
System maintenance tips
- Identifying logged-in users
- Broadcasting system warnings
- Hardware identification
- Hardware configuration
- System and hardware time synchronization
- Terminal configuration
- The sound infrastructure
- Disabling screen savers
- 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 workflows
- Mounting virtual disk image files
- The Chroot system
- 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
- System backup script examples
- Data backup copy scripts
- Removable storage devices
- Sharing data over the 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 chunks
- Clearing file contents
- Creating dummy files
- Erasing entire hard disks
- Erasing unused hard disk areas
- Undeleting deleted but still open files
- Finding all hard links
- Identifying invisible disk space consumption
Data security infrastructure
- GnuPG key management (signing and encryption)
- MD5 checksums
Requirements
Participants are not required to have specific prior experience or prerequisites to enroll in this course.