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 assistance
- Engaging with the Debian community
Console Fundamentals
- Navigating the shell prompt
- Using 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)
- Employing GUI system administration tools
- Utilizing virtual consoles
- Exiting the command prompt
- Shutting down the system
- Restoring a functional console
- Recommended packages for beginners
- Creating an additional user account
- Configuring sudo
The Filesystem
- Understanding filesystem permissions
- Controlling permissions for new files: umask
- Managing permissions for user groups
- Understanding timestamps
- Working with links
- Using named pipes (FIFOs)
- Utilizing sockets
- Handling device files
- Managing special device files
- Navigating procfs and sysfs
Midnight Commander (MC)
- Customizing MC
- Launching MC
- Using the file manager in MC
- Command-line techniques in MC
- Utilizing the internal editor in MC
- Utilizing the internal viewer in MC
- Configuring auto-start features of MC
- Using the FTP virtual filesystem in MC
The Basic Unix-like Work Environment
- Understanding the login shell
- Customizing bash
- Using special key strokes
- Utilizing the pager
- Setting a default text editor
- Navigating out of vim
- Recording shell activities
- Executing basic Unix commands
Simple Shell Commands
- Command execution and environment variables
- The "$LANG" variable
- The "$PATH" variable
- The "$HOME" variable
- Understanding command line options
- Using shell globbing
- Interpreting the return value of a command
- Managing typical command sequences and shell redirection
- Creating command aliases
Unix-like Text Processing
- Utilizing Unix text tools
- Working with regular expressions
- Understanding 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
- Essential precautions
- Managing the cycle of perpetual upgrades
- Understanding the Debian archive basics
- 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 package management operations via the command line
- Using aptitude interactively
- Mastering key bindings of aptitude
- Navigating package views in aptitude
- Exploring search method options with aptitude
- Understanding the aptitude regex formula
- Resolving dependencies with aptitude
- Reviewing package activity logs
Examples of aptitude Operations
- Listing packages using regex matching on package names
- Browsing using regex matching
- Permanently purging removed packages
- Organizing auto/manual installation status
- Performing a system-wide upgrade
Advanced Package Management Operations
- Executing advanced package management operations via the command line
- Verifying installed package files
- Implementing safeguards for package problems
- Searching package metadata
Internals of Debian Package Management
- Understanding archive metadata
- The top-level "Release" file and authenticity
- Archive-level "Release" files
- Fetching metadata for packages
- The package state for APT
- The package state for aptitude
- Managing local copies of fetched packages
- Understanding Debian package file naming conventions
- Utilizing the dpkg command
- Utilizing the update-alternative command
- Utilizing the dpkg-statoverride command
- Utilizing the dpkg-divert command
Recovery 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
- Handling packages from mixed archive sources
- Tweaking candidate versions
- Managing Updates and Backports
- Automatically downloading and upgrading packages
- Limiting download bandwidth for APT
- Performing emergency downgrades
- Identifying the package uploader
- Using the equivs package
- Porting packages to the stable system
- Configuring a proxy server for APT
- Utilizing a small public package archive
- Recording and copying system configuration
- Converting or installing alien binary packages
- Extracting packages without dpkg
- Additional reading resources for package management
The System Initialization
- Overview of the boot strap process
- Understanding BIOS, boot loader, and mini-Debian system
- Understanding the concept of runlevels
- Configuring runlevels
- Runlevel management examples
- Default parameters for each init script
- Configuring the hostname
- Managing the filesystem
- Initializing network interfaces
- Initializing network services
- Managing system messages
- Monitoring kernel messages
- Understanding 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
- "Why GNU su does not support the wheel group"
- Implementing stricter password rules
- Other access control mechanisms
- Using sudo
- Understanding SELinux and Apparmor
- Restricting access to specific server services
- Ensuring authentication security
- Sending secure passwords over the Internet
- Utilizing Secure Shell
- Implementing additional security measures for the Internet
- Securing the root password
Network Setup
The Basic Network Infrastructure
- Understanding the domain name
- Configuring hostname resolution
- Identifying the network interface name
- Defining the network address range for the LAN
- Understanding 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
- Finding the optimal MTU
- Setting the MTU
- Optimizing WAN TCP
Netfilter Infrastructure
Network Applications
The Mail System
- Fundamentals of modern mail services
- Mail configuration strategy for workstations
Mail Transport Agent (MTA) and Mail User Agent (MUA)
- Overview of exim4
- Basic MUA - Mutt
Mail Delivery Agent (MDA) with Filter
- Configuring maildrop
- Configuring procmail
- Redelivering mbox contents
POP3/IMAP4 Server
The Remote Access Server and Utility (SSH)
- SSH basics
- Port forwarding for SMTP/POP3 tunneling
- Connecting without remote passwords
- Handling incompatible SSH clients
- Setting up ssh-agent
- Shutting down the remote system 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
- Working with 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
- Using a secure X terminal over the Internet
- Using X applications
- Using X office applications
- Using X utility applications
System Tips
The screen Program
- Use scenarios for screen(1)
- Key bindings for the screen command
Data Recording and Presentation
- Utilizing 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 repetitions
- Recording the graphic image of an X application
- Recording changes in configuration files
Data Storage Tips
- Configuring disk partitions
- Accessing partitions using UUID
- Configuring the filesystem
- Creating filesystems and performing integrity checks
- Optimizing the filesystem via mount options
- Optimizing the filesystem via superblock
- Optimizing the hard disk
- 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 the swap partition with dm-crypt
- Automatically encrypting files with eCryptfs
- Automatically mounting eCryptfs
Monitoring, Controlling, and Starting Program Activities
- Timing a process
- Understanding 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 a constant interval
- Repeating a command looping over files
- Starting a program from the GUI
- Customizing programs to be started
- Killing a process
- Scheduling one-time tasks
- Scheduling regular tasks
- Using the Alt-SysRq key
System Maintenance Tips
- Identifying who is on the system
- Warning all users
- Identifying hardware
- Configuring hardware
- Managing system and hardware time
- Configuring the terminal
- Understanding the sound infrastructure
- Disabling the screen saver
- Disabling beep sounds
- Monitoring memory usage
- Checking system security and integrity
The Kernel
- Understanding kernel parameters
- Understanding kernel headers
- Compiling the kernel and related modules
- Compiling the kernel source: Debian standard method
- Compiling the module source: Debian standard method
- Handling non-free hardware drivers
Virtualized System
- Using virtualization tools
- Understanding the virtualization workflow
- Mounting the virtual disk image file
- Using the Chroot system
- Managing multiple desktop systems
Data Management
Sharing, Copying, and Archiving
- Using archive and compression tools
- Using copy and synchronization tools
- Idioms for archiving
- Idioms for copying
- Idioms for file selection
- Backup and recovery
- Using backup utility suites
- Example script for system backup
- Cop script for data backup
- Managing removable storage devices
- Sharing data via network
- Using archive media
Binary Data
- Viewing and editing binary data
- Manipulating files without mounting the disk
- Ensuring 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 all hardlinks
- Monitoring invisible disk space consumption
Data Security Infrastructure
- Key management for GnuPG (signing and encrypting)
- Understanding the MD5 sum
35 Hours