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
Understanding Debian Distribution
What is Debian?
- Selecting the appropriate Debian version
- Accessing Debian support and resources
- Engaging with the Debian community
Console Essentials
- Understanding the shell prompt
- Navigating the shell prompt in an X environment
- Managing the root account and root shell prompt (utilizing su, sudo, and running programs as root under X)
- Utilizing GUI system administration tools
- Navigating virtual consoles
- Exiting the command prompt properly
- Safely shutting down the system
- Restoring a functional console state
- Recommended additional packages for beginners
- Creating an extra user account
- Configuring sudo permissions
Filesystem Fundamentals
- Managing filesystem permissions
- Controlling permissions for new files via umask
- Managing permissions for user groups
- Understanding file timestamps
- Working with links
- Using named pipes (FIFOs)
- Understanding sockets
- Managing device files
- Handling special device files
- Utilizing procfs and sysfs
Mastering Midnight Commander (MC)
- Customizing MC settings
- Launching MC
- Using the file manager within MC
- Applying command-line techniques in MC
- Utilizing MC’s internal editor
- Using MC’s internal viewer
- Enabling MC’s auto-start features
- Accessing the FTP virtual filesystem in MC
The Standard Unix-like Work Environment
- Working with the login shell
- Customizing bash configurations
- Using special keystrokes effectively
- Utilizing the pager
- Setting a default text editor
- Navigating vim to quit
- Logging shell activities
- Executing basic Unix commands
Basic Shell Commands
- Command execution and environment variables
- Using the "$LANG" variable
- Configuring the "$PATH" variable
- Understanding the "$HOME" variable
- Navigating command line options
- Using shell glob patterns
- Interpreting command return values
- Implementing typical command sequences and shell redirection
- Creating command aliases
Unix-like Text Processing
- Utilizing Unix text tools
- Working with regular expressions
- Applying 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 Package Management
- Package configuration strategies
- Essential precautions to take
- Managing ongoing upgrades
- Understanding Debian archive structures
- Handling package dependencies
- Understanding the package management event flow
- Initial troubleshooting for package management issues
Basic Package Management Operations
- Comparing apt-get/apt-cache with aptitude
- Executing basic package management operations via the command line
- Interactively using aptitude
- Utilizing aptitude key bindings
- Navigating package views in aptitude
- Configuring search method options in aptitude
- Applying aptitude regex patterns
- Resolving dependencies with aptitude
- Reviewing package activity logs
Aptitude Operation Examples
- Listing packages using regex matching on names
- Browsing packages with regex matching
- Permanently purging removed packages
- Managing auto/manual installation status
- Performing system-wide upgrades
Advanced Package Management Operations
- Executing advanced package management operations via the command line
- Verifying installed package files
- Implementing safeguards for package issues
- Searching package metadata
Internals of Debian Package Management
- Archive metadata structures
- The top-level "Release" file and its authenticity
- 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
- Managing alternatives with update-alternative
- Using dpkg-statoverride
- Managing diversions with dpkg-divert
Recovering from a Broken System
- Addressing incompatibility with old user configurations
- Handling overlapping files in different packages
- Fixing broken package scripts
- Using dpkg for rescue operations
- Recovering package selection data
Package Management Tips
- Selecting appropriate Debian packages
- Handling packages from mixed archive sources
- Adjusting candidate versions
- Managing updates and backports
- Automating package downloads and upgrades
- Limiting APT download bandwidth
- Executing emergency downgrades
- Identifying package uploaders
- Utilizing the equivs package
- Porting packages to stable systems
- Configuring APT proxy servers
- Creating small public package archives
- Recording and copying system configurations
- Converting or installing alien binary packages
- Extracting packages without dpkg
- Additional resources for package management
System Initialization
- Overview of the boot process
- BIOS, boot loaders, and mini-Debian systems
- Understanding runlevels
- Configuring runlevels
- Examples of runlevel management
- Default parameters for init scripts
- Managing the hostname
- Filesystem initialization
- Initializing network interfaces
- Initializing network services
- Understanding system messages
- Interpreting kernel messages
- Managing the udev system
- Initializing kernel modules
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 GNU su and the wheel group
- Enforcing stricter password rules
- Implementing additional access controls
- Configuring sudo
- Utilizing SELinux and AppArmor
- Restricting access to specific server services
- Ensuring authentication security
- Sending passwords securely over the Internet
- Securing Shell connections
- Implementing extra security measures for Internet services
- Securing the root password
Network Configuration
Basic Network Infrastructure
- Managing domain names
- Configuring hostname resolution
- Understanding network interface naming
- Defining LAN network address ranges
- Configuring network device support
Modern Network Configuration for Desktops
- Using GUI network configuration tools
Low-Level Network Configuration
- Using iproute2 commands
- Safely performing low-level network operations
Network Optimization
- Determining optimal MTU
- Setting MTU values
- Optimizing WAN TCP performance
Netfilter Infrastructure
Network Applications
Mail Systems
- Basics of modern mail services
- Mail configuration strategies for workstations
Mail Transport Agent (MTA) and Mail User Agent (MUA)
- Overview of exim4
- Basic MUA usage with 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
- Handling incompatible SSH clients
- Setting up ssh-agent
- Shutting down remote systems via SSH
- Troubleshooting SSH issues
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
- Starting the X Window System
- Starting X sessions with gdm
- Customizing X sessions (classic method)
- Customizing X sessions (new method)
- Connecting remote X clients via SSH
- Securing X terminals over the Internet
- Utilizing X applications
- Using X office applications
- Using X utility applications
System Tips
The Screen Program
- Use cases for screen(1)
- Key bindings for the screen command
Data Recording and Presentation
- Using the log daemon
- Utilizing log analyzers
- Cleanly recording shell activities
- Customizing text data display
- Customizing time and date display
- Colorized shell echo commands
- Colorized command outputs
- Recording editor activities for complex repetitions
- Recording graphical images of X applications
- Recording changes in configuration files
Data Storage Tips
- Disk partition configuration
- Accessing partitions using UUID
- Filesystem configuration
- Creating filesystems and performing integrity checks
- Optimizing filesystems via mount options
- Optimizing filesystems via superblock
- Hard disk optimization
- Using SMART to predict hard disk failures
- Expanding usable 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
- Creating encrypted swap partitions with dm-crypt
- Automatically encrypting files with eCryptfs
- Automatically mounting eCryptfs
Monitoring, Controlling, and Starting Program Activities
- Timing process duration
- Setting scheduling priorities
- 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
- Looping commands over files
- Starting programs from the GUI
- Customizing startup programs
- Killing processes
- Scheduling one-time tasks
- Scheduling recurring tasks
- Using the Alt-SysRq key
System Maintenance Tips
- Checking who is logged into the system
- Broadcasting warnings to all users
- Identifying hardware
- Configuring hardware
- Synchronizing system and hardware time
- Configuring terminals
- Managing sound infrastructure
- Disabling the screen saver
- Disabling beep sounds
- Monitoring memory usage
- Performing system security and integrity checks
The Kernel
- Configuring kernel parameters
- Managing kernel headers
- Compiling the kernel and related modules
- Compiling kernel source: Debian standard method
- Compiling module source: Debian standard method
- Managing non-free hardware drivers
Virtualized Systems
- Using virtualization tools
- Understanding virtualization workflows
- Mounting virtual disk image files
- Setting up Chroot systems
- Managing multiple desktop systems
Data Management
Sharing, Copying, and Archiving
- Archive and compression tools
- Copy and synchronization tools
- Idioms for archiving
- Idioms for copying
- Idioms for file selection
- Backup and recovery strategies
- Backup utility suites
- Example script for system backup
- Script for data backup copying
- Managing removable storage devices
- Sharing data via network
- Archive media options
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 an entire hard disk
- Erasing unused areas of a hard disk
- Undeleting deleted but still open files
- Searching for all hardlinks
- Identifying invisible disk space consumption
Data Security Infrastructure
- Key management for GnuPG (signing and encrypting)
- Using MD5 sums
35 Hours