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 resources and assistance
- The Debian community
Console fundamentals
- Understanding the shell prompt
- Managing the shell prompt in a graphical environment (X)
- Using the root account and root shell prompt (su, sudo, executing programs as root in X)
- GUI-based system administration tools
- Working with virtual consoles
- Exiting the command prompt
- Properly shutting down the system
- Recovering a stable console state
- Recommended additional packages for beginners
- Creating an additional user account
- Configuring sudo
The filesystem
- Filesystem permissions
- Controlling permissions for newly created files: umask
- Managing permissions for user groups (group)
- Understanding timestamps
- Working with links
- Using named pipes (FIFOs)
- Utilizing sockets
- Understanding device files
- Working with special device files
- Navigating procfs and sysfs
Midnight Commander (MC)
- Customizing MC
- Launching MC
- Navigating the file manager in MC
- Command-line techniques within MC
- Using MC's internal editor
- Using MC's internal viewer
- Configuring auto-start features in MC
- Utilizing MC's FTP virtual filesystem
The basic Unix-like work environment
- The login shell
- Customizing bash
- Using special keystrokes
- Working with the pager
- Setting a default text editor
- Exiting vim
- Recording shell activities
- Using basic Unix commands
Basic shell commands
- Command execution and environment variables
- The "$LANG" variable
- The "$PATH" variable
- The "$HOME" variable
- Command line options
- Shell globbing
- Understanding command return values
- Typical command sequences and shell redirection
- Creating 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
- Essential precautions
- Navigating long-term upgrades
- Fundamentals of the Debian archive
- Understanding package dependencies
- The workflow of package management
- Initial responses to package management issues
Basic package management operations
- Comparing apt-get/apt-cache vs. aptitude
- Performing basic package management via the command line
- Interactive usage of aptitude
- Key bindings in aptitude
- Package views in aptitude
- Search option methods with aptitude
- The aptitude regex formula
- Dependency resolution in aptitude
- Accessing package activity logs
Examples of aptitude operations
- Listing packages using regex matching on names
- Browsing with regex matching
- Permanently purging removed packages
- Adjusting auto/manual installation status
- Performing a system-wide upgrade
Advanced package management operations
- Advanced package management via the command line
- Verifying installed package files
- Implementing safeguards for package issues
- Searching package metadata
Internals of Debian package management
- Archive metadata
- The top-level "Release" file and authenticity
- 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
Recovering from a broken system
- Handling incompatibility with old user configurations
- Resolving conflicts from different packages with overlapping files
- Fixing broken package scripts
- Rescuing the system using dpkg
- Recovering package selection data
Tips for package management
- Selecting appropriate Debian packages
- Handling packages from mixed archive sources
- Adjusting candidate versions
- Updates and Backports
- Automating package downloads and upgrades
- Limiting download bandwidth for APT
- Emergency downgrading
- Identifying the package uploader
- Using the equivs package
- Porting packages to the stable system
- Configuring a proxy server for APT
- Managing a small public package archive
- 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 boot process
- BIOS, boot loaders, and the mini-Debian system
- Understanding runlevels
- Configuring runlevels
- Runlevel management examples
- Default parameters for init scripts
- Setting the hostname
- Filesystem setup
- Initializing network interfaces
- Initializing network services
- Managing system messages
- Handling 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
- "Why GNU su does not support the wheel group"
- Implementing stricter password rules
- Other access control methods
- Using sudo
- SELinux and AppArmor
- Restricting access to specific server services
- Securing authentication
- Transmitting secure passwords over the Internet
- Using Secure Shell
- Additional security measures for Internet services
- Securing the root password
Network setup
Basic network infrastructure
- Understanding domain names
- Hostname resolution
- Network interface naming
- LAN network address ranges
- Network device support
Modern network configuration for desktops
- 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
- 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)
- Overview of exim4
- Basic MUA - 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
- Managing incompatible SSH clients
- Setting up ssh-agent
- Shutting down a remote system via SSH
- Troubleshooting SSH
Other network application servers
Other network application clients
Diagnosing system daemons
The X Window System
- Setting up the desktop environment
- 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
- Using 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 echo
- Colorized commands
- Recording editor activities for complex repetitions
- Recording the graphical image of an X application
- Recording changes in configuration files
Data storage tips
- Disk partition configuration
- Accessing partitions using UUID
- Filesystem configuration
- Creating and checking filesystem integrity
- Optimizing filesystems via mount options
- Optimizing filesystems via superblock
- Hard disk optimization
- 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
- Creating encrypted swap partitions with dm-crypt
- Automatically encrypting files with eCryptfs
- Automatically mounting eCryptfs
Monitoring, controlling, and starting program activities
- Timing a process
- Setting 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 while looping over files
- Starting a program from the GUI
- Customizing program startup
- Killing a process
- Scheduling one-time tasks
- Scheduling regular tasks
- Using the Alt-SysRq key
System maintenance tips
- Checking who is logged into the system
- 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
- Checking system security and integrity
The kernel
- Kernel parameters
- 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 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
- Backup utility suites
- Example script for system backup
- Script for data backup copying
- Using removable storage devices
- Sharing data via the network
- Archive media
Binary data
- Viewing and editing binary data
- Manipulating files without mounting the disk
- 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
- Identifying invisible disk space consumption
Data security infrastructure
- Key management for GnuPG (signing and encrypting)
- Understanding MD5 sums
Requirements
There are no specific prerequisites required to enroll in this course.
35 Hours