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 a Debian version
- Debian support and assistance
- The Debian community
Console fundamentals
- The shell prompt
- The shell prompt within the X environment
- Root account and root shell prompt (su, sudo, executing programs as root under X)
- Graphical system administration tools
- Virtual consoles
- Exiting the command prompt
- Shutting down the system
- Restoring a functional console
- Additional package recommendations for beginners
- Creating an additional user account
- Configuring sudo
The filesystem
- Filesystem permissions
- Controlling permissions for new files: umask
- Permissions for user groups
- Timestamps
- Symlinks and hard links
- Named pipes (FIFOs)
- Sockets
- Device files
- Special device files
- procfs and sysfs
Midnight Commander (MC)
- Customizing MC
- Launching MC
- The file manager within MC
- Command-line techniques in MC
- The built-in editor in MC
- The built-in viewer in MC
- MC auto-start capabilities
- MC's FTP virtual filesystem
The fundamental Unix-like work environment
- The login shell
- Customizing bash
- 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
- 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-like text processing
- Unix text utilities
- Regular expressions
- Replacement patterns
- Global substitution using regular expressions
- Extracting data from tabular text files
- Script snippets for command piping
Debian package management
Prerequisites for Debian package management
- Package configuration
- Basic precautions
- Managing continuous upgrades
- Basics of Debian archives
- Package dependencies
- The workflow of package management
- Initial steps for resolving package management issues
Fundamental package management operations
- apt-get/apt-cache vs. aptitude
- Basic package management via the command line
- Interactive use of aptitude
- aptitude key bindings
- Package views in aptitude
- Search options in aptitude
- The aptitude regex formula
- aptitude dependency resolution
- Package activity logs
Examples of aptitude operations
- Listing packages with regex matching on names
- Browsing with regex matching
- Completely purging removed packages
- Organizing auto/manual install status
- System-wide upgrades
Advanced package management operations
- Advanced package management via the command line
- Verifying installed package files
- Mitigating package issues
- Searching package metadata
Internals 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 downloaded packages
- Debian package file naming conventions
- The dpkg command
- The update-alternatives command
- The dpkg-statoverride command
- The dpkg-divert command
Recovering from a broken system
- Incompatibility with legacy user configurations
- Conflicts from overlapping package files
- Repairing broken package scripts
- Rescue using the dpkg command
- Restoring package selection data
Package management tips
- Selecting appropriate Debian packages
- Packages from mixed archive sources
- Adjusting candidate versions
- Updates and Backports
- Automated package download and upgrade
- Limiting APT download bandwidth
- Emergency downgrading
- Identifying package uploaders
- The equivs package
- Porting packages to stable systems
- Configuring an APT proxy server
- Setting up a small public package archive
- 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 bootstrap process
- BIOS, boot loader, and mini-Debian systems
- The concept of runlevels
- Configuring runlevels
- Examples of runlevel management
- Default parameters for init scripts
- Hostname configuration
- Filesystem configuration
- 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
- Constructing strong passwords
- Creating encrypted passwords
- PAM and NSS
- Configuration files used by PAM and NSS
- Modern centralized system administration
- Why GNU su does not support the wheel group
- Implementing stricter password policies
- Other access control mechanisms
- sudo usage
- 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
Fundamental network infrastructure
- Domain names
- Hostname resolution
- Network interface naming
- LAN network address ranges
- Network device support
Modern desktop network configuration
- Graphical network configuration tools
Low-level network configuration
- Iproute2 commands
- Safe low-level network operations
Network optimization
- Determining the optimal MTU
- Setting the MTU
- WAN TCP optimization
Netfilter infrastructure
Network applications
The mail system
- Fundamentals of modern mail services
- Mail configuration strategies for workstations
Mail transport agents (MTA) and Mail user agents (MUA)
- Overview of exim4
- Basic MUA - Mutt
Mail delivery agents (MDA) with filters
- maildrop configuration
- procmail configuration
- Redelivering mbox contents
POP3/IMAP4 server
Remote access servers 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
- 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
- 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
- Secure 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
- Customized text data display
- Customized time and date display
- Colorized shell echo
- Colorized commands
- Recording editor activities for complex repetitions
- Recording graphic images of X applications
- Logging changes in configuration files
Data storage tips
- Disk partition configuration
- Accessing partitions via UUID
- Filesystem configuration
- Filesystem creation and integrity checks
- Filesystem optimization via mount options
- Filesystem optimization via superblock
- Hard disk optimization
- Predicting hard disk failure using SMART
- Expanding usable storage space with 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
- Automatically encrypting files with eCryptfs
- Automatically mounting eCryptfs
Monitoring, controlling, and initiating 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 across files in a loop
- Launching programs from the GUI
- Customizing programs to be started
- Terminating processes
- Scheduling one-time tasks
- Scheduling regular tasks
- The Alt-SysRq key
System maintenance tips
- Identifying active users on the system
- Warning all users
- Hardware identification
- Hardware configuration
- System and hardware time synchronization
- Terminal configuration
- Sound infrastructure
- Disabling the screen saver
- Disabling beep sounds
- Memory usage analysis
- System security and integrity checks
The kernel
- Kernel parameters
- Kernel headers
- Compiling the kernel and associated modules
- Compiling kernel sources: Debian standard method
- Compiling module sources: Debian standard method
- Non-free hardware drivers
Virtualized systems
- Virtualization tools
- Virtualization workflows
- 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 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
- 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
- Invisible disk space consumption
Data security infrastructure
- Key management for GnuPG (signing and encryption)
- MD5 checksums
Requirements
No specific prerequisites are required to enroll in this course.
35 Hours