Get in Touch

Course Outline

Debian Distribution

Introduction to Debian

  • Selecting the appropriate Debian version
  • Accessing Debian support and assistance
  • Engaging with the Debian community

Console Fundamentals

  • Understanding the shell prompt
  • Utilizing the shell prompt within the X environment
  • Managing the root account and root shell prompt (using su, sudo, and executing programs as root under X)
  • Leveraging GUI system administration tools
  • Interacting with virtual consoles
  • Exiting the command prompt
  • Shutting down the system
  • Restoring a functional console state
  • Recommended additional packages for beginners
  • Creating supplementary user accounts
  • Configuring sudo

The Filesystem

  • Filesystem permissions
  • Controlling permissions for newly created files via umask
  • Managing permissions for user groups
  • Understanding timestamps
  • Working with links
  • Using named pipes (FIFOs)
  • Handling sockets
  • Managing device files
  • Special device files
  • procfs and sysfs

Midnight Commander (MC)

  • Customizing MC
  • Launching MC
  • Using the file manager within MC
  • Advanced command-line techniques in MC
  • Utilizing the built-in editor in MC
  • Using the built-in viewer in MC
  • MC auto-start features
  • MC's FTP virtual filesystem

The Basic Unix-like Work Environment

  • The login shell
  • Customizing bash
  • Special keystrokes
  • 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 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
  • Basic safety precautions
  • Managing systems with continuous upgrades
  • Debian archive fundamentals
  • Package dependencies
  • The workflow of package management events
  • Initial responses to package management issues

Basic Package Management Operations

  • Comparing apt-get/apt-cache and aptitude
  • Core package management operations via the command line
  • Interactive usage of aptitude
  • aptitude key bindings
  • Package views in aptitude
  • Search options in aptitude
  • The aptitude regular expression formula
  • Dependency resolution in aptitude
  • Package activity logs

Examples of aptitude Operations

  • Listing packages using regular expression matching on names
  • Browsing via regular expression matching
  • Thoroughly purging removed packages
  • Organizing auto/manual install status
  • Performing system-wide upgrades

Advanced Package Management Operations

  • Advanced package management commands
  • Verifying installed package files
  • Mitigating package issues
  • Searching package metadata

Debian Package Management Internals

  • Archive metadata
  • Top-level "Release" file and authenticity
  • Archive-level "Release" files
  • Fetching package metadata
  • Package state in APT
  • Package state in aptitude
  • Local storage of fetched packages
  • Debian package naming conventions
  • The dpkg command
  • The update-alternative command
  • The dpkg-statoverride command
  • The dpkg-divert command

Recovering from a Broken System

  • Handling incompatibility with legacy user configurations
  • Managing packages with overlapping files
  • Repairing broken package scripts
  • Rescue operations using the dpkg command
  • Restoring package selection data

Tips for Package Management

  • Selecting appropriate Debian packages
  • Sourcing packages from mixed archives
  • Adjusting candidate versions
  • Managing Updates and Backports
  • Automating package download and upgrade
  • Limiting APT download bandwidth
  • Emergency downgrading procedures
  • 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
  • Recording and copying system configurations
  • Converting or installing alien binary packages
  • Extracting packages without dpkg
  • Further resources on package management

System Initialization

  • Overview of the bootstrapping process
  • BIOS, boot loaders, and mini-Debian systems
  • Understanding runlevels
  • Configuring runlevels
  • Examples of runlevel management
  • Default parameters for each init script
  • Hostname configuration
  • Filesystem setup
  • 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 details
  • 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"
  • Implementing stricter password rules
  • Additional access controls
  • Using sudo
  • SELinux and AppArmor
  • Restricting access to specific server services
  • Securing authentication processes
  • Transmitting secure passwords over the internet
  • Secure Shell (SSH)
  • Additional internet security measures
  • Securing 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 network configuration tools

Low-Level Network Configuration

  • Iproute2 commands
  • Safe low-level network operations

Network Optimization

  • Identifying the optimal MTU
  • Configuring MTU
  • WAN TCP optimization

Netfilter Infrastructure

Network Applications

The Mail System

  • Foundations of modern mail services
  • Mail configuration strategies 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 Utilities (SSH)

  • SSH fundamentals
  • Port forwarding for SMTP/POP3 tunneling
  • Connecting without remote passwords
  • Handling non-standard SSH clients
  • Configuring ssh-agent
  • Shutting down remote systems via SSH
  • Troubleshooting SSH issues

Other Network Application Servers

Other Network Application Clients

Diagnosing System Daemons

The X Window System

  • Setting up the desktop environment
  • Server/client relationships
  • The X server
  • Launching 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
  • 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 analyzers
  • Cleanly logging shell activities
  • Customizing text data display
  • Customizing time and date display
  • Colorized shell echo
  • Colorized commands
  • Recording editor activities for complex repetitions
  • Capturing graphics from X applications
  • Tracking changes in configuration files

Data Storage Tips

  • Disk partition configuration
  • Accessing partitions using UUIDs
  • Filesystem configuration
  • Creating filesystems and integrity checks
  • Optimizing filesystems via mount options
  • Optimizing filesystems via superblocks
  • Hard disk optimization
  • Predicting hard disk failures using SMART
  • Expanding storage space via LVM
  • Expanding storage by mounting additional partitions
  • Expanding storage using symlinks
  • 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 priorities
  • The ps command
  • The top command
  • Listing files opened by a process
  • Tracing program activities
  • Identifying processes using files or sockets
  • Repeating commands at constant intervals
  • Looping commands over files
  • Starting programs from the GUI
  • Customizing program launches
  • Terminating processes
  • One-time task scheduling
  • Regular task scheduling
  • The Alt-SysRq key

System Maintenance Tips

  • Identifying active system users
  • Broadcasting warnings
  • Hardware identification
  • Hardware configuration
  • System and hardware time synchronization
  • Terminal configuration
  • Sound infrastructure
  • Disabling screensavers
  • Disabling beep sounds
  • Memory usage analysis
  • 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
  • Archive idioms
  • Copy idioms
  • File selection idioms
  • Backup and recovery
  • Backup utility suites
  • Example scripts for system backups
  • Scripts for data backups
  • Removable storage devices
  • Sharing data over networks
  • 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
  • Clearing file contents
  • Using dummy files
  • Erasing entire hard disks
  • Erasing unused areas of hard disks
  • Recovering deleted but open files
  • Searching for all hard links
  • Identifying invisible disk space consumption

Data Security Infrastructure

  • Key management for GnuPG (signing and encrypting)
  • MD5 checksums

Requirements

No prior specific prerequisites are required to enroll in this course.

 35 Hours

Upcoming Courses

Related Categories