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
- Debian support and resources for assistance
- The Debian community
Fundamentals of the Console
- Understanding the shell prompt
- Utilizing the shell prompt within the X environment
- Managing the root account and root shell prompt (using su, sudo, and executing programs as root in X)
- GUI-based system administration utilities
- Navigating virtual consoles
- Exiting the command prompt properly
- Properly shutting down the system
- Restoring a functional console state
- Recommended additional packages for beginners
- Creating an additional user account
- Configuring sudo
Filesystem Management
- Filesystem permissions
- Controlling permissions for newly created files: umask
- Managing permissions for user groups (group)
- Understanding timestamps
- Working with links
- Named pipes (FIFOs)
- Network sockets
- Device files
- Special device files
- Understanding procfs and sysfs
Mastering Midnight Commander (MC)
- Customizing MC settings
- Launching MC
- Navigating the file manager within MC
- Advanced command-line techniques in MC
- Utilizing the built-in editor in MC
- Utilizing the built-in viewer in MC
- MC auto-start features
- MC's FTP virtual filesystem capabilities
The Standard Unix-like Work Environment
- The login shell
- Customizing bash
- Utilizing special key strokes
- Using the pager
- Setting a default text editor
- Exiting vim effectively
- Recording shell activity logs
- 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
- Typical command sequences and shell redirection
- Setting command aliases
Unix-like Text Processing
- Essential Unix text tools
- Regular expressions
- Replacement expressions
- Performing global substitutions with regular expressions
- Extracting data from text file tables
- Script snippets for piping commands
Debian Package Management
Prerequisites for Package Management
- Package configuration basics
- Essential precautions to take
- Navigating the cycle of continuous upgrades
- Foundations of the Debian archive
- Understanding package dependencies
- The lifecycle of package management operations
- Initial responses to package management issues
Core Package Management Operations
- Comparing apt-get/apt-cache vs. aptitude
- Executing basic package management operations via the command line
- Interactive usage of aptitude
- Key bindings within aptitude
- Navigating package views in aptitude
- Search method options in aptitude
- Utilizing the aptitude regex formula
- Dependency resolution in aptitude
- Reviewing package activity logs
Practical Examples of aptitude Operations
- Listing packages using regex matching on package names
- Browsing packages with regex matching
- Completely purging removed packages
- Managing auto/manual installation status
- Performing a system-wide upgrade
Advanced Package Management Operations
- Executing advanced package management tasks via the command line
- Verifying installed package files
- Strategies for safeguarding against package issues
- Searching within package metadata
Internals of Debian Package Management
- Archive metadata structure
- The top-level "Release" file and authenticity verification
- Archive-level "Release" files
- Fetching metadata for packages
- Package states in APT
- Package states in aptitude
- Local caching of fetched packages
- Debian package file naming conventions
- Utilizing the dpkg command
- Using the update-alternative command
- Using the dpkg-statoverride command
- Using the dpkg-divert command
Recovering from a Broken System
- Handling incompatibilities with old user configurations
- Managing different packages with overlapping files
- Repairing broken package scripts
- Rescuing systems using the dpkg command
- Restoring package selection data
Tips for Effective Package Management
- Selecting appropriate Debian packages
- Handling packages from mixed archive sources
- Tweaking candidate versions
- Understanding Updates and Backports
- Automating package downloads and upgrades
- Limiting download bandwidth for APT
- Emergency downgrading procedures
- Identifying the package uploader
- Utilizing the equivs package
- Porting packages to the stable system
- Configuring a proxy server for APT
- Managing a small public package archive
- Recording and copying system configuration
- Converting or installing alien binary packages
- Extracting packages without dpkg
- Further reading for package management
System Initialization
- Overview of the boot strap process
- BIOS, boot loader, and the mini-Debian system
- Understanding runlevels
- Configuring runlevels
- Examples of runlevel management
- Default parameters for init scripts
- Setting the hostname
- Filesystem mounting
- Network interface initialization
- Network service initialization
- System messages
- Kernel messages
- The udev system
- Kernel module initialization
Authentication and Security
- Standard Unix authentication methods
- Managing account and password information
- Establishing strong passwords
- Creating encrypted passwords
- Understanding PAM and NSS
- Configuration files accessed by PAM and NSS
- Modern centralized system management
- Why GNU su does not support the wheel group
- Implementing stricter password rules
- Other access control mechanisms
- Using sudo
- SELinux and Apparmor
- Restricting access to specific server services
- Ensuring authentication security
- Transmitting secure passwords over the Internet
- Secure Shell (SSH)
- Additional security measures for Internet usage
- Securing the root password
Network Setup
Basic Network Infrastructure
- Domain names
- Hostname resolution
- Network interface naming
- LAN network address ranges
- Network device support
Modern Network Configuration for Desktop
- GUI network configuration tools
Low-Level Network Configuration
- Using Iproute2 commands
- Safe low-level network operations
Network Optimization
- Identifying the optimal MTU
- Setting the MTU
- WAN TCP optimization
Netfilter Infrastructure
Network Applications
The Mail System
- Basics 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
- Handling incompatible SSH clients
- Setting up ssh-agent
- Shutting down remote systems via SSH
- SSH troubleshooting
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
- 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
- Customized text data display
- Customized display of time and date
- Colorized shell echo
- Colorized commands
- Recording editor activities for complex repetitions
- Recording the graphic image of an X application
- 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 failure
- Expanding usable storage space via LVM
- Expanding usable storage space by mounting another partition
- Expanding usable storage space using symlinks
- Expanding usable 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
- Automatically mounting eCryptfs
Monitoring, Controlling, and Starting Program Activities
- Timing a process
- Setting 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 looping over files
- Starting a program from the GUI
- Customizing programs to be started
- Killing a process
- Scheduling tasks once
- Scheduling tasks regularly
- Using the Alt-SysRq key
System Maintenance Tips
- Identifying who is on the system
- Broadcasting warnings to everyone
- Hardware identification
- Hardware configuration
- System and hardware time
- Terminal configuration
- The 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 the module source: Debian standard method
- Non-free hardware drivers
Virtualized Systems
- Virtualization tools
- Virtualization workflow
- 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
- Idioms for archiving
- 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 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 deleted but still open files
- Searching for all hardlinks
- Identifying invisible disk space consumption
Data Security Infrastructure
- Key management for GnuPG (signing and encrypting)
- MD5 sums
35 Hours