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.
Duration 35 hours
Course Outline
Debian Distribution
Understanding Debian
- Selecting a Debian version
- Obtaining support and assistance
- The Debian community
Console fundamentals
- The shell prompt
- The shell prompt in the X environment
- The root account and superuser shell prompt (su, sudo, executing programs as root under X)
- Graphical system administration tools
- Virtual consoles
- Exiting the command prompt
- Shutting down the system
- Restoring a stable console session
- Recommended additional packages for beginners
- Creating additional user accounts
- Configuring sudo
The Filesystem
- Filesystem permissions
- Controlling permissions for new files: umask
- Permissions for user groups
- Timestamps
- 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 utilities in MC
- MC’s internal editor
- MC’s internal viewer
- MC’s auto-start features
- MC’s FTP virtual filesystem
The basic Unix-like work environment
- The login shell
- Customising bash
- Special key combinations
- Using the pager
- Setting a default text editor
- Exiting vim
- Logging shell activities
- Essential Unix commands
The simple shell command
- 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
- Living with continuous upgrades
- Debian archive fundamentals
- Package dependencies
- The event flow in package management
- Initial responses to package management issues
Basic package management operations
- Comparing apt-get/apt-cache vs. aptitude
- Basic package management via the command line
- Interactive use of aptitude
- aptitude key bindings
- Package views in aptitude
- aptitude search method options
- The aptitude regular expression formula
- aptitude dependency resolution
- Package activity logs
Examples of aptitude operations
- Listing packages via regex matching on names
- Browsing with regex matching
- Permanently purging removed packages
- Cleaning up auto/manual install status
- Performing system-wide upgrades
Advanced package management operations
- Advanced package management via the command line
- Verifying installed package files
- Mitigating 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
- Package state in APT
- Package state in aptitude
- Local copies of fetched packages
- Debian package file naming conventions
- The dpkg command
- The update-alternatives command
- The dpkg-statoverride command
- The dpkg-divert command
Recovery from a broken system
- Incompatibility with legacy user configurations
- Packages with overlapping files
- Repairing broken package scripts
- Rescue using the dpkg command
- Restoring package selection data
Package management tips
- How to select Debian packages
- Packages from mixed archive sources
- Adjusting candidate versions
- Updates and Backports
- Automatic download and upgrade of packages
- Limiting download bandwidth for APT
- Emergency downgrading
- Identifying package uploaders
- The equivs package
- Porting a package to the stable system
- Configuring 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
The system initialization
- An overview of the bootstrapping process
- BIOS, boot loader, and the mini-Debian system
- The concept of 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 used by PAM and NSS
- Modern centralized system management
- "Why GNU su does not support the wheel group"
- Stricter password policies
- Other access control mechanisms
- sudo
- SELinux and AppArmor
- Restricting access to specific server services
- Securing authentication
- Securing passwords over the Internet
- Secure Shell
- Additional Internet security measures
- 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 desktops
- GUI 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
- Modern mail service fundamentals
- 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
The remote access server and utility (SSH)
- SSH fundamentals
- Port forwarding for SMTP/POP3 tunneling
- Connecting without remote passwords
- Handling non-standard 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
- The X server
- Starting the X Window System
- Starting an X session with gdm
- Customizing the X session (classic method)
- Customizing the X session (modern method)
- Connecting a remote X client via SSH
- Securing 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
- Customizing text data display
- Customizing time and date display
- Colourized shell output
- Colourized commands
- Recording editor activities for complex repetitions
- Recording graphics from X applications
- Recording 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 the superblock
- Hard disk optimization
- Predicting hard disk failure using SMART
- Expanding usable storage space via LVM
- Expanding usable storage space by mounting additional partitions
- Expanding usable storage space using symbolic links
- Expanding usable storage space using aufs
Data encryption tips
- Encrypted removable disks with dm-crypt/LUKS
- Encrypted swap partitions with dm-crypt
- Automatic file encryption with eCryptfs
- Automatically mounting eCryptfs
Monitoring, controlling, and starting program activities
- Timing a process
- 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
- Looping a command over files
- Starting a program from the GUI
- Customizing which programs start
- Terminating a process
- Scheduling one-off tasks
- Scheduling recurring tasks
- The Alt-SysRq key
System maintenance tips
- Identifying users on the system
- Issuing 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
- 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 workflows
- 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 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
- Dummy files
- Wiping an entire hard disk
- Erasing unused areas of a hard disk
- Recovering deleted but still open files
- Finding all hard links
- Invisible disk space consumption
Data security infrastructure
- GnuPG key management (signing and encryption)
- The MD5 checksum
Requirements
No specific prerequisites are required to enrol in this course.