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 assistance
- Engaging with the Debian community
Console Fundamentals
- Understanding the shell prompt
- Using the shell prompt within 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 shutting down the system
- Restoring a functional console
- Recommended additional packages for new users
- Creating an extra user account
- Configuring sudo
The Filesystem
- Managing filesystem permissions
- Controlling permissions for new files via umask
- Managing permissions for user groups
- Understanding file timestamps
- Working with links
- Utilizing named pipes (FIFOs)
- Working with sockets
- Managing device files
- Understanding special device files
- Navigating procfs and sysfs
Midnight Commander (MC)
- Customizing MC
- Launching MC
- Using the file manager within MC
- Applying command-line tricks in MC
- Using MC's internal editor
- Using MC's internal viewer
- Leveraging MC's auto-start features
- Using MC's FTP virtual filesystem
The Basic Unix-like Work Environment
- Configuring the login shell
- Customizing bash
- Utilizing special key strokes
- Using the pager
- Setting a default text editor
- Exiting vim
- Recording shell activities
- Executing basic Unix commands
Basic Shell Commands
- Command execution and environment variables
- Understanding the "$LANG" variable
- Understanding the "$PATH" variable
- Understanding the "$HOME" variable
- Using command line options
- Utilizing shell globbing
- Checking the return value of a command
- Creating typical command sequences and using 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
- Implementing basic precautions
- Managing continuous upgrades
- Understanding Debian archive basics
- Understanding package dependencies
- Understanding the event flow of package management
- Initial responses to 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
- Utilizing key bindings in aptitude
- Viewing packages in aptitude
- Configuring search options in aptitude
- Using aptitude regex formulas
- Resolving dependencies in aptitude
- Accessing package activity logs
Examples of aptitude Operations
- Listing packages using regex matching on names
- Browsing packages using regex matching
- Permanently purging removed packages
- Aligning auto/manual install statuses
- Performing a system-wide upgrade
Advanced Package Management Operations
- Executing advanced package management operations via the command line
- Verifying installed package files
- Implementing safeguards against package problems
- Searching package metadata
Internals of Debian Package Management
- Archive metadata
- Top-level "Release" file and authenticity
- Archive-level "Release" files
- Fetching package metadata
- Package state for APT
- Package state for aptitude
- Local copies of fetched packages
- Debian package file naming conventions
- Using the dpkg command
- Using the update-alternatives command
- Using the dpkg-statoverride command
- Using the dpkg-divert command
Recovering from a Broken System
- Handling incompatibility with old user configurations
- Resolving overlapping files in different packages
- Fixing broken package scripts
- Using dpkg for rescue operations
- Recovering package selection data
Tips for Package Management
- 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
- Performing emergency downgrades
- Identifying package uploaders
- Using the equivs package
- Porting packages to a stable system
- Configuring an APT proxy server
- Managing a small public package archive
- Recording and copying system configurations
- Converting or installing alien binary packages
- Extracting packages without dpkg
- Further reading on package management
System Initialization
- Overview of the bootstrap process
- BIOS, boot loaders, and the mini-Debian system
- Understanding runlevels
- Configuring runlevels
- Examples of runlevel management
- Default parameters for init scripts
- Setting the hostname
- Mounting the filesystem
- Initializing network interfaces
- Initializing network services
- Managing system messages
- Managing kernel messages
- Configuring the udev system
- Initializing kernel modules
Authentication and Security
- Standard Unix authentication
- Managing account and password information
- Creating strong passwords
- Creating encrypted passwords
- Understanding PAM and NSS
- Configuring files accessed by PAM and NSS
- Implementing modern centralized system management
- Understanding why GNU su does not support the wheel group
- Enforcing stricter password rules
- Implementing other access controls
- Using sudo
- Configuring SELinux and Apparmor
- Restricting access to specific server services
- Securing authentication mechanisms
- Ensuring secure password transmission over the Internet
- Configuring Secure Shell (SSH)
- Implementing additional security measures for the Internet
- Securing the root password
Network Setup
Basic Network Infrastructure
- Configuring the domain name
- Configuring hostname resolution
- Configuring network interface names
- Defining the network address range for the LAN
- Ensuring network device support
Modern Desktop Network Configuration
- Using GUI network configuration tools
Low-Level Network Configuration
- Using Iproute2 commands
- Executing safe low-level network operations
Network Optimization
- Determining the optimal MTU
- Configuring the MTU
- Optimizing WAN TCP
Netfilter Infrastructure
Network Applications
The Mail System
- Foundations of modern mail services
- Mail configuration strategies for workstations
Mail Transport Agent (MTA) and Mail User Agent (MUA)
- Overview of exim4
- Basic MUA using Mutt
Mail Delivery Agent (MDA) with Filters
- Configuring maildrop
- Configuring procmail
- Redelivering mbox contents
POP3/IMAP4 Server
Remote Access Server and Utility (SSH)
- SSH fundamentals
- Port forwarding for SMTP/POP3 tunneling
- Connecting without remote passwords
- Managing incompatible SSH clients
- Configuring ssh-agent
- Shutting down remote systems 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
- Configuring 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
- Utilizing 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
- Using the log daemon
- Using log analyzers
- Cleanly recording shell activities
- Customizing text data display
- Customizing time and date display
- Using colorized shell echo
- Using colorized commands
- Recording editor activities for complex repeats
- Recording the graphical 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 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 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 in a loop over files
- Starting a program from the GUI
- Customizing program startup
- Killing a process
- Scheduling one-time tasks
- Scheduling recurring tasks
- Using the Alt-SysRq key
System Maintenance Tips
- Monitoring who is on the system
- Broadcasting warnings to 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
- Installing kernel headers
- Compiling the kernel and related modules
- Compiling the kernel source: Debian standard method
- Compiling module source: Debian standard method
- Managing non-free hardware drivers
Virtualized System
- Using virtualization tools
- Virtualization workflow
- Mounting virtual disk image files
- Using chroot
- Running multiple desktop systems
Data Management
Sharing, Copying, and Archiving
- Using archive and compression tools
- Using copy and synchronization tools
- Archiving idioms
- Copying idioms
- File selection idioms
- Backup and recovery strategies
- Utilizing 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
- Managing 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 hard links
- Identifying invisible disk space consumption
Data Security Infrastructure
- Key management for GnuPG (signing and encrypting)
- Using MD5 sums
35 Hours