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 the appropriate Debian version
- Accessing Debian support and assistance
- Engaging with the Debian community
Console Fundamentals
- Navigating the shell prompt
- Managing the shell prompt within the X environment
- Utilizing the root account and root shell prompt (su, sudo, running programs as root under X)
- Employing GUI system administration tools
- Utilizing virtual consoles
- Exiting the command prompt
- Shutting down the system
- Restoring a functional console
- Recommended packages for beginners
- Setting up an additional user account
- Configuring sudo
Understanding the Filesystem
- Filesystem permissions
- Controlling permissions for new files: umask
- Permissions for user groups
- Managing timestamps
- Working with links
- Named pipes (FIFOs)
- Sockets
- Device files
- Special device files
- Using procfs and sysfs
Mastering Midnight Commander (MC)
- Customizing MC settings
- Launching MC
- Utilizing the file manager within MC
- Employing command-line tricks in MC
- Using the internal editor in MC
- Using the internal viewer in MC
- Configuring MC auto-start features
- Utilizing MC's FTP virtual filesystem
The Basic Unix-like Work Environment
- Working with the login shell
- Customizing bash
- Using special key strokes
- Utilizing the pager
- Setting a default text editor
- Navigating out of vim
- Recording shell activities
- Executing basic Unix commands
Essential Shell Commands
- Command execution and environment variables
- Understanding the "$LANG" variable
- Understanding the "$PATH" variable
- Understanding the "$HOME" variable
- Utilizing command line options
- Using shell globbing
- Interpreting command return values
- Implementing typical command sequences and shell redirection
- Creating command aliases
Text Processing in Unix-like Systems
- Utilizing Unix text tools
- Understanding regular expressions
- Using replacement expressions
- Performing global substitution with regular expressions
- Extracting data from text file tables
- Writing script snippets for piping commands
Debian Package Management
Prerequisites for Debian Package Management
- Package configuration
- Essential precautions
- Managing continuous upgrades
- Understanding Debian archive basics
- Handling package dependencies
- Understanding the workflow of package management
- Addressing initial package management issues
Basic Package Management Operations
- Comparing apt-get/apt-cache with aptitude
- Performing basic package management operations via the command line
- Using aptitude interactively
- Navigating aptitude key bindings
- Viewing package statuses under aptitude
- Search method options with aptitude
- Applying the aptitude regex formula
- Resolving dependencies with aptitude
- Reviewing package activity logs
Examples of aptitude Operations
- Listing packages using regex matching on names
- Browsing packages with regex matching
- Permanently purging removed packages
- Cleaning up auto/manual install statuses
- Performing a system-wide upgrade
Advanced Package Management Operations
- Performing advanced package management operations via the command line
- Verifying installed package files
- Preventing package issues
- Searching package metadata
Internals of Debian Package Management
- Understanding archive metadata
- Verifying the top-level "Release" file and authenticity
- Examining archive-level "Release" files
- Fetching package metadata
- Managing package states for APT
- Managing package states for aptitude
- Maintaining local copies of fetched packages
- Understanding Debian package file naming conventions
- Using the dpkg command
- Using the update-alternative command
- Using the dpkg-statoverride command
- Using the dpkg-divert command
Recovering from a Broken System
- Handling incompatibility with old user configurations
- Resolving overlapping files from different packages
- Fixing broken package scripts
- Rescuing the system using dpkg
- Recovering package selection data
Tips for Package Management
- Selecting Debian packages
- Handling packages from mixed archive sources
- Adjusting candidate versions
- Utilizing updates and Backports
- Automating package download and upgrades
- Limited download bandwidth for APT
- Emergency downgrading procedures
- Identifying package uploaders
- Using the equivs package
- Porting packages to stable systems
- Configuring an APT proxy server
- Managing small public package archives
- Recording and copying system configurations
- Converting or installing alien binary packages
- Extracting packages without dpkg
- Further resources for package management
System Initialization
- Overview of the bootstrapping process
- BIOS, boot loaders, and mini-Debian systems
- Understanding runlevels
- Configuring runlevels
- Examples of runlevel management
- Default parameters for each init script
- Managing the hostname
- Filesystem initialization
- Network interface initialization
- Network service initialization
- Handling system messages
- Handling kernel messages
- The udev system
- Kernel module initialization
Authentication and Security
- Standard Unix authentication
- Managing account and password information
- Creating strong passwords
- Generating encrypted passwords
- Understanding PAM and NSS
- Configuration files accessed by PAM and NSS
- Modern centralized system management
- Understanding why GNU su does not support the wheel group
- Implementing stricter password rules
- Implementing other access controls
- Using sudo
- Understanding SELinux and Apparmor
- Restricting access to certain server services
- Ensuring authentication security
- Securing passwords over the Internet
- Using Secure Shell
- Implementing extra security measures for the Internet
- Securing the root password
Network Configuration
Basic Network Infrastructure
- Understanding domain names
- Hostname resolution
- Network interface naming
- LAN network address ranges
- Network device support
Modern Network Configuration for Desktops
- Using GUI network configuration tools
Low-Level Network Configuration
- Using Iproute2 commands
- Performing safe low-level network operations
Network Optimization
- Finding optimal MTU
- Setting MTU
- WAN TCP optimization
Netfilter Infrastructure
Network Applications
The Mail System
- Basics of modern mail services
- 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 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 incompatible 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
- Understanding the server/client relationship
- Managing the X server
- Starting the X Window System
- Starting an X session with gdm
- Customizing the X session (classic method)
- Customizing the X session (new method)
- Connecting a remote X client 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 graphic images of X applications
- Recording 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 superblock
- Hard disk optimization
- Using SMART to predict hard disk failures
- Expanding storage space via LVM
- Expanding storage space by mounting another partition
- 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
- Automounting eCryptfs
Monitoring, Controlling, and Starting Program Activities
- Timing a process
- Managing scheduling priority
- Using the ps command
- Using the top command
- Listing files opened by a process
- Tracing program activities
- Identifying processes using files or sockets
- Repeating a command at constant intervals
- Repeating a command over files
- Starting a program from the GUI
- Customizing startup programs
- Killing a process
- Scheduling one-off tasks
- Scheduling regular tasks
- Using the Alt-SysRq key
System Maintenance Tips
- Identifying logged-in users
- Notifying all users
- Hardware identification
- Hardware configuration
- Setting system and hardware time
- Terminal configuration
- Sound infrastructure
- Disabling the screen saver
- Disabling beep sounds
- Monitoring 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 systems
- Multiple desktop systems
Data Management
Sharing, Copying, and Archiving
- Archive and compression tools
- Copy and synchronization tools
- Idioms for archives
- Idioms for copying
- Idioms for file selection
- Backup and recovery
- Backup utility suites
- Example script for system backup
- Script for data backup
- Removable storage devices
- Sharing data via 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 ones
- Clearing file contents
- Creating dummy files
- Erasing an entire hard disk
- Erasing unused areas of a hard disk
- Undeleting files that are deleted but still open
- Searching for all hard links
- Identifying invisible disk space consumption
Data Security Infrastructure
- Key management for GnuPG (signing and encrypting)
- Understanding the MD5 sum
Requirements
There are no specific requirements to enrol in this course.
35 Hours