Get in Touch
 Duration 35 hours (5 days)

Course Outline

Debian Distribution

Introduction to Debian

  • Selecting a Debian version
  • Debian support and assistance resources
  • Overview of the Debian community

Console Fundamentals

  • Understanding the shell prompt
  • Using the shell prompt within the X environment
  • Managing the root account and root shell prompt (su, sudo, executing programs as root under X)
  • GUI-based system administration tools
  • Navigating virtual consoles
  • Exiting the command prompt
  • Procedures for shutting down the system
  • Restoring a stable console state
  • Recommended additional packages for beginners
  • Creating additional user accounts
  • Configuring sudo

The Filesystem

  • Filesystem permission structures
  • Controlling permissions for newly created files via umask
  • Managing permissions for user groups
  • Working with timestamps
  • Understanding links
  • Utilizing Named pipes (FIFOs)
  • Working with sockets
  • Device files
  • Special device files
  • procfs and sysfs concepts

Midnight Commander (MC)

  • Customizing MC settings
  • Launching MC
  • Using the file manager within MC
  • Advanced command-line techniques in MC
  • Using the internal editor in MC
  • Utilizing the internal viewer in MC
  • MC auto-start capabilities
  • Accessing the FTP virtual filesystem via MC

The Basic Unix-like Working Environment

  • Understanding the login shell
  • Customizing bash configurations
  • Using special key combinations
  • Utilizing the pager
  • Configuring a default text editor
  • Exiting vim effectively
  • Recording shell activities
  • Essential Unix commands

Simple Shell Commands

  • Command execution and environment variables
  • Working with the "$LANG" variable
  • Understanding the "$PATH" variable
  • Using the "$HOME" variable
  • Command-line options
  • Shell globbing patterns
  • Interpreting command return values
  • Common command sequences and shell redirection
  • Creating command aliases

Unix-like Text Processing

  • Essential 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 basics
  • Essential precautions
  • Managing systems with continuous upgrades
  • Debian archive fundamentals
  • Understanding package dependencies
  • The workflow of package management events
  • Initial responses to package management issues

Basic Package Management Operations

  • Comparing apt-get/apt-cache with aptitude
  • Performing basic package management via the command line
  • Interactive usage of aptitude
  • Key bindings in aptitude
  • Viewing packages in aptitude
  • Search options in aptitude
  • Using aptitude regex formulas
  • Dependency resolution in aptitude
  • Reviewing package activity logs

aptitude Operation Examples

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

Advanced Package Management Operations

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

Internals of Debian Package Management

  • Archive metadata structures
  • The top-level "Release" file and authenticity verification
  • Archive-level "Release" files
  • Retrieving package metadata
  • Package states in APT
  • Package states in aptitude
  • Local copies of downloaded 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

Recovering from a Broken System

  • Addressing incompatibilities with old user configurations
  • Resolving file overlaps between different packages
  • Fixing broken package scripts
  • Rescuing the system using the dpkg command
  • Restoring package selection data

Package Management Tips

  • Selecting appropriate Debian packages
  • Handling packages from mixed archive sources
  • Adjusting candidate versions
  • Working with Updates and Backports
  • Automating package downloads and upgrades
  • Limiting APT download bandwidth
  • Performing emergency downgrades
  • Identifying package uploaders
  • Using the equivs package
  • Porting packages to stable systems
  • Configuring a proxy server for APT
  • Setting up small public package archives
  • Recording and duplicating system configurations
  • Converting or installing foreign binary packages
  • Extracting packages without dpkg
  • Further reading on package management

System Initialization

  • Overview of the boot strap process
  • BIOS, boot loaders, and mini-Debian systems
  • Understanding runlevels
  • Configuring runlevels
  • Example of runlevel management
  • Default parameters for init scripts
  • Configuring the hostname
  • Filesystem mounting during initialization
  • Initializing network interfaces
  • Initializing network services
  • System messages
  • Kernel messages
  • The udev system
  • Kernel module initialization

