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
- Debian support and assistance resources
- The Debian community
Console fundamentals
- Understanding the shell prompt
- Using the shell prompt within the X environment
- The root account and root shell prompt (utilizing su, sudo, and executing programs as root in X)
- Graphical user interface (GUI) system administration tools
- Virtual consoles
- Exiting the command prompt
- Shutting down the system properly
- Restoring a functional console state
- Recommended packages for beginners
- Setting up an additional user account
- Configuring sudo
The filesystem
- Filesystem permissions
- Managing permissions for newly created files: umask
- Permissions for user groups (group)
- File timestamps
- File links
- Named pipes (FIFOs)
- Sockets
- Device files
- Special device files
- Understanding procfs and sysfs
Midnight Commander (MC)
- Customizing MC
- Launching MC
- Navigating files in MC
- Command-line techniques within MC
- Using MC's internal editor
- Using MC's internal viewer
- Auto-start features of MC
- MC's FTP virtual filesystem
Basic Unix-like work environment
- Configuring the login shell
- Customizing bash
- Essential keyboard shortcuts
- Using the pager
- Setting a default text editor
- Exiting vim
- Logging shell activities
- Essential Unix commands
Simple shell commands
- Command execution and environment variables
- The "$LANG" variable
- The "$PATH" variable
- The "$HOME" variable
- Command-line options
- Shell globbing
- Command return values
- Typical command sequences and shell redirection
- Command aliases
Unix-like text processing
- Unix text processing tools
- Regular expressions
- Replacement expressions
- Global substitution using regular expressions
- Extracting data from text file tables
- Script snippets for piping commands
Debian package management
Prerequisites for Debian package management
- Package configuration
- Basic precautions
- Managing continuous upgrades
- Basics of the Debian archive
- Package dependencies
- Package management workflow
- Initial responses to package management issues
Basic package management operations
- Comparing apt-get/apt-cache with aptitude
- Basic package management via command line
- Interactive use of aptitude
- aptitude key bindings
- Package views in aptitude
- Search method options in aptitude
- The aptitude regex formula
- Dependency resolution in aptitude
- Package activity logs
Examples of aptitude operations
- Listing packages with regex matching on package names
- Browsing using regex matching
- Purging removed packages permanently
- Adjusting auto/manual installation status
- Performing a system-wide upgrade
Advanced package management operations
- Advanced package management via command line
- Verifying installed package files
- Precautions against package problems
- Searching package metadata
Debian package management internals
- Archive metadata
- The top-level "Release" file and authenticity
- Archive-level "Release" files
- Fetching package metadata
- APT package state
- aptitude package state
- Local copies of fetched packages
- Debian package file naming conventions
- The dpkg command
- The update-alternative command
- The dpkg-statoverride command
- The dpkg-divert command
Recovery from a broken system
- Resolving incompatibility with old user configurations
- Handling overlapping files in different packages
- Fixing broken package scripts
- Using dpkg for rescue operations
- Recovering package selection data
Tips for package management
- Selecting Debian packages
- Managing packages from mixed archive sources
- Adjusting candidate versions
- Updates and Backports
- Automatic package download and upgrade
- Limiting APT download bandwidth
- Emergency downgrading
- Identifying package uploaders
- The equivs package
- Porting packages to stable systems
- APT proxy server configuration
- Small public package archives
- Recording and copying system configurations
- Converting or installing alien binary packages
- Extracting packages without dpkg
- Further readings on package management
The system initialization
- Overview of the boot strap process
- BIOS, boot loader, and mini-Debian system
- Understanding runlevels
- Configuring runlevels
- Runlevel management examples
- Default parameters for init scripts
- The hostname
- The filesystem
- Network interface initialization
- Network service initialization
- System messages
- Kernel messages
- The udev system
- Kernel module initialization
Authentication and Security
- Standard Unix authentication
- Managing account and password information
- Creating strong passwords
- Generating encrypted passwords
- PAM and NSS
- Configuration files accessed by PAM and NSS
- Modern centralized system management
- "Why GNU su does not support the wheel group"
- Enforcing stricter password rules
- Other access controls
- sudo
- SELinux and Apparmor
- Restricting access to specific server services
- Authentication security
- Secure password transmission over the Internet
- Secure Shell
- Additional security measures for the Internet
- Securing the root password
Network setup
The basic network infrastructure
- The domain name
- Hostname resolution
- Network interface naming
- LAN network address ranges
- Network device support
Modern network configuration for desktop
- GUI network configuration tools
Low-level network configuration
- Iproute2 commands
- Safe low-level network operations
Network optimization
- Finding optimal MTU
- Setting MTU
- WAN TCP optimization
Netfilter infrastructure
Network applications
The mail system
- Modern mail service basics
- 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
- maildrop configuration
- procmail configuration
- 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 remote systems via SSH
- SSH troubleshooting
Other network application servers
Other network application clients
Diagnosing system daemons
The X Window System
- Setting up the desktop environment
- The server/client relationship
- 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 via 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
- The log daemon
- Log analyzers
- Cleanly recording shell activities
- Customizing text data display
- Customizing date and time display
- Colorized shell echo
- Colorized commands
- Recording editor activities for complex repeats
- Recording X application graphic images
- Recording changes in configuration files
Data storage tips
- Disk partition configuration
- Accessing partitions using UUID
- Filesystem configuration
- Filesystem creation and integrity checks
- Optimizing filesystems via mount options
- Optimizing filesystems via superblocks
- Hard disk optimization
- Using SMART to predict hard disk failure
- Expanding usable storage via LVM
- Expanding usable storage by mounting additional partitions
- Expanding usable storage using symlinks
- Expanding usable storage using aufs
Data encryption tips
- Removable disk encryption with dm-crypt/LUKS
- Encrypted swap partition with dm-crypt
- Automatically encrypting files with eCryptfs
- Automounting eCryptfs
Monitoring, controlling, and starting program activities
- Timing a process
- Setting scheduling priority
- The ps command
- 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 startup programs
- Killing a process
- Scheduling one-time tasks
- Scheduling recurring tasks
- Using the Alt-SysRq key
System maintenance tips
- Monitoring system users
- Warning all users
- Hardware identification
- Hardware configuration
- System and hardware time
- Terminal configuration
- Sound infrastructure
- Disabling the screen saver
- Disabling beep sounds
- Memory usage
- System security and integrity checks
The kernel
- Kernel parameters
- Kernel headers
- Compiling the kernel and related modules
- Compiling kernel source: Debian standard method
- Compiling module source: Debian standard method
- Non-free hardware drivers
Virtualized system
- Virtualization tools
- Virtualization workflow
- Mounting virtual disk image files
- Chroot system
- 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
- Backup utility suites
- Example script for system backup
- Script for data backup copying
- Removable storage devices
- Sharing data via network
- Archive media
The binary data
- Viewing and editing binary data
- Manipulating files without mounting disks
- 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 all hardlinks
- Identifying invisible disk space consumption
Data security infrastructure
- Key management for GnuPG (signing and encrypting)
- The MD5 sum
35 Hours