Get in Touch

Course Outline

Debian Distribution

Understanding Debian

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

Console Fundamentals

  • Understanding the shell prompt
  • The shell prompt within the X environment
  • Root account management and root shell access (su, sudo, executing programs as root under X)
  • GUI-based system administration tools
  • Virtual consoles
  • Exiting the command prompt
  • System shutdown procedures
  • Restoring a functional console
  • Recommended additional packages for beginners
  • Creating additional user accounts
  • Configuring sudo

Filesystem Structure

  • Filesystem permissions
  • Managing permissions for new files using umask
  • Group-based permissions
  • File timestamps
  • Symbolic and hard links
  • Named pipes (FIFOs)
  • Network and Unix sockets
  • Device files
  • Special device files
  • procfs and sysfs virtual filesystems

Midnight Commander (MC)

  • Customizing MC settings
  • Launching MC
  • Using the MC file manager
  • Command-line shortcuts within MC
  • The built-in text editor in MC
  • The built-in file viewer in MC
  • MC auto-start capabilities
  • MC's FTP virtual filesystem

Basic Unix-like Work Environment

  • The login shell
  • Personalizing bash
  • Special keyboard shortcuts
  • Using a text pager
  • Selecting a default text editor
  • Exiting vim
  • Recording shell session activities
  • Essential Unix commands

Basic Shell Commands

  • Executing commands and environment variables
  • The "$LANG" variable
  • The "$PATH" variable
  • The "$HOME" variable
  • Command-line flags and options
  • Shell globbing patterns
  • Command return values
  • Common command sequences and shell redirection
  • Defining command aliases

Unix-like Text Processing

  • Unix text utility tools
  • Regular expressions
  • String replacement expressions
  • Global substitutions using regular expressions
  • Extracting data from text-based tables
  • Script examples for piping commands

Debian Package Management

Prerequisites for Debian Package Management

  • Package configuration concepts
  • Basic safety measures
  • Handling continuous system upgrades
  • Foundations of Debian archives
  • Understanding package dependencies
  • The workflow of package management events
  • Initial steps when package management issues arise

Core Package Management Operations

  • Comparison of apt-get/apt-cache and aptitude
  • Basic command-line package management tasks
  • Interactive usage of aptitude
  • aptitude keyboard shortcuts
  • Package views in aptitude
  • Search options in aptitude
  • Regular expression formulas in aptitude
  • Dependency resolution in aptitude
  • Reviewing package activity logs

aptitude Operation Examples

  • Listing packages using regex matching on names
  • Browsing packages with regex matching
  • Permanently purging removed packages
  • Organizing auto/manual install status
  • Performing system-wide upgrades

Advanced Package Management Operations

  • Advanced command-line package management
  • Verifying installed package files
  • Mitigating package-related problems
  • Searching package metadata

Internals of Debian Package Management

  • Archive metadata structure
  • Top-level "Release" file and integrity verification
  • Archive-level "Release" files
  • Fetching package metadata
  • Package states in APT
  • Package states in aptitude
  • Local caches of downloaded packages
  • Naming conventions for Debian package files
  • Using the dpkg command
  • The update-alternatives command
  • The dpkg-statoverride command
  • The dpkg-divert command

Recovering a Broken System

  • Resolving incompatibilities with old user configurations
  • Handling package file overlaps
  • Repairing broken package scripts
  • Rescue operations using dpkg
  • Restoring package selection data

Package Management Tips

  • Methods for selecting Debian packages
  • Using packages from mixed archive sources
  • Adjusting candidate package versions
  • Working with Updates and Backports
  • Automating package downloads and upgrades
  • Limiting APT download bandwidth
  • Emergency package downgrades
  • Identifying package uploaders
  • Using the equivs package
  • Porting packages to stable systems
  • Configuring a proxy server for APT
  • Setting up a small public package archive
  • Documenting and replicating system configurations
  • Converting or installing non-Debian binary packages
  • Extracting package contents without dpkg
  • Further reading on package management

