Get in Touch
 Duration 35 hours

Course Outline

Debian Distribution

Introduction to Debian

  • Selecting a Debian release
  • Debian support and assistance resources
  • The Debian community

Console Fundamentals

  • Understanding the shell prompt
  • The shell prompt within an X environment
  • Managing the root account and root shell (su, sudo, running applications as root under X)
  • Graphical system administration utilities
  • Virtual consoles
  • Exiting the command prompt
  • Shutting down the system
  • Restoring a responsive console
  • Recommended packages for beginners
  • Creating additional user accounts
  • Configuring sudo

The File System

  • File system permissions
  • Controlling permissions for new files using umask
  • Group permissions
  • File timestamps
  • Symbolic and hard links
  • Named pipes (FIFOs)
  • Network sockets
  • Device files
  • Special device files
  • procfs and sysfs interfaces

Midnight Commander (MC)

  • Customising MC settings
  • Launching MC
  • Using the file manager in MC
  • Command-line shortcuts within MC
  • Using the internal editor in MC
  • Using the internal viewer in MC
  • MC auto-start features
  • MC's FTP virtual file system

The Fundamental 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

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-like Text Processing

  • Unix text manipulation tools
  • Regular expressions
  • Replacement patterns
  • Global substitution using regular expressions
  • Extracting data from text-based tables
  • Script snippets for piping commands

Debian Package Management

Prerequisites for Debian Package Management

  • Package configuration
  • Basic safety precautions
  • Managing continuous upgrades
  • Debian archive fundamentals
  • Package dependencies
  • The package management workflow
  • Initial troubleshooting for package issues

Basic Package Management Operations

  • Comparison of apt-get/apt-cache vs. aptitude
  • Essential package operations via command line
  • Interactive use of aptitude
  • aptitude key bindings
  • Package views in aptitude
  • Search options with aptitude
  • Using aptitude regular expressions
  • Dependency resolution in aptitude
  • Package activity logs

Examples of aptitude Operations

  • Listing packages with regular expression name matching
  • Browsing using regular expression matches
  • Completely purging removed packages
  • Managing auto/manual install statuses
  • Performing system-wide upgrades

Advanced Package Management Operations

  • Advanced command-line package operations
  • Verifying installed package files
  • Protecting against package conflicts
  • Searching package metadata

Debian Package Management Internals

  • Archive metadata structure
  • Top-level "Release" file and authenticity verification
  • Archive-level "Release" files
  • Fetching package metadata
  • Package state in APT
  • Package state in aptitude
  • Local cache of downloaded packages
  • Debian package file naming conventions
  • The dpkg command
  • The update-alternatives command
  • The dpkg-statoverride command
  • The dpkg-divert command

Recovering from a Broken System

  • Handling incompatibility with legacy user configurations
  • Resolving file overlaps between different packages
  • Fixing broken package scripts
  • Rescue operations using dpkg
  • Restoring package selection data

Tips for Package Management

  • Selecting appropriate Debian packages
  • Using packages from mixed archive sources
  • Adjusting candidate versions
  • Updates and Backports
  • Automatic downloading and upgrading of packages
  • Limiting APT download bandwidth
  • Emergency downgrading procedures
  • Identifying package uploaders
  • The equivs package utility
  • Porting packages to the stable release
  • Configuring a proxy server for APT
  • Creating a small public package archive
  • Recording and copying system configurations
  • Converting or installing alien binary packages
  • Extracting package contents without dpkg
  • Further reading on package management

System Initialisation

  • Overview of the bootstrapping process
  • BIOS, boot loader, and the mini-Debian system
  • Understanding runlevels
  • Configuring runlevels
  • Runlevel management examples
  • Default parameters for init scripts
  • Hostname configuration
  • File system mounting during boot
  • Network interface initialisation
  • Network service initialisation
  • System messaging
  • Kernel messaging
  • The udev system
  • Kernel module initialisation

