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 a Debian version
- Debian support and assistance resources
- The Debian community
Console fundamentals
- The shell prompt
- Shell prompt behavior in the X environment
- Root account and root shell access (su, sudo, executing commands as root under X)
- Graphical system administration tools
- Virtual consoles
- Exiting the command prompt
- System shutdown procedures
- Restoring a stable console session
- Recommended additional packages for beginners
- Creating additional user accounts
- Configuring sudo
The filesystem
- File permissions
- Controlling permissions for new files: umask
- Group-based permissions
- Timestamps
- Symbolic and hard links
- Named pipes (FIFOs)
- Sockets
- Device files
- Special device files
- procfs and sysfs
Midnight Commander (MC)
- Customizing MC
- Launching MC
- File management within MC
- Command-line techniques in MC
- The internal editor in MC
- The internal viewer in MC
- MC auto-start capabilities
- FTP virtual filesystem support in MC
Essential Unix-like work environment
- The login shell
- Customizing bash
- Special key sequences
- Using the pager
- Setting a default text editor
- Exiting vim
- Logging shell activities
- Fundamental Unix commands
Basic shell commands
- Command execution and environment variables
- The "$LANG" variable
- The "$PATH" variable
- The "$HOME" variable
- Command-line options
- Shell globbing
- Command return values
- Common command sequences and shell redirection
- Command aliases
Unix-style text processing
- Unix text utilities
- Regular expressions
- Replacement patterns
- Global substitution using regular expressions
- Extracting data from tabular text files
- Script snippets for command piping
Debian package management
Prerequisites for Debian package management
- Package configuration
- Basic safety measures
- Managing continuous upgrades
- Debian archive fundamentals
- Package dependencies
- The workflow of package management
- Initial steps for resolving package issues
Fundamental package management operations
- Comparison of apt-get/apt-cache vs. aptitude
- Basic package operations via the command line
- Interactive use of aptitude
- aptitude key bindings
- Package views in aptitude
- Search options with aptitude
- aptitude regex formulas
- Dependency resolution in aptitude
- Package activity logs
aptitude operation examples
- Listing packages with regex matching on names
- Browsing using regex matching
- Thoroughly purging removed packages
- Organizing auto/manual install status
- System-wide upgrades
Advanced package management operations
- Advanced command-line package operations
- Verifying installed package files
- Protecting against package issues
- Searching package metadata
Debian package management internals
- Archive metadata
- Top-level "Release" file and authenticity
- Archive-level "Release" files
- Retrieving package metadata
- Package state in APT
- Package state in aptitude
- Local copies of downloaded packages
- Debian package file naming conventions
- The dpkg command
- The update-alternative command
- The dpkg-statoverride command
- The dpkg-divert command
Recovering from a broken system
- Issues with old user configurations
- Conflicts between packages with overlapping files
- Correcting broken package scripts
- Rescue operations using dpkg
- Restoring package selection data
Package management tips
- Choosing Debian packages
- Using packages from mixed archive sources
- Adjusting candidate versions
- Handling updates and Backports
- Automatic package download and upgrade
- Limiting APT download bandwidth
- Emergency downgrades
- Identifying package uploaders
- The equivs package
- Porting packages to stable systems
- Configuring an APT proxy server
- Setting up a small public package archive
- Recording and copying system configurations
- Converting or installing non-native binary packages
- Extracting packages without dpkg
- Further reading on 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
- Hostname configuration
- Filesystem setup
- 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 data
- Creating strong passwords
- Generating encrypted passwords
- PAM and NSS
- Configuration files for PAM and NSS
- Modern centralized system management
- Why GNU su does not support the wheel group
- Implementing stricter password policies
- Other access control methods
- Using sudo
- SELinux and AppArmor
- Restricting access to specific server services
- Securing authentication
- Secure password transmission over the internet
- Secure Shell (SSH)
- Additional internet security measures
- Securing the root password
Network setup
Basic network infrastructure
- Domain names
- Hostname resolution
- Network interface naming
- LAN network address ranges
- Network device support
Modern desktop network configuration
- GUI-based network configuration tools
Low-level network configuration
- Iproute2 commands
- Safe low-level network operations
Network optimization
- Determining the optimal MTU
- Configuring the MTU
- WAN TCP optimization
Netfilter infrastructure
Network applications
The mail system
- Fundamentals of modern mail services
- Mail configuration strategies for workstations
Mail transport agent (MTA) and Mail user agent (MUA)
- Introduction to exim4
- Basic MUA usage with Mutt
Mail delivery agent (MDA) with filters
- Configuring maildrop
- Configuring procmail
- Redelivering mbox contents
POP3/IMAP4 servers
Remote access servers and utilities (SSH)
- SSH fundamentals
- Port forwarding for SMTP/POP3 tunneling
- Connecting without remote passwords
- Handling non-standard 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
- Server/client relationships
- 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
- Secure 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
- The log daemon
- Log analysis tools
- Cleanly recording shell activities
- Custom text data display
- Custom time and date display
- Colorized shell echo
- Colorized commands
- Recording editor actions for complex repetitions
- Capturing X application graphics
- Tracking configuration file changes
Data storage tips
- Disk partition setup
- Accessing partitions via UUID
- Filesystem configuration
- Creating and checking filesystem integrity
- Filesystem optimization via mount options
- Filesystem optimization via superblock
- Hard disk optimization
- Predicting hard disk failures using SMART
- Expanding usable storage with LVM
- Expanding storage by mounting additional partitions
- Expanding storage using symlinks
- Expanding storage 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 volumes
Monitoring, controlling, and starting program activities
- Timing processes
- Scheduling priorities
- The ps command
- The top command
- Listing files opened by a process
- Tracing program activities
- Identifying processes using files or sockets
- Repeating commands at constant intervals
- Repeating commands by looping over files
- Launching programs from the GUI
- Customizing programs to start
- Terminating processes
- Scheduling one-time tasks
- Scheduling recurring tasks
- The Alt-SysRq key
System maintenance tips
- Identifying active users
- Sending warnings to all users
- Hardware identification
- Hardware configuration
- System and hardware time synchronization
- Terminal configuration
- Sound infrastructure
- Disabling the screen saver
- Disabling beep sounds
- Memory usage monitoring
- System security and integrity checks
The kernel
- Kernel parameters
- Kernel headers
- Compiling the kernel and related modules
- Compiling the kernel source: Debian standard approach
- Compiling module sources: Debian standard approach
- Non-free hardware drivers
Virtualized systems
- Virtualization tools
- Virtualization workflows
- Mounting virtual disk image files
- Chroot systems
- Managing multiple desktop systems
Data management
Sharing, copying, and archiving
- Archive and compression tools
- Copy and synchronization tools
- Archiving idioms
- Copying idioms
- File selection idioms
- Backup and recovery
- Backup utility suites
- Sample script for system backup
- Sample script for data backup
- Removable storage devices
- Sharing data over the network
- Archive media
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
- Wiping an entire hard disk
- Wiping unused areas of a hard disk
- Restoring deleted but still open files
- Finding all hard links
- Invisible disk space consumption
Data security infrastructure
- GnuPG key management (signing and encryption)
- MD5 checksums
Requirements
No specific prerequisites are required to participate in this course.
35 Hours