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 help resources
- Engaging with the Debian community
Console essentials
- Understanding the shell prompt
- Operating the shell prompt within the X environment
- Utilizing the root account and root shell prompt (su, sudo, running programs as root under X)
- GUI-based system administration tools
- Using virtual consoles
- Exiting the command prompt correctly
- Properly shutting down the system
- Restoring a functional console session
- Recommended additional packages for beginners
- Creating an extra user account
- Configuring sudo permissions
The filesystem
- Understanding filesystem permissions
- Controlling permissions for new files: using umask
- Managing permissions for user groups
- Working with timestamps
- Creating and managing links
- Using named pipes (FIFOs)
- Understanding sockets
- Working with device files
- Distinguishing special device files
- Utilizing procfs and sysfs
Midnight Commander (MC)
- Customizing MC settings
- Launching MC
- Using the file manager in MC
- Advanced command-line techniques in MC
- Navigating the internal editor in MC
- Using the internal viewer in MC
- Configuring auto-start features in MC
- Utilizing MC's FTP virtual filesystem
The basic Unix-like work environment
- Understanding the login shell
- Customizing bash
- Using special keystrokes
- Utilizing the pager
- Setting a default text editor
- Exiting vim properly
- Logging shell activities
- Executing basic Unix commands
Simple 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 command return values
- Executing typical command sequences and shell redirection
- Creating command aliases
Unix-like text processing
- Using Unix text tools
- Understanding regular expressions
- Using replacement expressions
- Performing global substitutions with regular expressions
- Extracting data from text file tables
- Writing script snippets for piping commands
Debian package management
Debian package management prerequisites
- Configuring packages
- Essential precautions
- Managing long-term upgrades
- Understanding Debian archive basics
- Managing package dependencies
- Understanding the package management event flow
- Initial troubleshooting for package management issues
Basic package management operations
- Comparing apt-get/apt-cache vs. aptitude
- Performing basic package management via the command line
- Using aptitude interactively
- Understanding aptitude key bindings
- Navigating package views in aptitude
- Using search method options with aptitude
- Constructing aptitude regex formulas
- Resolving dependencies with aptitude
- Reviewing package activity logs
Examples of aptitude operations
- Listing packages using regex matching on package names
- Browsing packages with regex matching
- Permanently purging removed packages
- Managing auto/manual installation status
- Performing a system-wide upgrade
Advanced package management operations
- Performing advanced package management operations via command line
- Verifying installed package files
- Implementing safeguards against package issues
- Searching package metadata
Debian package management internals
- Understanding archive metadata
- Examining the top-level "Release" file and authenticity
- Understanding archive-level "Release" files
- Fetching package metadata
- Understanding package state for APT
- Understanding package state for aptitude
- Managing local copies of fetched packages
- Understanding 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
- Handling incompatibilities with old user configurations
- Resolving conflicts between packages with overlapping files
- Fixing broken package scripts
- Rescuing the system using 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 downloads and upgrades
- Limiting download bandwidth for APT
- Performing emergency downgrades
- Identifying package uploaders
- Using the equivs package
- Porting packages to stable systems
- Configuring proxy servers for APT
- Setting up small public package archives
- Recording and copying system configurations
- Converting or installing alien binary packages
- Extracting packages without using dpkg
- Further reading resources for package management
The system initialization
- Overview of the bootstrapping process
- BIOS, boot loader, and mini-Debian systems
- Understanding runlevels
- Configuring runlevels
- Runlevel management examples
- Default parameters for each init script
- Managing the hostname
- Mounting the filesystem
- Initializing network interfaces
- Initializing network services
- Managing system messages
- Interpreting 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
- Understanding why GNU su does not support the wheel group
- Enforcing stricter password rules
- Implementing other access controls
- Configuring sudo
- Using SELinux and AppArmor
- Restricting access to specific server services
- Ensuring authentication security
- Securing passwords over the Internet
- Using Secure Shell (SSH)
- Implementing additional security measures for Internet connectivity
- Securing the root password
Network setup
The basic network infrastructure
- Managing domain names
- Performing hostname resolution
- Understanding network interface naming
- Defining network address ranges for LAN
- Ensuring network device support
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
- Finding the optimal MTU
- Setting the MTU
- Optimizing WAN TCP performance
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
- Using the basic MUA: Mutt
Mail delivery agent (MDA) with filters
- Configuring maildrop
- Configuring procmail
- Redelivering mbox contents
POP3/IMAP4 servers
Remote access server and utilities (SSH)
- SSH fundamentals
- 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 issues
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
- 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
- Using colorized shell echo
- Using colorized commands
- Recording editor activities for complex repetitions
- Recording the graphical 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 performing integrity checks
- 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 processes
- Adjusting 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 commands at constant intervals
- Looping commands over files
- Starting programs from the GUI
- Customizing startup programs
- Terminating processes
- Scheduling one-time tasks
- Scheduling recurring tasks
- Using the Alt-SysRq key
System maintenance tips
- Identifying logged-in users
- Notifying all users
- Identifying hardware
- Configuring hardware
- Managing system and hardware time
- Configuring the terminal
- Managing the sound infrastructure
- Disabling the screen saver
- Disabling beep sounds
- Monitoring memory usage
- Performing system security and integrity checks
The kernel
- Understanding kernel parameters
- Understanding kernel headers
- Compiling the kernel and related modules
- Compiling kernel source: Debian standard method
- Compiling module source: Debian standard method
- Handling non-free hardware drivers
Virtualized systems
- Virtualization tools
- Virtualization workflows
- Mounting virtual disk image files
- Using chroot systems
- Running multiple desktop systems
Data management
Sharing, copying, and archiving
- Using archive and compression tools
- Using copy and synchronization tools
- Archive idioms and best practices
- Copy idioms and best practices
- File selection idioms
- Backup and recovery strategies
- Backup utility suites
- Example scripts for system backup
- Scripts for data backup copies
- Managing removable storage devices
- Sharing data via network
- Using archive media
Binary data
- Viewing and editing binary data
- Manipulating files without mounting disk
- Ensuring 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
- Accounting for invisible disk space consumption
Data security infrastructure
- Key management for GnuPG (signing and encrypting)
- Using MD5 sums
Requirements
No specific prerequisites are required to attend this course.
35 Hours