System Initialization

  • Overview of the boot process
  • BIOS, boot loaders, and the mini-Debian system
  • The concept of runlevels
  • Configuring runlevels
  • Example of runlevel management
  • Default parameters for init scripts
  • Hostname configuration
  • Filesystem mounting during boot
  • Network interface initialization
  • Network service initialization
  • System message handling
  • Kernel message logging
  • The udev system
  • Kernel module initialization

Authentication and Security

  • Standard Unix authentication methods
  • Managing account and password data
  • Creating strong passwords
  • Generating encrypted passwords
  • Understanding PAM and NSS
  • Configuration files used by PAM and NSS
  • Modern centralized system administration
  • Why GNU su does not support the wheel group
  • Implementing stricter password policies
  • Additional access control mechanisms
  • Using sudo
  • SELinux and AppArmor
  • Restricting access to specific server services
  • Securing authentication processes
  • Securing passwords over the Internet
  • Secure Shell (SSH)
  • Additional security measures for internet connectivity
  • Protecting the root password

Network Setup

Basic Network Infrastructure

  • Domain names
  • Hostname resolution
  • Network interface naming
  • LAN network address ranges
  • Network device support

Modern Desktop Network Configuration

  • GUI-based network configuration tools

Low-Level Network Configuration

  • Iproute2 command usage
  • Safe low-level network operations

Network Optimization

  • Determining optimal MTU
  • Configuring MTU settings
  • Optimizing TCP over WAN

Netfilter Infrastructure

Network Applications

Mail Systems

  • 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 Filtering

  • Configuring maildrop
  • Configuring procmail
  • Redelivering mbox contents

POP3/IMAP4 Servers

Remote Access Server and Utilities (SSH)

  • Fundamentals of SSH
  • Port forwarding for SMTP/POP3 tunneling
  • Connecting without remote passwords
  • Working with non-standard SSH clients
  • Setting up ssh-agent
  • Shutting down remote systems via SSH
  • SSH troubleshooting

Other Network Application Servers

Other Network Application Clients

Diagnosing System Daemons

The X Window System

  • Setting up the desktop environment
  • Server/client architecture
  • 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 terminals over the Internet
  • X applications
  • X office applications
  • X utility applications

System Tips

The screen Program

  • Use cases for screen(1)
  • Keyboard shortcuts 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
  • Colorized shell output
  • Colorized commands
  • Recording editor actions for complex repetitions
  • Capturing screenshots of X applications
  • Tracking changes in configuration files

Data Storage Tips

  • Disk partition configuration
  • Accessing partitions via UUID
  • Filesystem configuration
  • Creating filesystems and checking integrity
  • Optimizing filesystems using mount options
  • Optimizing filesystems via superblocks
  • Hard disk optimization
  • Predicting hard disk failures using SMART
  • Expanding storage space with 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 process execution
  • Scheduling priorities
  • Using the ps command
  • Using the top command
  • Listing files opened by a process
  • Tracing program activities
  • Identifying processes using specific files or sockets
  • Repeating commands at fixed intervals
  • Looping commands over files
  • Starting programs from the GUI
  • Customizing program startup
  • Terminating processes
  • Scheduling one-time tasks
  • Scheduling recurring tasks
  • Using the Alt-SysRq key

System Maintenance Tips

  • Identifying active users on the system
  • Issuing warnings to 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 images
  • The chroot system
  • Managing multiple desktop systems

Data Management

Sharing, Copying, and Archiving

  • Archive and compression utilities
  • Copy and synchronization tools
  • Archive idioms
  • Copy idioms
  • Idioms for file selection
  • Backup and recovery strategies
  • Backup utility suites
  • Example system backup script
  • Data backup copy script
  • Removable storage devices
  • Sharing data over the network
  • Archival media

Binary Data

  • Viewing and editing binary data
  • Manipulating files without mounting disks
  • Data redundancy
  • Data 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
  • Restoring deleted but still open files
  • Finding all hard links
  • Hidden disk space consumption

Data Security Infrastructure

  • GnuPG key management (signing and encryption)
  • MD5 checksums

Requirements

No specific prerequisites are required to join this course.

 35 Hours

Number of participants


Price per participant

Upcoming Courses

Related Categories