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?
- Choosing the appropriate Debian version
- Accessing Debian support and assistance
- Engaging with the Debian community
Console fundamentals
- 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 under X)
- Employing GUI system administration tools
- Navigating virtual consoles
- Exiting the command prompt
- Shutting down the system
- Restoring a functional console
- Recommended packages for beginners
- Setting up an additional user account
- Configuring sudo
Understanding the filesystem
- Filesystem permissions
- Controlling permissions for newly created files via umask
- Managing permissions for user groups
- Understanding timestamps
- Working with links
- Utilizing named pipes (FIFOs)
- Managing sockets
- Handling device files
- Working with special device files
- Navigating procfs and sysfs
Mastering Midnight Commander (MC)
- Customizing MC settings
- Launching MC
- Navigating the file manager within MC
- Utilizing command-line shortcuts in MC
- Using the internal editor in MC
- Using the internal viewer in MC
- Leveraging MC auto-start features
- Accessing MC's FTP virtual filesystem
The standard Unix-like work environment
- Understanding the login shell
- Customizing bash
- Utilizing special key strokes
- Using the pager
- Setting a default text editor
- Exiting vim effectively
- Recording shell activities
- Executing basic Unix commands
Essential shell commands
- Command execution and environment variables
- The "$LANG" variable
- The "$PATH" variable
- The "$HOME" variable
- Utilizing command line options
- Understanding shell globbing
- Interpreting command return values
- Common command sequences and shell redirection
- Creating command aliases
Unix-like text processing
- Introduction to Unix text tools
- Understanding regular expressions
- Using replacement expressions
- Performing global substitutions with regular expressions
- Extracting data from text file tables
- Scripting snippets for piping commands
Debian package management
Prerequisites for Debian package management
- Configuring packages
- Essential precautions
- Managing long-term upgrades
- Basics of the Debian archive
- Understanding package dependencies
- 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
- Interactive use of aptitude
- Key bindings in aptitude
- Exploring package views under aptitude
- Search method options with aptitude
- The aptitude regex formula
- Dependency resolution in aptitude
- Reviewing package activity logs
Examples of aptitude operations
- Listing packages with regex matching on package names
- Browsing with regex matching
- Purging removed packages permanently
- Managing 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
- Implementing safeguards for package issues
- Searching package metadata
Debian package management internals
- Archive metadata
- Top-level "Release" file and authenticity verification
- 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-alternative command
- Using the dpkg-statoverride command
- Using the dpkg-divert command
Recovery from a broken system
- Addressing incompatibility with old user configurations
- Resolving 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
- Handling packages from mixed archive sources
- Adjusting candidate versions
- Managing updates and backports
- Automating package downloads and upgrades
- Limiting download bandwidth for APT
- Performing emergency downgrades
- Identifying package uploaders
- Utilizing the equivs package
- Porting packages to stable systems
- Configuring a proxy server for APT
- Managing small public package archives
- Recording and copying system configurations
- Converting or installing alien binary packages
- Extracting packages without dpkg
- Additional resources for package management
System initialization
- Overview of the bootstrapping process
- BIOS, boot loaders, and mini-Debian systems
- Understanding runlevels
- Configuring runlevels
- Runlevel management examples
- Default parameters for init scripts
- Managing the hostname
- Configuring the filesystem
- Initializing network interfaces
- Initializing network services
- Managing system messages
- Interpreting kernel messages
- 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
- Exploring other access controls
- Using sudo
- Utilizing SELinux and AppArmor
- Restricting access to specific server services
- Ensuring authentication security
- Securing passwords 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
- Managing network interface names
- Defining network address ranges for the LAN
- Supporting network devices
Modern network configuration for desktops
- Utilizing 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 filtering
- Configuring maildrop
- Configuring procmail
- Redelivering mbox contents
POP3/IMAP4 server
Remote access server and utility (SSH)
- SSH basics
- Port forwarding for SMTP/POP3 tunneling
- Connecting without remote passwords
- Managing compatibility with non-standard SSH clients
- Setting up 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 (traditional method)
- Customizing the X session (modern 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
- Understanding the log daemon
- Using log analyzers
- Cleanly recording shell activities
- Customizing text data display
- Customizing time and date display
- Colorizing shell echo output
- Colorizing 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
- 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 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
- 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 constant intervals
- Repeating a command across 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
- Identifying logged-in users
- Broadcasting warnings to all users
- Identifying hardware
- Configuring hardware
- Managing system and hardware time
- Configuring the terminal
- Setting up the sound infrastructure
- Disabling the screen saver
- Disabling beep sounds
- Monitoring memory usage
- Checking system security and integrity
The kernel
- Configuring kernel parameters
- Managing kernel headers
- Compiling the kernel and related modules
- Compiling the kernel source using Debian standard methods
- Compiling module source using Debian standard methods
- Handling non-free hardware drivers
Virtualized systems
- Virtualization tools
- Virtualization workflow
- Mounting virtual disk image files
- Using chroot systems
- Managing multiple desktop systems
Data management
Sharing, copying, and archiving
- Archive and compression tools
- Copy and synchronization tools
- Archive idioms
- Copy idioms
- File selection idioms
- Backup and recovery strategies
- Backup utility suites
- Example script for system backup
- Script for data backup
- Using removable storage devices
- Sharing data via the network
- Archive media
Handling binary data
- Viewing and editing binary data
- Manipulating files without mounting the disk
- Understanding 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 hard links
- Understanding invisible disk space consumption
Data security infrastructure
- Key management for GnuPG (signing and encrypting)
- Using MD5 sums
Requirements
There are no specific prerequisites required to enroll in this course.
35 Hours