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
Understanding Debian
- Selecting a Debian release
- Accessing Debian support and assistance
- Engaging with the Debian community
Console fundamentals
- The shell prompt interface
- Using the shell prompt within X
- Root account management and root shell access (su, sudo, executing programs as root under X)
- GUI-based system administration utilities
- Virtual console management
- Exiting the command prompt
- Shutting down the system properly
- Restoring a functional console
- Recommended additional packages for beginners
- Creating an additional user account
- Configuring sudo
Filesystem architecture
- Filesystem permission structures
- Controlling permissions for new files: umask
- Group-based user permissions
- Timestamp management
- Symbolic and hard links
- Named pipes (FIFOs)
- Sockets
- Device files
- Special device files
- procfs and sysfs interfaces
Midnight Commander (MC)
- Customizing MC settings
- Launching MC
- Utilizing the MC file manager
- Command-line shortcuts in MC
- Using the built-in MC editor
- Using the built-in MC viewer
- MC auto-start capabilities
- MC's FTP virtual filesystem
Foundational Unix-like environment
- The login shell
- Tailoring bash configuration
- Special keystrokes
- The pager utility
- Setting a default text editor
- Exiting vim
- Recording shell session activities
- Essential Unix commands
Basic shell command mechanics
- Command execution and environment variables
- The "$LANG" variable
- The "$PATH" variable
- The "$HOME" variable
- Command line options
- Shell globbing
- Command return values
- Common command sequences and shell redirection
- Command aliases
Unix-style text processing
- Unix text utilities
- Regular expressions
- Replacement patterns
- Global substitution using regular expressions
- Extracting data from text file tables
- Script snippets for piping commands
Debian package administration
Prerequisites for Debian package management
- Package configuration
- Essential precautions
- Managing continuous upgrades
- Basics of the Debian archive
- Package dependencies
- Workflow of package management
- Initial steps to resolve package management issues
Core package management tasks
- apt-get/apt-cache vs. aptitude
- Basic package operations via command line
- Interactive aptitude usage
- aptitude key bindings
- Package views in aptitude
- Search options in aptitude
- aptitude regular expression formulas
- aptitude dependency resolution
- Package activity logs
aptitude operation examples
- Listing packages using regex name matching
- Browsing with regex matching
- Permanently purging removed packages
- Organizing auto/manual install status
- System-wide upgrades
Advanced package management tasks
- Advanced package operations via command line
- Verifying installed package files
- Mitigating package issues
- Searching package metadata
Internal mechanisms of Debian package management
- Archive metadata
- Top-level "Release" file 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
Recovering from a compromised system
- Handling old user configuration incompatibilities
- Resolving file overlaps between different packages
- Fixing broken package scripts
- Using dpkg for system rescue
- Restoring package selection data
Package management best practices
- Selecting Debian packages effectively
- Handling packages from mixed archive sources
- Adjusting candidate versions
- Updates and Backports
- Automatic package download and upgrade
- Limiting APT download bandwidth
- Emergency package downgrading
- Identifying package uploaders
- The equivs package
- Porting packages to the stable system
- Using a proxy server for APT
- Small public package archives
- Recording and duplicating system configurations
- Converting or installing foreign binary packages
- Extracting packages without dpkg
- Additional resources for package management
System initialization
- Overview of the boot strap process
- BIOS, boot loader, and mini-Debian system
- Understanding runlevels
- Configuring runlevels
- Runlevel management examples
- Default parameters for each init script
- Hostname configuration
- Filesystem setup
- 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 data
- 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"
- Strict password policies
- Additional access controls
- sudo usage
- SELinux, AppArmor
- Restricting access to specific server services
- Authentication security
- Secure password transmission over the Internet
- Secure Shell (SSH)
- Additional internet security measures
- Securing the root password
Network configuration
Foundational 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
- WAN TCP optimization
Netfilter infrastructure
Network applications
Mail systems
- 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 filtering
- maildrop configuration
- procmail configuration
- 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
- Setting up ssh-agent
- Shutting down remote systems via SSH
- Troubleshooting SSH
Other network application servers
Other network application clients
Diagnosing system daemons
The X Window System
- Setting up the desktop environment
- Server/client relationship
- The X server
- Launching 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
- Secure X terminal access via 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
- Capturing graphical images of X applications
- Tracking changes in configuration files
Data storage tips
- Disk partition configuration
- Accessing partitions using UUID
- Filesystem configuration
- Creating filesystems and checking integrity
- Filesystem optimization via mount options
- Filesystem optimization via superblock
- Hard disk optimization
- Predicting hard disk failure using SMART
- Expanding usable storage space via LVM
- Expanding usable storage space by mounting another partition
- Expanding usable storage space using symlinks
- Expanding usable storage space using aufs
Data encryption tips
- Removable disk encryption with dm-crypt/LUKS
- Encrypted swap partition with dm-crypt
- Automatically encrypting files with eCryptfs
- Automatically mounting eCryptfs
Monitoring, controlling, and initiating program activities
- Timing a process
- Scheduling priority
- The ps command
- The top command
- Listing files opened by a process
- Tracing program activities
- Identifying processes using files or sockets
- Repeating a command at a constant interval
- Repeating a command by looping over files
- Launching a program from the GUI
- Customizing programs to be started
- Terminating a process
- Scheduling one-time tasks
- Scheduling recurring tasks
- Alt-SysRq key
System maintenance tips
- Checking who is on the system
- Broadcasting warnings to all users
- Hardware identification
- Hardware configuration
- System and hardware time
- Terminal configuration
- Sound infrastructure
- Disabling the screen saver
- Disabling beep sounds
- Memory usage
- System security and integrity checks
The kernel
- Kernel parameters
- Kernel headers
- Compiling the kernel and related modules
- Compiling the 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 system
- Multiple desktop systems
Data management
Sharing, copying, and archiving
- Archive and compression tools
- Copy and synchronization tools
- Archive idioms
- Copy 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 ones
- Clearing file contents
- Creating dummy files
- Erasing an entire hard disk
- Erasing unused areas of a hard disk
- Undeleting deleted but still open files
- Finding all hard links
- Invisible disk space consumption
Data security infrastructure
- Key management for GnuPG (signing and encryption)
- MD5 checksums
Requirements
No particular prerequisites are necessary for participation in this course.