Authentication and Security

  • Standard Unix authentication mechanisms
  • 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 management
  • Why GNU su does not support the wheel group
  • Enforcing stricter password policies
  • Additional access control methods
  • Using sudo
  • Implementing SELinux and Apparmor
  • Restricting access to specific server services
  • Securing authentication processes
  • Transmitting passwords securely over the internet
  • Utilizing Secure Shell (SSH)
  • Additional internet security measures
  • Protecting the root password

Network Setup

Basic Network Infrastructure

  • Domain names
  • Hostname resolution
  • Naming network interfaces
  • Defining LAN network address ranges
  • Network device support

Modern Desktop Network Configuration

  • Using GUI-based network configuration tools

Low-Level Network Configuration

  • Using Iproute2 commands
  • Performing safe low-level network operations

Network Optimization

  • Determining the optimal MTU
  • Setting the MTU
  • Optimizing TCP for WAN connections

Netfilter Infrastructure

Network Applications

The Mail System

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

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

  • Overview of exim4
  • Basics of MUA - 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 external SSH clients
  • Setting up ssh-agent
  • Shutting down remote systems 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
  • Understanding server/client relationships
  • The X server role
  • Launching the X Window System
  • Starting X sessions via gdm
  • Customizing X sessions (traditional methods)
  • Customizing X sessions (modern methods)
  • Connecting remote X clients via SSH
  • Securing X terminals over the internet
  • Overview of 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

  • Using the log daemon
  • Employing log analyzers
  • Cleanly recording shell activities
  • Customizing text data display
  • Customizing time and date display
  • Using colorized shell echo
  • Colorizing commands
  • Recording editor activities for complex repetitions
  • Capturing graphic images of X applications
  • Tracking changes in configuration files

Data Storage Tips

  • Disk partition configuration
  • Accessing partitions using UUIDs
  • Filesystem configuration
  • Creating filesystems and running integrity checks
  • Optimizing filesystems via mount options
  • Optimizing filesystems via superblocks
  • Hard disk optimization
  • Predicting hard disk failures using SMART
  • Expanding usable storage space with 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

  • Encrypting removable disks with dm-crypt/LUKS
  • Encrypting swap partitions with dm-crypt
  • Automatically encrypting files using eCryptfs
  • Automatically mounting eCryptfs volumes

Monitoring, Controlling, and Starting Program Activities

  • Timing processes
  • Managing scheduling priority
  • 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 constant intervals
  • Looping commands over file sets
  • Starting programs from the GUI
  • Customizing program startup configurations
  • Terminating processes
  • Scheduling one-time tasks
  • Scheduling regular tasks
  • Using the Alt-SysRq key

System Maintenance Tips

  • Identifying active users on the system
  • Broadcasting warnings to all users
  • Hardware identification
  • Hardware configuration
  • Managing system and hardware time
  • Terminal configuration
  • Sound infrastructure
  • Disabling screen savers
  • 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 kernel source using Debian standard methods
  • Compiling module source using Debian standard methods
  • Handling non-free hardware drivers

Virtualized Systems

  • Virtualization tools
  • Virtualization workflows
  • Mounting virtual disk image files
  • Using chroot systems
  • Managing multiple desktop systems

Data Management

Sharing, Copying, and Archiving

  • Archive and compression utilities
  • Copy and synchronization tools
  • Common idioms for archiving
  • Common idioms for copying
  • Idioms for file selection
  • Backup and recovery procedures
  • Backup utility suites
  • Example scripts for system backup
  • Scripts for data backup copying
  • Working with removable storage devices
  • Sharing data over the network
  • Archive media management

Binary Data

  • Viewing and editing binary data
  • Manipulating files without mounting disks
  • Managing data redundancy
  • Data file recovery and forensic analysis
  • Splitting large files into smaller segments
  • Clearing file contents
  • Working with 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

  • GnuPG key management for signing and encryption
  • Using MD5 sums

Requirements

No specific prior requirements are necessary to enroll in this course.

Number of participants


Price per participant

Upcoming Courses

Related Categories