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
What is Debian?
- Selecting the appropriate Debian version
- Accessing Debian support and resources
- Navigating the Debian community
Console Fundamentals
- Understanding the shell prompt
- Configuring the shell prompt within the X environment
- Managing the root account and root shell prompt (using su, sudo, and running programs as root under X)
- Utilizing GUI system administration tools
- Navigating virtual consoles
- Exiting the command prompt correctly
- Shutting down the system properly
- Restoring a functional console
- Recommended additional packages for beginners
- Creating an additional user account
- Configuring sudo
The Filesystem
- Understanding filesystem permissions
- Controlling permissions for newly created files via umask
- Managing permissions for user groups
- Working with timestamps
- Creating and managing links
- Utilizing named pipes (FIFOs)
- Understanding 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 the internal editor in MC
- Using the internal viewer in MC
- Configuring auto-start features of MC
- Utilizing MC's FTP virtual filesystem
The Basic Unix-like Work Environment
- Understanding the login shell
- Customizing bash
- Using special keystrokes
- Navigating the pager
- Setting a default text editor
- Exiting vim
- Recording shell activities
- Mastering basic Unix commands
Basic 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
- Checking the return value of a command
- Executing typical command sequences and shell redirection
- Creating command aliases
Unix-like Text Processing
- Utilizing Unix text tools
- Working with 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
- Configuring packages
- Observing basic precautions
- Managing continuous upgrades
- Understanding Debian archive basics
- Understanding package dependencies
- Understanding the lifecycle of package management
- Initial troubleshooting for 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
- Using key bindings in aptitude
- Navigating package views in aptitude
- Search method options with aptitude
- Understanding the aptitude regex formula
- Resolving dependencies with aptitude
- Reviewing package activity logs
Examples of aptitude Operations
- Listing packages with regex matching on package names
- Browsing using regex matching
- Completely purging removed packages
- Cleaning up auto/manual installation status
- Performing a system-wide upgrade
Advanced Package Management Operations
- Performing advanced package management operations via the command line
- Verifying installed package files
- Precautions for package issues
- Searching package metadata
Internals of Debian Package Management
- Understanding archive metadata
- The top-level "Release" file and its authenticity
- Archive-level "Release" files
- Fetching metadata for packages
- Understanding package states for APT
- Understanding package states for aptitude
- Managing local copies of fetched packages
- Understanding Debian package file naming conventions
- Using the dpkg command
- Using the update-alternatives command
- Using the dpkg-statoverride command
- Using the dpkg-divert command
Recovery from a Broken System
- Addressing incompatibility with old user configurations
- Handling overlapping files between different packages
- Fixing broken package scripts
- Rescuing the system with the dpkg command
- Recovering package selection data
Tips for Package Management
- Selecting appropriate Debian packages
- Managing packages from mixed archive sources
- Adjusting candidate versions
- Handling Updates and Backports
- Automating package download and upgrade processes
- Limiting APT download bandwidth
- Performing emergency downgrades
- Identifying package uploaders
- Utilizing the equivs package
- Porting packages to stable systems
- Configuring APT proxy servers
- Managing small public package archives
- Recording and copying system configurations
- Converting or installing alien binary packages
- Extracting packages without using dpkg
- Further reading for package management
System Initialization
- Overview of the bootstrapping process
- Understanding BIOS, boot loaders, and mini-Debian systems
- Understanding runlevels
- Configuring runlevels
- Examples of runlevel management
- Default parameters for each init script
- Configuring the hostname
- Configuring the filesystem
- Initializing network interfaces
- Initializing network services
- Understanding system messages
- Understanding kernel messages
- Working with 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 "Why GNU su does not support the wheel group"
- Implementing stricter password rules
- Configuring other access controls
- Using sudo
- Utilizing SELinux and Apparmor
- Restricting access to specific server services
- Ensuring authentication security
- Sending passwords securely over the Internet
- Using Secure Shell
- Implementing extra security measures for the Internet
- Securing the root password
Network Setup
Basic Network Infrastructure
- Understanding domain names
- Configuring hostname resolution
- Understanding network interface naming
- Defining the network address range for LAN
- Ensuring 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
- Optimizing WAN TCP
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
- 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
- Using 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 the graphic image of an X application
- Recording changes in configuration files
Data Storage Tips
- Configuring disk partitions
- Accessing partitions using UUID
- Configuring filesystems
- Creating filesystems and checking integrity
- Optimizing filesystems via mount options
- Optimizing filesystems via superblock
- Optimizing hard disk performance
- 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 symbolic links
- 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 while looping over files
- Starting a program from the GUI
- Customizing program startup settings
- Killing a process
- Scheduling single tasks
- Scheduling recurring tasks
- Using the Alt-SysRq key
System Maintenance Tips
- Monitoring system users
- Alerting all users
- Identifying hardware
- Configuring hardware
- Managing system and hardware time
- Configuring the terminal
- Configuring the sound infrastructure
- Disabling the screen saver
- Disabling beep sounds
- Monitoring memory usage
- Performing system security and integrity checks
The Kernel
- Configuring kernel parameters
- Understanding kernel headers
- Compiling the kernel and related modules
- Compiling kernel source: Debian standard method
- Compiling module source: Debian standard method
- Utilizing non-free hardware drivers
Virtualized Systems
- Utilizing virtualization tools
- Understanding the virtualization workflow
- Mounting virtual disk image files
- Using chroot systems
- Managing multiple desktop systems
Data Management
Sharing, Copying, and Archiving
- Using archive and compression tools
- Using copy and synchronization tools
- Archive idioms
- Copy idioms
- File selection idioms
- Backup and recovery strategies
- Backup utility suites
- Example script for system backup
- Example script for data backup
- 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 files
- 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