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 resources
- Engaging with the Debian community
Console Fundamentals
- Understanding the shell prompt
- Configuring the shell prompt within the X environment
- Managing the root account and shell prompt (using su, sudo, and running programs as root under X)
- Utilizing GUI system administration tools
- Navigating virtual consoles
- Exiting the command prompt
- Properly shutting down the system
- Restoring a functional console
- Recommended packages for beginners
- Setting up an additional user account
- Configuring sudo
Filesystem Management
- Understanding filesystem permissions
- Controlling permissions for new files: umask
- Managing group permissions for user sets
- Understanding timestamps
- Working with links
- Using named pipes (FIFOs)
- Utilizing sockets
- Working with device files
- Understanding special device files
- Exploring procfs and sysfs
Midnight Commander (MC)
- Customizing MC
- Launching MC
- Navigating the file manager in MC
- Advanced command-line techniques in MC
- Using MC's internal editor
- Using MC's internal viewer
- Configuring auto-start features
- Navigating the FTP virtual filesystem
The Basic Unix-like Work Environment
- Understanding the login shell
- Customizing bash
- Using special key strokes
- Utilizing the pager
- Setting a default text editor
- Exiting vim
- Logging shell activities
- Using basic Unix commands
Simple Shell Commands
- Command execution and environment variables
- Understanding the "$LANG" variable
- Understanding the "$PATH" variable
- Understanding the "$HOME" variable
- Using command line options
- Utilizing shell globbing
- Interpreting command return values
- Managing command sequences and shell redirection
- Creating command aliases
Unix-like Text Processing
- Overview of Unix text tools
- Understanding regular expressions
- Using replacement expressions
- Performing global substitution with regular expressions
- Extracting data from text file tables
- Creating script snippets for piping commands
Debian Package Management
Prerequisites for Debian Package Management
- Package configuration
- Essential precautions
- Managing continuous upgrades
- Fundamentals of the Debian archive
- Understanding package dependencies
- Tracing the event flow of package management
- Initial responses to package management issues
Basic Package Management Operations
- Comparing apt-get/apt-cache vs. aptitude
- Performing basic operations via the command line
- Interactively using aptitude
- Configuring key bindings for aptitude
- Navigating package views in aptitude
- Utilizing search method options in aptitude
- Writing aptitude regex patterns
- 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
- Clarifying auto/manual install status
- Performing a system-wide upgrade
Advanced Package Management Operations
- Executing advanced operations via the command line
- Verifying installed package files
- Safeguarding against package issues
- Searching package metadata
Internals of Debian Package Management
- Archive metadata
- Top-level "Release" files and authenticity verification
- Archive-level "Release" files
- Fetching package metadata
- APT package states
- aptitude package states
- Local copies of fetched packages
- Debian package 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
- Addressing incompatibilities with old user configurations
- Handling different packages with overlapping files
- Fixing broken package scripts
- Rescuing with the dpkg command
- Recovering package selection data
Tips for Package Management
- Selecting Debian packages
- Managing packages from mixed archive sources
- Adjusting candidate versions
- Utilizing Updates and Backports
- Automating package download and upgrades
- Limiting APT download bandwidth
- Performing emergency downgrades
- Identifying package uploaders
- Using the equivs package
- Porting packages to stable systems
- Configuring a proxy server for APT
- Managing small public package archives
- Recording and copying system configurations
- Converting or installing alien binary packages
- Extracting packages without dpkg
- Further reading resources
System Initialization
- Overview of the bootstrapping process
- BIOS, boot loaders, and the mini-Debian system
- Understanding runlevels
- Configuring runlevels
- Runlevel management examples
- Default parameters for init scripts
- Configuring 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 for PAM and NSS
- Modern centralized system management
- "Why GNU su does not support the wheel group"
- Enforcing stricter password rules
- Other access control mechanisms
- Using sudo
- Implementing SELinux and AppArmor
- Restricting access to specific server services
- Securing authentication
- Transmitting passwords securely over the Internet
- Using Secure Shell (SSH)
- Additional security measures for Internet connectivity
- Securing the root password
Network Setup
Basic Network Infrastructure
- Managing domain names
- Configuring hostname resolution
- Network interface naming
- Defining 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
- Identifying optimal MTU
- Setting MTU values
- Optimizing WAN TCP performance
Netfilter Infrastructure
Network Applications
The Mail System
- Fundamentals of modern mail services
- Mail configuration strategies 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 Server and Utility (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
- Configuring the X server
- Launching the X Window System
- Starting X sessions with gdm
- Customizing X sessions (classic method)
- Customizing X sessions (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 Recording and Presentation
- The log daemon
- Log analysis tools
- Cleanly recording shell activities
- Customizing text data display
- Customizing time and date display
- Colorizing shell echo output
- Colorizing commands
- Recording editor activities for complex tasks
- Recording X application graphics
- Recording configuration file changes
Data Storage Tips
- Disk partition configuration
- Accessing partitions using UUID
- Filesystem configuration
- Filesystem creation and integrity checks
- Optimizing filesystems via mount options
- Optimizing filesystems via superblocks
- Optimizing hard disk performance
- Using SMART to predict hard disk failures
- Expanding storage 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
- Automatically encrypting files with eCryptfs
- Automatically mounting eCryptfs
Monitoring, Controlling, and Starting Program Activities
- Timing processes
- 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 commands at constant intervals
- Repeating commands in loops over files
- Launching programs from the GUI
- Customizing startup programs
- Killing processes
- Scheduling one-time tasks
- Scheduling recurring tasks
- Using the Alt-SysRq key
System Maintenance Tips
- Identifying logged-in users
- Broadcasting warnings to all users
- Identifying hardware
- Configuring hardware
- Managing system and hardware time
- Configuring the terminal
- Managing the sound infrastructure
- Disabling the screen saver
- Disabling beep sounds
- Monitoring memory usage
- Conducting 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
- Using 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 strategies
- Backup utility suites
- Example script for system backup
- Copy script for data backup
- Managing removable storage devices
- Sharing data via the network
- Archive media
Binary Data
- Viewing and editing binary data
- Manipulating files without mounting disks
- Understanding data redundancy
- Data file recovery and forensic analysis
- Splitting large files into smaller ones
- Clearing file contents
- Creating dummy files
- Erasing entire hard disks
- Erasing unused areas of a hard disk
- Undeleting deleted but open files
- Searching for all hard links
- Managing invisible disk space consumption
Data Security Infrastructure
- Key management for GnuPG (signing and encrypting)
- Using MD5 sums
Requirements
There are no specific prerequisites for attending this course.
35 Hours