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?
- Choosing the appropriate Debian version
- Understanding Debian support and help resources
- Engaging with the Debian community
Console fundamentals
- Understanding the shell prompt
- Managing the shell prompt in a graphical environment (X)
- Utilizing the root account and root shell prompt (su, sudo, and running programs as root under X)
- Overview of GUI system administration tools
- Using virtual consoles
- Exiting the command prompt correctly
- Properly shutting down the system
- Recovering a malfunctioning console
- Recommended additional packages for newcomers
- Setting up an extra user account
- Configuring sudo
The filesystem
- Understanding filesystem permissions
- Controlling permissions for newly created files: umask
- Managing permissions for user groups
- Working with timestamps
- Understanding file links
- Using named pipes (FIFOs)
- Understanding sockets
- Device files
- Special device files
- Understanding procfs and sysfs
Midnight Commander (MC)
- Customizing MC settings
- Launching MC
- Navigating the file manager within MC
- Utilizing command-line tricks in MC
- Using the internal editor in MC
- Using the internal viewer in MC
- Enabling auto-start features of MC
- Accessing the FTP virtual filesystem in MC
The basic Unix-like work environment
- Understanding the login shell
- Customizing bash
- Mastering special key strokes
- Using the pager
- Setting a default text editor
- Exiting vim
- Recording 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
- Shell globbing
- Interpreting command return values
- Utilizing typical command sequences and shell redirection
- Creating command aliases
Unix-like text processing
- Using Unix text tools
- Working with regular expressions
- Using replacement expressions
- Performing global substitution with regular expressions
- Extracting data from text file tables
- Writing script snippets for piping commands
Debian package management
Debian package management prerequisites
- Configuring packages
- Implementing basic precautions
- Managing life with constant upgrades
- Understanding Debian archive basics
- Understanding package dependencies
- Understanding the event flow of package management
- Providing initial responses to package management issues
Basic package management operations
- Comparing apt-get/apt-cache vs. aptitude
- Executing basic package management operations via the command line
- Using aptitude interactively
- Utilizing key bindings in aptitude
- Navigating package views under aptitude
- Using search method options with aptitude
- Utilizing the aptitude regex formula
- 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
- Completely purging removed packages
- Organizing auto/manual install statuses
- Performing a system-wide upgrade
Advanced package management operations
- Executing advanced package management operations via the command line
- Verifying installed package files
- Safeguarding against package problems
- Searching package metadata
Debian package management internals
- Archive metadata
- The top-level "Release" file and its authenticity
- Archive-level "Release" files
- Fetching metadata for packages
- The package state for APT
- The 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
Recovery from a broken system
- Handling incompatibility with old user configurations
- Managing different packages with overlapping files
- Fixing broken package scripts
- Rescuing the system with the dpkg command
- Recovering package selection data
Tips for package management
- How to select Debian packages
- Handling packages from mixed archive sources
- Tweaking candidate versions
- Understanding updates and backports
- Automating package download and upgrade processes
- Limiting download bandwidth for APT
- Performing emergency downgrades
- Identifying who uploaded a package
- Using the equivs package
- Porting a package to a stable system
- Configuring a proxy server for APT
- Managing a small public package archive
- Recording and copying system configuration
- Converting or installing alien binary packages
- Extracting packages without dpkg
- Additional readings for package management
The system initialization
- Overview of the boot strap process
- Understanding BIOS, boot loaders, and the mini-Debian system
- Understanding the meaning of runlevels
- Configuring runlevels
- Runlevel management examples
- Default parameters for each init script
- Configuring the hostname
- Configuring the filesystem
- Initializing network interfaces
- Initializing network services
- Managing system messages
- Managing kernel messages
- Understanding the udev system
- Initializing kernel modules
Authentication and Security
- Standard Unix authentication
- Managing account and password information
- Creating strong passwords
- Creating 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"
- Implementing stricter password rules
- Exploring other access controls
- Using sudo
- Implementing SELinux and Apparmor
- Restricting access to specific server services
- Ensuring authentication security
- Securing passwords over the Internet
- Implementing Secure Shell
- Implementing extra security measures for the Internet
- Securing the root password
Network setup
The basic network infrastructure
- Configuring the domain name
- Configuring hostname resolution
- Configuring network interface names
- Configuring the network address range for the LAN
- Configuring network device support
Modern network configuration for desktops
- Using 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
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
- Basic MUA: Mutt
Mail delivery agent (MDA) with filters
- Configuring maildrop
- Configuring procmail
- Redelivering mbox contents
POP3/IMAP4 server
The remote access server and utility (SSH)
- SSH basics
- Setting up port forwarding for SMTP/POP3 tunneling
- Connecting without remote passwords
- Managing incompatible SSH clients
- Setting up ssh-agent
- Shutting down the 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
- Understanding 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 the X terminal 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
- Configuring 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 graphic image of an X application
- Recording changes in configuration files
Data storage tips
- Disk partition configuration
- Accessing partitions using UUID
- Filesystem configuration
- Creating filesystems and performing integrity checks
- Optimizing filesystems via mount options
- Optimizing filesystems via superblock
- Optimizing hard disks
- 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
- Automounting eCryptfs
Monitoring, controlling, and starting program activities
- Timing a process
- Managing 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 a constant interval
- Repeating a command while looping over files
- Starting a program from the GUI
- Customizing programs to be started
- Killing a process
- Scheduling one-time tasks
- Scheduling recurring tasks
- Using the Alt-SysRq key
System maintenance tips
- Identifying who is on the system
- Warning all users
- Hardware identification
- Hardware configuration
- Managing system and hardware time
- Terminal configuration
- Sound infrastructure
- Disabling the screen saver
- Disabling beep sounds
- Monitoring memory usage
- Performing system security and integrity checks
The kernel
- Kernel parameters
- Kernel headers
- Compiling the kernel and related modules
- Compiling the kernel source: Debian standard method
- Compiling the module source: Debian standard method
- 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
- Idioms for archiving
- Idioms for copying
- Idioms for file selection
- Backup and recovery
- Backup utility suites
- Example script for system backup
- Copy script for data backup
- 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 files that are deleted but still open
- Searching for all hard links
- Identifying invisible disk space consumption
Data security infrastructure
- Key management for GnuPG (signing and encrypting)
- Using the MD5 sum
35 Hours