Authentication and Security

  • Standard Unix authentication
  • Managing account and password data
  • Creating strong passwords
  • Generating encrypted passwords
  • PAM and NSS frameworks
  • Configuration files used by PAM and NSS
  • Modern centralised system management
  • Why GNU su does not support the wheel group
  • Enforcing stricter password rules
  • Additional access controls
  • Sudo configuration
  • SELinux and AppArmor
  • Restricting access to specific server services
  • Authentication security
  • Secure password transmission over the internet
  • Secure Shell (SSH)
  • Additional internet security measures
  • Securing the root password

Network Configuration

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 Optimisation

  • Determining the optimal MTU
  • Setting MTU values
  • WAN TCP optimisation

Netfilter Infrastructure

Network Applications

The Mail System

  • Fundamentals of modern mail services
  • Mail configuration strategy for workstations

Mail Transport Agent (MTA) and Mail User Agent (MUA)

  • Overview of exim4
  • Basic MUA usage with Mutt

Mail Delivery Agent (MDA) with Filtering

  • Configuring maildrop
  • Configuring procmail
  • Redelivering mbox contents

POP3/IMAP4 Server

Remote Access Server and Utility (SSH)

  • SSH fundamentals
  • Port forwarding for SMTP/POP3 tunneling
  • Connecting without remote passwords
  • Interacting with non-standard SSH clients
  • Setting up ssh-agent
  • Shutting down the remote system via SSH
  • Troubleshooting SSH connections

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
  • Customising the X session (traditional method)
  • Customising the X session (modern method)
  • Connecting a remote X client via SSH
  • Secure X terminal access over the internet
  • X-based 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
  • Customising text data display
  • Customising time and date display
  • Colourised shell output
  • Colourised commands
  • Recording editor activities for complex repetitions
  • Capturing graphics from X applications
  • Tracking changes in configuration files

Data Storage Tips

  • Disk partitioning configuration
  • Accessing partitions using UUIDs
  • File system configuration
  • Creating and checking file system integrity
  • Optimising file systems via mount options
  • Optimising file systems via superblock settings
  • Hard disk optimisation
  • Predicting hard disk failure using SMART
  • Expanding storage space with LVM
  • Expanding storage by mounting additional partitions
  • Expanding storage using symbolic links
  • Expanding storage using aufs

Data Encryption Tips

  • Encrypting removable disks with dm-crypt/LUKS
  • Encrypting swap partitions with dm-crypt
  • Automatic file encryption with eCryptfs
  • Automatic mounting of 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 specific files or sockets
  • Repeating a command at constant intervals
  • Looping a command over files
  • Starting programs from the GUI
  • Customising programs to be launched
  • Terminating processes
  • Scheduling one-time tasks
  • Scheduling recurring tasks
  • Using the Alt-SysRq key

System Maintenance Tips

  • Identifying active users
  • Issuing system warnings
  • Hardware identification
  • Hardware configuration
  • System and hardware time synchronisation
  • 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 modules
  • Compiling kernel source: Debian standard method
  • Compiling module source: Debian standard method
  • Non-free hardware drivers

Virtualised Systems

  • Virtualisation tools
  • Virtualisation workflows
  • Mounting virtual disk images
  • Chroot environments
  • Managing multiple desktop systems

Data Management

Sharing, Copying, and Archiving

  • Archive and compression tools
  • Copy and synchronisation tools
  • Common practices for archiving
  • Common practices for copying
  • Common practices for file selection
  • Backup and recovery strategies
  • Backup utility suites
  • Example script for system backup
  • Example 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 the disk
  • Data redundancy
  • Data file recovery and forensic analysis
  • Splitting large files into smaller chunks
  • Clearing file contents
  • Creating dummy files
  • Wiping an entire hard disk
  • Erasing 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 for signing and encryption
  • MD5 checksums

Requirements

There are no specific prerequisites required to enrol in this course.

Number of participants


Price per participant

Provisional Upcoming Courses (Require 5+ participants)

Related Categories