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
Introduction to Debian
- Selecting a Debian version
- Accessing Debian support and assistance
- The Debian community
Console fundamentals
- The shell prompt
- The shell prompt within the X environment
- Root account management and root shell prompts (su, sudo, executing programs as root under X)
- GUI-based system administration tools
- Virtual consoles
- Exiting the command prompt
- Shutting down the system
- Restoring a functional console
- Recommended additional packages for beginners
- Creating additional user accounts
- Configuring sudo
The filesystem
- Filesystem permissions
- Managing permissions for newly created files using umask
- Group-based permissions
- Timestamps
- Symlinks and hard links
- Named pipes (FIFOs)
- Sockets
- Device files
- Special device files
- procfs and sysfs
Midnight Commander (MC)
- Customizing MC
- Launching MC
- File management features in MC
- Command-line shortcuts in MC
- The built-in editor in MC
- The built-in viewer in MC
- Auto-start capabilities of MC
- MC's FTP virtual filesystem
Basic Unix-like work environment
- The login shell
- Customizing bash
- Special key combinations
- The pager utility
- 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
- Common command sequences and shell redirection
- Command aliases
Unix-like text processing
- Unix text utilities
- 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
- The workflow of package management
- Initial response to package management issues
Basic package management operations
- Comparison of apt-get/apt-cache vs. aptitude
- Basic command-line package management operations
- Interactive usage of aptitude
- Key bindings in aptitude
- 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 using regex matching on names
- Browsing with regex matching
- Completely purging removed packages
- Organizing auto/manual install status
- System-wide upgrades
Advanced package management operations
- Advanced command-line package management operations
- Verifying installed package files
- Mitigating package issues
- Searching package metadata
Internals of Debian package management
- Archive metadata
- The top-level "Release" file and authenticity
- Archive-level "Release" files
- Fetching metadata for packages
- 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
- Incompatibility with old user configurations
- Conflicts from overlapping files between packages
- Repairing broken package scripts
- Rescue procedures using the dpkg command
- Restoring package selection data
Tips for package management
- Selecting Debian packages
- Using packages from mixed archive sources
- Adjusting candidate versions
- Updates and Backports
- Automatic download and upgrade of packages
- Limiting APT download bandwidth
- Emergency downgrading
- Identifying package uploaders
- The equivs package
- Porting packages to stable systems
- Using a proxy server for APT
- Setting up 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 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 information
- Creating strong passwords
- Generating encrypted passwords
- PAM and NSS
- Configuration files used by PAM and NSS
- Modern centralized system management
- "Why GNU su does not support the wheel group"
- Enforcing stricter password rules
- Other access control mechanisms
- Using sudo
- SELinux and AppArmor
- Restricting access to server services
- Authentication security
- 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 network configuration for desktops
- GUI-based network configuration tools
Low-level network configuration
- Iproute2 commands
- Safe low-level network operations
Network optimization
- Finding the optimal MTU
- Setting the MTU
- WAN TCP optimization
Netfilter infrastructure
Network applications
The mail system
- Basics of modern mail services
- Mail configuration strategy for workstations
Mail Transport Agent (MTA) and Mail User Agent (MUA)
- Overview of exim4
- Basic MUA usage - Mutt
Mail Delivery Agent (MDA) with filters
- maildrop configuration
- procmail configuration
- Redelivering mbox contents
POP3/IMAP4 server
Remote access server and utilities (SSH)
- SSH fundamentals
- Port forwarding for SMTP/POP3 tunneling
- Connecting without remote passwords
- Handling non-standard 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
- Server-client relationships
- The X server
- Starting the X Window System
- Starting X sessions with gdm
- Customizing X sessions (classic method)
- Customizing X sessions (modern method)
- Connecting remote X clients via SSH
- Secure X terminal access 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 analyzers
- Cleanly recording shell activities
- Customizing text data display
- Customizing time and date display
- Colorized shell output
- Colorized commands
- Recording editor activities for complex tasks
- Recording graphics from X applications
- Tracking changes in configuration files
Data storage tips
- Disk partition configuration
- Accessing partitions using UUIDs
- Filesystem configuration
- Filesystem creation and integrity checks
- Optimizing filesystems via mount options
- Optimizing filesystems via superblock
- Hard disk optimization
- Predicting hard disk failures using SMART
- Expanding storage space via LVM
- Expanding storage space by mounting additional partitions
- Expanding storage space using symbolic links
- Expanding 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
- Scheduling priority
- The ps command
- The top command
- Listing files opened by a process
- Tracing program activities
- Identifying processes using files or sockets
- Running commands at constant intervals
- Looping commands over files
- Launching programs from the GUI
- Customizing programs to be started
- Terminating processes
- Scheduling one-time tasks
- Scheduling recurring tasks
- Using the Alt-SysRq key
System maintenance tips
- Identifying users on the system
- Warning 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 kernel source: Debian standard method
- Compiling module source: Debian standard method
- Non-free hardware drivers
Virtualized systems
- Virtualization tools
- Virtualization workflow
- Mounting virtual disk image files
- Chroot systems
- 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
- Example script for system backup
- Script for data backup copying
- Removable storage devices
- Sharing data via 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
- 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 hard links
- Invisible disk space consumption
Data security infrastructure
- Key management for GnuPG (signing and encrypting)
- The MD5 checksum
Requirements
There are no specific prerequisites required to participate in this course.
35 Hours