Get in Touch

Course Outline

Debian Distribution

Understanding Debian

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

Console Fundamentals

  • Understanding the shell prompt
  • Using the shell prompt within X environments
  • Managing the root account and shell prompt (using su, sudo, and running root-level programs under X)
  • Utilizing GUI-based system administration tools
  • Navigating virtual consoles
  • Exiting the command prompt
  • Properly shutting down the system
  • Restoring a functional console state
  • Recommended packages for beginners
  • Setting up an additional user account
  • Configuring sudo access

The Filesystem

  • Understanding filesystem permissions
  • Controlling permissions for new files via umask
  • Managing group-based permissions
  • Working with file timestamps
  • Creating and managing links
  • Using named pipes (FIFOs)
  • Understanding sockets
  • Handling device files
  • Working with special device files
  • Exploring procfs and sysfs

Midnight Commander (MC)

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

The Standard Unix-like Work Environment

  • Understanding the login shell
  • Customizing the bash shell
  • Mastering special keyboard shortcuts
  • Using the pager
  • Setting a default text editor
  • Navigating out of vim
  • Logging shell activity
  • Executing basic Unix commands

Basic Shell Commands

  • Command execution and environment variables
  • The "$LANG" variable
  • The "$PATH" variable
  • The "$HOME" variable
  • Utilizing command-line options
  • Understanding shell globbing
  • Interpreting command return values
  • Implementing typical command sequences and shell redirections
  • Creating command aliases

Unix-like Text Processing

  • Essential Unix text utilities
  • Working with regular expressions
  • Using replacement expressions
  • Performing global substitutions with regular expressions
  • Extracting data from text-based tables
  • Writing script snippets for command piping

Debian Package Management

Prerequisites for Debian Package Management

  • Configuring packages
  • Essential precautions
  • Managing continuous upgrades
  • Understanding the Debian archive structure
  • Understanding package dependencies
  • Tracking the package management workflow
  • Initial responses to package management issues

Core Package Management Operations

  • Comparing apt-get/apt-cache vs. aptitude
  • Performing basic package management via the command line
  • Interactive usage of aptitude
  • Mastering aptitude key bindings
  • Navigating package views in aptitude
  • Search options and methods in aptitude
  • Using the aptitude regex formula
  • Resolving dependencies with aptitude
  • Reviewing package activity logs

Examples of aptitude Operations

  • Listing packages using regex matching on package names
  • Browsing packages via regex matching
  • Completely purging removed packages
  • Adjusting auto/manual installation status
  • Performing a system-wide upgrade

Advanced Package Management Operations

  • Executing advanced package management commands
  • Verifying installed package files
  • Preventing package-related issues
  • Searching package metadata

Internals of Debian Package Management

  • Understanding archive metadata
  • Analyzing the top-level "Release" file and authenticity
  • Examining archive-level "Release" files
  • Fetching package metadata
  • Understanding package states for APT
  • Understanding package states for aptitude
  • Managing local copies of fetched packages
  • Deciphering Debian package file naming conventions
  • Using the dpkg command
  • Utilizing the update-alternative command
  • Using the dpkg-statoverride command
  • Using the dpkg-divert command

Recovering from a Broken System

  • Handling incompatibilities with legacy user configurations
  • Resolving conflicts from overlapping files in different packages
  • Repairing broken package scripts
  • Rescuing systems using the dpkg command
  • Restoring package selection data

Tips for Package Management

  • Selecting appropriate Debian packages
  • Managing packages from mixed archive sources
  • Adjusting candidate versions
  • Navigating updates and backports
  • Automating package downloads and upgrades
  • Limiting APT download bandwidth
  • Performing emergency downgrades
  • Identifying package uploaders
  • Utilizing the equivs package
  • Porting packages to stable systems
  • Configuring APT proxy servers
  • Managing small public package archives
  • Recording and copying system configurations
  • Converting or installing alien binary packages
  • Extracting packages without dpkg
  • Further resources for package management

System Initialization

  • Overview of the bootstrapping process
  • Understanding BIOS, boot loaders, and mini-Debian systems
  • Understanding runlevels
  • Configuring runlevels
  • Examples of runlevel management
  • Default parameters for init scripts
  • Configuring the hostname
  • Filesystem setup during boot
  • Initializing network interfaces
  • Initializing network services
  • Managing system messages
  • Managing kernel messages
  • Understanding the udev system
  • Initializing kernel modules

