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
- Navigating the shell prompt within an X environment
- Managing the root account and root shell prompt (utilizing su, sudo, and executing programs as root under X)
- Utilizing GUI system administration tools
- Navigating virtual consoles
- Exiting the command prompt effectively
- Properly shutting down the system
- Restoring a functional console state
- Recommended packages for beginners
- Setting up an additional user account
- Configuring sudo permissions
Filesystem Management
- Understanding filesystem permissions
- Controlling default permissions for new files: using umask
- Managing permissions for user groups
- Working with timestamps
- Creating and managing links
- Using named pipes (FIFOs)
- Understanding sockets
- Interacting with device files
- Handling special device files
- Navigating procfs and sysfs
Mastering Midnight Commander (MC)
- Customizing MC settings
- Launching MC
- Navigating the file manager within MC
- Applying command-line techniques in MC
- Utilizing the built-in text editor in MC
- Using the built-in file viewer in MC
- Leveraging auto-start features of MC
- Navigating FTP virtual filesystems via MC
The Basic Unix-Like Work Environment
- Understanding the login shell
- Customizing the bash environment
- Utilizing special key combinations
- Using text pagers
- Setting a default text editor
- Exiting vim efficiently
- Recording shell session activities
- Familiarity with basic Unix commands
Essential Shell Commands
- Command execution and environment variables
- The "$LANG" variable explained
- The "$PATH" variable explained
- The "$HOME" variable explained
- Understanding command-line options
- Utilizing shell globbing
- Interpreting command return values
- Constructing typical command sequences and using shell redirection
- Creating command aliases
Unix-Like Text Processing
- Overview of Unix text processing tools
- Working with regular expressions
- Using replacement expressions
- Performing global substitutions with regular expressions
- Extracting data from structured text files
- Writing script snippets for command piping
Debian Package Management
Prerequisites for Debian Package Management
- Configuring packages
- Essential precautions to take
- Managing the lifecycle of permanent upgrades
- Fundamentals of the Debian archive
- Understanding package dependencies
- Tracing the event flow of package management operations
- Initial troubleshooting steps for package issues
Basic Package Management Operations
- Comparing apt-get/apt-cache with aptitude
- Executing basic package management via command line
- Interactively using aptitude
- Mastering aptitude key bindings
- Navigating package views in aptitude
- Search options available in aptitude
- Understanding the aptitude regex syntax
- Resolving dependencies with aptitude
- Reviewing package activity logs
Aptitude Operations Examples
- Listing packages using regex matching on names
- Browsing packages via regex matching
- Purging removed packages permanently
- Managing auto vs. manual installation status
- Performing a system-wide upgrade
Advanced Package Management Operations
- Executing advanced package management via command line
- Verifying installed package file integrity
- Safeguarding against package-related issues
- Searching within package metadata
Internals of Debian Package Management
- Understanding archive metadata
- Analyzing the top-level "Release" file and its authenticity
- Examining archive-level "Release" files
- Fetching package metadata
- Understanding APT package states
- Understanding aptitude package states
- Managing local copies of fetched packages
- Decoding Debian package file naming conventions
- Utilizing the dpkg command
- Using the update-alternatives command
- Using the dpkg-statoverride command
- Using the dpkg-divert command
Recovering from a Broken System
- Addressing incompatibilities with legacy user configurations
- Handling packages with overlapping files
- Repairing broken package scripts
- Performing rescue operations using the dpkg command
- Recovering package selection data
Tips for Effective Package Management
- Selecting appropriate Debian packages
- Managing packages from mixed archive sources
- Adjusting candidate package versions
- Navigating updates and backports
- Automating package download and upgrade processes
- Limiting bandwidth usage for APT
- Performing emergency downgrades
- Identifying the uploader of a specific package
- Utilizing the equivs package utility
- Porting packages to stable systems
- Configuring proxy servers for APT
- Creating small public package archives
- Recording and backing up system configurations
- Converting or installing alien binary packages
- Extracting packages without dpkg
- Finding further resources on package management
System Initialization
- Overview of the boot strap process
- Understanding BIOS, boot loaders, and mini-Debian systems
- Defining and understanding runlevels
- Configuring runlevels
- Examples of runlevel management
- Default parameters for init scripts
- Managing the hostname
- Filesystem initialization steps
- Initializing network interfaces
- Initializing network services
- Viewing system messages
- Monitoring kernel messages
- Understanding the udev system
- Initializing kernel modules
Authentication and Security
- Standard Unix authentication mechanisms
- Managing account and password information
- Crafting strong passwords
- Generating encrypted passwords
- Understanding PAM and NSS
- Identifying configuration files accessed by PAM and NSS
- Implementing modern centralized system management
- Addressing the lack of wheel group support in GNU su
- Enforcing stricter password policies
- Exploring other access control methods
- Configuring sudo privileges
- Implementing SELinux and Apparmor
- Restricting access to specific server services
- Ensuring authentication security
- Safeguarding passwords transmitted over the Internet
- Utilizing Secure Shell (SSH)
- Applying additional security measures for internet-facing services
- Securing the root password
Network Configuration
Foundational Network Infrastructure
- Understanding domain names
- Configuring hostname resolution
- Identifying network interface names
- Determining the LAN network address range
- Ensuring network device compatibility
Modern Desktop Network Configuration
- Utilizing GUI-based network configuration tools
Low-Level Network Configuration
- Using iproute2 commands
- Performing safe low-level network operations
Network Optimization
- Identifying the optimal Maximum Transmission Unit (MTU)
- Configuring MTU settings
- Optimizing TCP performance over WAN connections
Netfilter Infrastructure
Network Applications
The Mail System
- Fundamentals of modern mail services
- Strategizing mail configuration for workstations
Mail Transport Agent (MTA) and Mail User Agent (MUA)
- Overview of exim4
- Basic MUA usage with Mutt
Mail Delivery Agent (MDA) with Filtering
- Configuring maildrop
- Configuring procmail
- Redelivering mbox contents
POP3/IMAP4 Servers
Remote Access Server and Utilities (SSH)
- Foundations of SSH
- Port forwarding for SMTP/POP3 tunneling
- Connecting without remote passwords using keys
- Interacting with incompatible SSH clients
- Setting up ssh-agent
- Shutting down remote systems via SSH
- Troubleshooting common SSH issues
Other Network Application Servers
Other Network Application Clients
Diagnostics for 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 an X session with GDM
- Customizing the X session (traditional method)
- Customizing the X session (modern method)
- Connecting a remote X client via SSH
- Securing X terminals over the Internet
- Utilizing X applications
- X office productivity tools
- X utility applications
System Tips and Tricks
The Screen Program
- Use cases for screen(1)
- Key bindings for the screen command
Data Recording and Presentation
- Configuring the log daemon
- Using log analyzers
- Cleanly recording shell activities
- Customizing text data display formats
- Customizing time and date displays
- Using colorized shell echo commands
- Applying colorization to commands
- Recording editor activities for complex repetition tasks
- Recording the graphical interface of X applications
- Tracking changes in configuration files
Data Storage Tips
- Configuring disk partitions
- Accessing partitions using UUIDs
- Configuring filesystems
- Creating filesystems and performing integrity checks
- Optimizing filesystems via mount options
- Optimizing filesystems via superblock adjustments
- Optimizing hard disk performance
- Using SMART technology to predict hard disk failures
- Expanding usable storage space via LVM
- Expanding usable storage space by mounting additional partitions
- 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 volumes
Monitoring, Controlling, and Starting Program Activities
- Timing process execution
- Setting scheduling priorities
- Using the ps command
- Using the top command
- Listing files opened by a specific process
- Tracing program activities
- Identifying processes using files or sockets
- Repeating commands at constant intervals
- Looping commands over files
- Launching programs from the GUI
- Customizing auto-started programs
- Killing unresponsive processes
- Scheduling one-time tasks
- Scheduling recurring tasks
- Using the Alt-SysRq key combination
System Maintenance Tips
- Checking who is currently logged in
- Broadcasting warnings to all users
- Identifying hardware components
- Configuring hardware settings
- Managing system and hardware clocks
- Configuring terminal settings
- Understanding the sound infrastructure
- Disabling the screen saver
- Disabling beep sounds
- Monitoring memory usage
- Performing system security and integrity checks
The Linux Kernel
- Understanding kernel parameters
- Managing kernel headers
- Compiling the kernel and related modules
- Compiling kernel source using the Debian standard method
- Compiling module source using the Debian standard method
- Handling non-free hardware drivers
Virtualized Systems
- Using virtualization tools
- Navigating virtualization workflows
- Mounting virtual disk image files
- Utilizing chroot environments
- Running multiple desktop systems simultaneously
Data Management
Sharing, Copying, and Archiving
- Utilizing archive and compression tools
- Using copy and synchronization utilities
- Archiving idioms and best practices
- Copying idioms and best practices
- Strategies for selecting files
- Backup and recovery strategies
- Evaluating backup utility suites
- Scripting an example system backup
- Creating a script for data backups
- Managing removable storage devices
- Sharing data over the network
- Selecting archive media
Binary Data Management
- Viewing and editing binary data
- Manipulating files without mounting disks
- Understanding data redundancy
- Data file recovery and forensic analysis
- Splitting large files into smaller segments
- Clearying file contents securely
- Creating dummy files
- Erasing an entire hard disk
- Erasing unused areas of a hard disk
- Undeleting deleted but still open files
- Searching for all hard links
- Identifying invisible disk space consumption
Data Security Infrastructure
- Managing keys for GnuPG (signing and encrypting)
- Using MD5 sums for integrity verification
Requirements
No specific prerequisites are required to enroll in this course.
35 Hours