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
Introduction to Debian
- Selecting a Debian version
- Debian support and assistance resources
- The Debian community
Command-line fundamentals
- The shell prompt
- Using the shell prompt within the X environment
- Managing the root account and root shell (su, sudo, executing programs as root under X)
- GUI-based system administration utilities
- Virtual consoles
- Exiting the command prompt
- System shutdown procedures
- Restoring a functional console
- Recommended additional packages for beginners
- Creating additional user accounts
- Configuring sudo
The filesystem
- Filesystem permissions
- Controlling permissions for new files via umask
- Group-based permissions
- Timestamps
- Symlinks and hard links
- Named pipes (FIFOs)
- Sockets
- Device files
- Special device files
- procfs and sysfs
Midnight Commander (MC)
- Customizing MC
- Launching MC
- Using the MC file manager
- Command-line shortcuts within MC
- MC’s internal editor
- MC’s internal viewer
- MC auto-start capabilities
- MC’s FTP virtual filesystem
The fundamental Unix-like workspace
- The login shell
- Customizing bash
- Special key combinations
- Using the pager
- Setting a default text editor
- Exiting vim
- Logging shell sessions
- 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-style text processing
- Unix text utilities
- Regular expressions
- Replacement expressions
- Global substitution using regular expressions
- Extracting data from tabular text files
- Script snippets for piping commands
Debian package management
Prerequisites for Debian package management
- Package configuration
- Basic precautions
- Handling continuous upgrades
- Basics of Debian archives
- Package dependencies
- The workflow of package management
- Initial steps when facing package issues
Essential package management tasks
- Comparing apt-get/apt-cache with aptitude
- Basic package operations via the command line
- Using aptitude interactively
- aptitude key bindings
- Package views in aptitude
- Search options in aptitude
- The aptitude regex formula
- Dependency resolution in aptitude
- Logging package activities
aptitude operational examples
- Listing packages via regex matching on names
- Browsing with regex matching
- Permanently purging removed packages
- Organizing auto/manual install status
- Performing system-wide upgrades
Advanced package management tasks
- Advanced command-line package operations
- 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
- Retrieving 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-alternative command
- The dpkg-statoverride command
- The dpkg-divert command
Recovering a corrupted system
- Addressing incompatibility with old user configs
- Handling packages with overlapping files
- Repairing broken package scripts
- Rescuing with the dpkg command
- Restoring package selection data
Package management tips
- Selecting appropriate Debian packages
- Using packages from mixed archive sources
- Adjusting candidate versions
- Updates and Backports
- Automatic package download and upgrade
- Limiting APT download bandwidth
- Emergency downgrading
- Identifying package uploaders
- The equivs package
- Porting packages to stable systems
- APT proxy server
- Maintaining small public package archives
- Recording and duplicating system configurations
- Converting or installing alien binary packages
- Extracting packages without dpkg
- Further reading on package management
System initialization
- Overview of the boot process
- BIOS, boot loader, and mini-Debian systems
- Understanding runlevels
- Configuring runlevels
- Example of runlevel management
- Default parameters for init scripts
- The hostname
- The filesystem
- Initializing network interfaces
- Initializing network services
- System messages
- Kernel messages
- The udev system
- Kernel module initialization
Authentication and Security
- Standard Unix authentication
- Managing account and password data
- Crafting strong passwords
- Creating encrypted passwords
- PAM and NSS
- Configuration files used by PAM and NSS
- Modern centralized system management
- Why GNU su does not support the wheel group
- Strict password policies
- Other access control methods
- sudo
- SELinux and Apparmor
- Restricting access to server services
- Authenticating securely
- Securing passwords over the internet
- Secure Shell
- Additional internet security measures
- Protecting 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
- GUI network configuration tools
Low-level network configuration
- Iproute2 commands
- Safe low-level network operations
Network optimization
- Identifying optimal MTU
- Configuring MTU
- 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)
- Introduction to exim4
- Basic MUA usage with Mutt
Mail Delivery Agent (MDA) with filtering
- Configuring maildrop
- Configuring procmail
- Redelivering mbox contents
POP3/IMAP4 servers
Remote access servers and utilities (SSH)
- SSH basics
- Port forwarding for SMTP/POP3 tunneling
- Passwordless remote connections
- Interacting with non-standard SSH clients
- Setting up ssh-agent
- Shutting down remote systems via SSH
- Debugging SSH
Other network application servers
Other network application clients
Diagnosing system daemons
The X Window System
- Setting up the desktop environment
- Server/client relationships
- The X server
- Starting the X Window System
- Starting an X session with gdm
- Customizing the X session (traditional method)
- Customizing the X session (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 logging and presentation
- The log daemon
- Log analyzers
- Cleanly recording shell sessions
- Customizing text data display
- Customizing time and date display
- Colorized shell echo
- Colorized commands
- Logging editor actions for complex repetitions
- Capturing graphical output of X applications
- Tracking changes in configuration files
Data storage tips
- Disk partition configuration
- Accessing partitions using UUID
- Filesystem configuration
- Creating and checking filesystem integrity
- Optimizing filesystems via mount options
- Optimizing filesystems via superblock
- Optimizing hard disks
- Using SMART to predict disk failure
- Expanding storage space via LVM
- Expanding storage by mounting additional partitions
- Expanding storage using symlinks
- 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 initiating program activities
- Timing processes
- Scheduling priority
- 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 file loops
- Launching programs from the GUI
- Customizing which programs start
- Terminating a process
- 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
- Terminal configuration
- The 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 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
- Chroot systems
- 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
- 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
- Recovering data files and forensic analysis
- Splitting large files into smaller ones
- Clearing file contents
- Dummy files
- Erasing an entire hard disk
- Erasing unused hard disk areas
- Recovering deleted but still open files
- Finding all hard links
- Hidden disk space consumption
Data security infrastructure
- Key management for GnuPG (signing and encryption)
- The MD5 checksum
Requirements
No specific prerequisites are required to participate in this course.
35 Hours