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 release
- Debian support and assistance resources
- The Debian community
Console Fundamentals
- Understanding the shell prompt
- The shell prompt within an X environment
- Managing the root account and root shell (su, sudo, running applications as root under X)
- Graphical system administration utilities
- Virtual consoles
- Exiting the command prompt
- Shutting down the system
- Restoring a responsive console
- Recommended packages for beginners
- Creating additional user accounts
- Configuring sudo
The File System
- File system permissions
- Controlling permissions for new files using umask
- Group permissions
- File timestamps
- Symbolic and hard links
- Named pipes (FIFOs)
- Network sockets
- Device files
- Special device files
- procfs and sysfs interfaces
Midnight Commander (MC)
- Customising MC settings
- Launching MC
- Using the file manager in MC
- Command-line shortcuts within MC
- Using the internal editor in MC
- Using the internal viewer in MC
- MC auto-start features
- MC's FTP virtual file system
The Fundamental Unix-like Work Environment
- The login shell
- Customising 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
- Common command sequences and shell redirection
- Command aliases
Unix-like Text Processing
- Unix text manipulation tools
- Regular expressions
- Replacement patterns
- Global substitution using regular expressions
- Extracting data from text-based tables
- Script snippets for piping commands
Debian Package Management
Prerequisites for Debian Package Management
- Package configuration
- Basic safety precautions
- Managing continuous upgrades
- Debian archive fundamentals
- Package dependencies
- The package management workflow
- Initial troubleshooting for package issues
Basic Package Management Operations
- Comparison of apt-get/apt-cache vs. aptitude
- Essential package operations via command line
- Interactive use of aptitude
- aptitude key bindings
- Package views in aptitude
- Search options with aptitude
- Using aptitude regular expressions
- Dependency resolution in aptitude
- Package activity logs
Examples of aptitude Operations
- Listing packages with regular expression name matching
- Browsing using regular expression matches
- Completely purging removed packages
- Managing auto/manual install statuses
- Performing system-wide upgrades
Advanced Package Management Operations
- Advanced command-line package operations
- Verifying installed package files
- Protecting against package conflicts
- Searching package metadata
Debian Package Management Internals
- Archive metadata structure
- Top-level "Release" file and authenticity verification
- Archive-level "Release" files
- Fetching package metadata
- Package state in APT
- Package state in aptitude
- Local cache 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
- Handling incompatibility with legacy user configurations
- Resolving file overlaps between different packages
- Fixing broken package scripts
- Rescue operations using dpkg
- Restoring package selection data
Tips for Package Management
- Selecting appropriate Debian packages
- Using packages from mixed archive sources
- Adjusting candidate versions
- Updates and Backports
- Automatic downloading and upgrading of packages
- Limiting APT download bandwidth
- Emergency downgrading procedures
- Identifying package uploaders
- The equivs package utility
- Porting packages to the stable release
- Configuring a proxy server for APT
- Creating a small public package archive
- Recording and copying system configurations
- Converting or installing alien binary packages
- Extracting package contents without dpkg
- Further reading on package management
System Initialisation
- Overview of the bootstrapping process
- BIOS, boot loader, and the mini-Debian system
- Understanding runlevels
- Configuring runlevels
- Runlevel management examples
- Default parameters for init scripts
- Hostname configuration
- File system mounting during boot
- Network interface initialisation
- Network service initialisation
- System messaging
- Kernel messaging
- The udev system
- Kernel module initialisation
Authentication and Security
- Standard Unix authentication
- Managing account and password data
- Creating strong passwords
- Generating encrypted passwords
- PAM and NSS frameworks
- Configuration files used by PAM and NSS
- Modern centralised system management
- Why GNU su does not support the wheel group
- Enforcing stricter password rules
- Additional access controls
- Sudo configuration
- SELinux and 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
Basic Network Infrastructure
- Domain names
- Hostname resolution
- Network interface naming
- LAN network address ranges
- Network device support
Modern Network Configuration for Desktops
- GUI-based network configuration tools
Low-Level Network Configuration
- Iproute2 commands
- Safe low-level network operations
Network Optimisation
- Determining the optimal MTU
- Setting MTU values
- WAN TCP optimisation
Netfilter Infrastructure
Network Applications
The Mail System
- Fundamentals of modern mail services
- 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 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
- Interacting with non-standard SSH clients
- Setting up ssh-agent
- Shutting down the remote system 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
- The server/client relationship
- The X server
- Starting the X Window System
- Starting an X session with gdm
- Customising the X session (traditional method)
- Customising the X session (modern method)
- Connecting a remote X client via SSH
- Secure X terminal access over the internet
- X-based 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 analysis tools
- Cleanly recording shell activities
- Customising text data display
- Customising time and date display
- Colourised shell output
- Colourised commands
- Recording editor activities for complex repetitions
- Capturing graphics from X applications
- Tracking changes in configuration files
Data Storage Tips
- Disk partitioning configuration
- Accessing partitions using UUIDs
- File system configuration
- Creating and checking file system integrity
- Optimising file systems via mount options
- Optimising file systems via superblock settings
- Hard disk optimisation
- Predicting hard disk failure using SMART
- Expanding 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
- Automatic file encryption with eCryptfs
- Automatic mounting of eCryptfs
Monitoring, Controlling, and Starting Program Activities
- Timing processes
- Scheduling priority
- The ps command
- The top command
- Listing files opened by a process
- Tracing program activities
- Identifying processes using specific files or sockets
- Repeating a command at constant intervals
- Looping a command over files
- Starting programs from the GUI
- Customising programs to be launched
- Terminating processes
- Scheduling one-time tasks
- Scheduling recurring tasks
- Using the Alt-SysRq key
System Maintenance Tips
- Identifying active users
- Issuing system warnings
- Hardware identification
- Hardware configuration
- System and hardware time synchronisation
- Terminal configuration
- Sound infrastructure
- Disabling the screen saver
- Disabling beep sounds
- Memory usage monitoring
- System security and integrity checks
The Kernel
- Kernel parameters
- Kernel headers
- Compiling the kernel and modules
- Compiling kernel source: Debian standard method
- Compiling module source: Debian standard method
- Non-free hardware drivers
Virtualised Systems
- Virtualisation tools
- Virtualisation workflows
- Mounting virtual disk images
- Chroot environments
- Managing multiple desktop systems
Data Management
Sharing, Copying, and Archiving
- Archive and compression tools
- Copy and synchronisation tools
- Common practices for archiving
- Common practices for copying
- Common practices for file selection
- Backup and recovery strategies
- Backup utility suites
- Example script for system backup
- Example script for data backup
- Removable storage devices
- Sharing data over the network
- Archive media
Binary Data
- Viewing and editing binary data
- Manipulating files without mounting the disk
- Data redundancy
- Data file recovery and forensic analysis
- Splitting large files into smaller chunks
- Clearing file contents
- Creating dummy files
- Wiping an entire hard disk
- Erasing unused areas of a hard disk
- Restoring deleted but still open files
- Finding all hard links
- Invisible disk space consumption
Data Security Infrastructure
- GnuPG key management for signing and encryption
- MD5 checksums
Requirements
There are no specific prerequisites required to enrol in this course.