Authentication and Security

  • Standard Unix authentication mechanisms
  • Managing account and password information
  • Creating strong passwords
  • Generating encrypted passwords
  • Understanding PAM and NSS
  • Configuration files used by PAM and NSS
  • Modern centralized system management
  • Understanding GNU su and the wheel group
  • Enforcing stricter password policies
  • Implementing additional access controls
  • Utilizing sudo
  • Working with SELinux and AppArmor
  • Restricting access to specific server services
  • Ensuring authentication security
  • Securing password transmission over the Internet
  • Using Secure Shell (SSH)
  • Implementing extra security measures for Internet exposure
  • Securing the root password

Network Setup

Basic Network Infrastructure

  • Understanding domain names
  • Configuring hostname resolution
  • Identifying network interface names
  • Defining LAN network address ranges
  • Supported network devices

Modern Desktop Network Configuration

  • Using GUI network configuration tools

Low-Level Network Configuration

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

Network Optimization

  • Identifying the optimal MTU
  • Configuring MTU settings
  • Optimizing WAN TCP performance

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 Utility (SSH)

  • SSH fundamentals
  • Port forwarding for SMTP/POP3 tunneling
  • Connecting without remote passwords
  • Managing incompatible SSH clients
  • Configuring ssh-agent
  • Shutting down remote systems via SSH
  • SSH troubleshooting

Other Network Application Servers

Other Network Application Clients

Daemon System Diagnosis

The X Window System

  • Setting up the desktop environment
  • Understanding the server/client relationship
  • Configuring the X server
  • Launching the X Window System
  • Starting an X session with GDM
  • Customizing the X session (classic method)
  • Customizing the X session (modern method)
  • Connecting remote X clients via SSH
  • Using secure X terminals over the Internet
  • X applications overview
  • 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

  • Utilizing the log daemon
  • Using log analyzers
  • Cleanly recording shell activities
  • Customizing text data display
  • Customizing time and date display
  • Colorizing shell echo output
  • Colorizing command outputs
  • Recording editor activities for complex repetitions
  • Recording graphical images of X applications
  • Tracking changes in configuration files

Data Storage Tips

  • Configuring disk partitions
  • Accessing partitions using UUIDs
  • Configuring filesystems
  • Creating and checking filesystem integrity
  • Optimizing filesystems via mount options
  • Optimizing filesystems via superblock adjustments
  • Optimizing hard disk performance
  • Using SMART to predict hard disk failures
  • Expanding usable storage via LVM
  • Expanding usable storage by mounting additional partitions
  • Expanding usable storage using symlinks
  • Expanding usable storage using aufs

Data Encryption Tips

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

Monitoring, Controlling, and Starting Program Activities

  • Timing process execution
  • Adjusting scheduling priorities
  • Using the ps command
  • Using the top command
  • Listing files opened by a process
  • Tracing program activities
  • Identifying processes using files or sockets
  • Repeating commands at constant intervals
  • Repeating commands while looping over files
  • Starting programs from the GUI
  • Customizing startup programs
  • Killing processes
  • Scheduling one-time tasks
  • Scheduling recurring tasks
  • Using the Alt-SysRq key

System Maintenance Tips

  • Identifying logged-in users
  • Sending warnings to all users
  • Identifying hardware components
  • Configuring hardware settings
  • Managing system and hardware time
  • Configuring terminal settings
  • Setting up the sound infrastructure
  • Disabling the screen saver
  • Disabling beep sounds
  • Monitoring memory usage
  • Performing system security and integrity checks

The Kernel

  • Understanding kernel parameters
  • Kernel headers
  • Compiling the kernel and related modules
  • Compiling kernel source: Debian standard method
  • Compiling module source: Debian standard method
  • Installing non-free hardware drivers

Virtualized Systems

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

Data Management

Sharing, Copying, and Archiving

  • Archive and compression tools
  • Copy and synchronization tools
  • Archive idioms and best practices
  • Copy idioms and best practices
  • File selection idioms
  • Backup and recovery strategies
  • Backup utility suites
  • Example script for system backup
  • Script for data backup copying
  • Managing removable storage devices
  • Sharing data via network
  • Archive media selection

Binary Data

  • Viewing and editing binary data
  • Manipulating files without mounting disks
  • Data redundancy strategies
  • Data file recovery and forensic analysis
  • Splitting large files into smaller chunks
  • Clearing file contents securely
  • Creating 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 hardlinks
  • Accounting for invisible disk space consumption

Data Security Infrastructure

  • Key management for GnuPG (signing and encrypting)
  • Using MD5 sums

Requirements

No specific prerequisites are required to enroll in this course.

 35 Hours

Number of participants


Price per participant

Upcoming Courses

Related Categories