Get in Touch

Course Outline

Debian Distribution

Understanding Debian

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

Console Fundamentals

  • Navigating the shell prompt
  • Using the shell prompt within an X environment
  • Managing the root account and root shell prompt (utilizing su, sudo, and executing programs as root under X)
  • Employing GUI system administration tools
  • Utilizing virtual consoles
  • Exiting the command prompt
  • Shutting down the system
  • Restoring a functional console
  • Recommended packages for beginners
  • Creating an additional user account
  • Configuring sudo

The Filesystem

  • Understanding filesystem permissions
  • Controlling permissions for new files: umask
  • Managing permissions for user groups
  • Understanding timestamps
  • Working with links
  • Using named pipes (FIFOs)
  • Utilizing sockets
  • Handling device files
  • Managing special device files
  • Navigating procfs and sysfs

Midnight Commander (MC)

  • Customizing MC
  • Launching MC
  • Using the file manager in MC
  • Command-line techniques in MC
  • Utilizing the internal editor in MC
  • Utilizing the internal viewer in MC
  • Configuring auto-start features of MC
  • Using the FTP virtual filesystem in MC

The Basic Unix-like Work Environment

  • Understanding the login shell
  • Customizing bash
  • Using special key strokes
  • Utilizing the pager
  • Setting a default text editor
  • Navigating out of vim
  • Recording shell activities
  • Executing basic Unix commands

Simple Shell Commands

  • Command execution and environment variables
  • The "$LANG" variable
  • The "$PATH" variable
  • The "$HOME" variable
  • Understanding command line options
  • Using shell globbing
  • Interpreting the return value of a command
  • Managing typical command sequences and shell redirection
  • Creating command aliases

Unix-like Text Processing

  • Utilizing Unix text tools
  • Working with regular expressions
  • Understanding replacement expressions
  • Performing global substitution with regular expressions
  • Extracting data from text file tables
  • Writing script snippets for piping commands

Debian Package Management

Prerequisites for Debian Package Management

  • Configuring packages
  • Essential precautions
  • Managing the cycle of perpetual upgrades
  • Understanding the Debian archive basics
  • Understanding package dependencies
  • Tracing the event flow of package management
  • Initial responses to package management issues

Basic Package Management Operations

  • Comparing apt-get/apt-cache vs. aptitude
  • Performing basic package management operations via the command line
  • Using aptitude interactively
  • Mastering key bindings of aptitude
  • Navigating package views in aptitude
  • Exploring search method options with aptitude
  • Understanding 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 using regex matching
  • Permanently purging removed packages
  • Organizing auto/manual installation status
  • Performing a system-wide upgrade

Advanced Package Management Operations

  • Executing advanced package management operations via the command line
  • Verifying installed package files
  • Implementing safeguards for package problems
  • Searching package metadata

Internals of Debian Package Management

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

Recovery from a Broken System

  • Addressing incompatibilities with old user configurations
  • Handling different packages with overlapping files
  • Fixing broken package scripts
  • Rescuing with the dpkg command
  • Recovering package selection data

Tips for Package Management

  • Selecting Debian packages
  • Handling packages from mixed archive sources
  • Tweaking candidate versions
  • Managing Updates and Backports
  • Automatically downloading and upgrading packages
  • Limiting download bandwidth for APT
  • Performing emergency downgrades
  • Identifying the package uploader
  • Using the equivs package
  • Porting packages to the stable system
  • Configuring a proxy server for APT
  • Utilizing a small public package archive
  • Recording and copying system configuration
  • Converting or installing alien binary packages
  • Extracting packages without dpkg
  • Additional reading resources for package management

The System Initialization

  • Overview of the boot strap process
  • Understanding BIOS, boot loader, and mini-Debian system
  • Understanding the concept of runlevels
  • Configuring runlevels
  • Runlevel management examples
  • Default parameters for each init script
  • Configuring the hostname
  • Managing the filesystem
  • Initializing network interfaces
  • Initializing network services
  • Managing system messages
  • Monitoring kernel messages
  • Understanding the udev system
  • Initializing kernel modules

Authentication and Security

  • Standard Unix authentication
  • Managing account and password information
  • Creating strong passwords
  • Generating encrypted passwords
  • Understanding PAM and NSS
  • Configuration files accessed by PAM and NSS
  • Modern centralized system management
  • "Why GNU su does not support the wheel group"
  • Implementing stricter password rules
  • Other access control mechanisms
  • Using sudo
  • Understanding SELinux and Apparmor
  • Restricting access to specific server services
  • Ensuring authentication security
  • Sending secure passwords over the Internet
  • Utilizing Secure Shell
  • Implementing additional security measures for the Internet
  • Securing the root password

Network Setup

The Basic Network Infrastructure

  • Understanding the domain name
  • Configuring hostname resolution
  • Identifying the network interface name
  • Defining the network address range for the LAN
  • Understanding network device support

Modern Network Configuration for Desktops

  • Using GUI network configuration tools

Low-Level Network Configuration

  • Using Iproute2 commands
  • Safely performing low-level network operations

Network Optimization

  • Finding the optimal MTU
  • Setting the MTU
  • Optimizing WAN TCP

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 - Mutt

Mail Delivery Agent (MDA) with Filter

  • Configuring maildrop
  • Configuring procmail
  • Redelivering mbox contents

POP3/IMAP4 Server

The Remote Access Server and Utility (SSH)

  • SSH basics
  • Port forwarding for SMTP/POP3 tunneling
  • Connecting without remote passwords
  • Handling incompatible SSH clients
  • Setting up ssh-agent
  • Shutting down the remote system via SSH
  • Troubleshooting SSH

Other Network Application Servers

Other Network Application Clients

Diagnosing System Daemons

The X Window System

  • Setting up the desktop environment
  • Understanding the server/client relationship
  • Working with the X server
  • Starting the X Window System
  • Starting an X session with gdm
  • Customizing the X session (classic method)
  • Customizing the X session (new method)
  • Connecting a remote X client via SSH
  • Using a secure X terminal over the Internet
  • Using X applications
  • Using X office applications
  • Using X utility applications

System Tips

The screen Program

  • Use scenarios 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
  • Colorized shell echo
  • Colorized commands
  • Recording editor activities for complex repetitions
  • Recording the graphic image of an X application
  • Recording changes in configuration files

Data Storage Tips

  • Configuring disk partitions
  • Accessing partitions using UUID
  • Configuring the filesystem
  • Creating filesystems and performing integrity checks
  • Optimizing the filesystem via mount options
  • Optimizing the filesystem via superblock
  • Optimizing the hard disk
  • Using SMART to predict hard disk failure
  • Expanding usable storage space via LVM
  • Expanding usable storage space by mounting another partition
  • Expanding usable storage space using symlinks
  • Expanding usable storage space using aufs

Data Encryption Tips

  • Encrypting removable disks with dm-crypt/LUKS
  • Encrypting the swap partition with dm-crypt
  • Automatically encrypting files with eCryptfs
  • Automatically mounting eCryptfs

Monitoring, Controlling, and Starting Program Activities

  • Timing a process
  • Understanding scheduling priority
  • Using the ps command
  • Using the top command
  • Listing files opened by a process
  • Tracing program activities
  • Identifying processes using files or sockets
  • Repeating a command at a constant interval
  • Repeating a command looping over files
  • Starting a program from the GUI
  • Customizing programs to be started
  • Killing a process
  • Scheduling one-time tasks
  • Scheduling regular tasks
  • Using the Alt-SysRq key

System Maintenance Tips

  • Identifying who is on the system
  • Warning all users
  • Identifying hardware
  • Configuring hardware
  • Managing system and hardware time
  • Configuring the terminal
  • Understanding the sound infrastructure
  • Disabling the screen saver
  • Disabling beep sounds
  • Monitoring memory usage
  • Checking system security and integrity

The Kernel

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

Virtualized System

  • Using virtualization tools
  • Understanding the virtualization workflow
  • Mounting the virtual disk image file
  • Using the Chroot system
  • Managing multiple desktop systems

Data Management

Sharing, Copying, and Archiving

  • Using archive and compression tools
  • Using copy and synchronization tools
  • Idioms for archiving
  • Idioms for copying
  • Idioms for file selection
  • Backup and recovery
  • Using backup utility suites
  • Example script for system backup
  • Cop script for data backup
  • Managing removable storage devices
  • Sharing data via network
  • Using archive media

Binary Data

  • Viewing and editing binary data
  • Manipulating files without mounting the disk
  • Ensuring data redundancy
  • Data file recovery and forensic analysis
  • Splitting large files into smaller files
  • Clearing file contents
  • Creating dummy files
  • Erasing an entire hard disk
  • Erasing unused areas of a hard disk
  • Undeleting deleted but still open files
  • Searching all hardlinks
  • Monitoring invisible disk space consumption

Data Security Infrastructure

  • Key management for GnuPG (signing and encrypting)
  • Understanding the MD5 sum
 35 Hours

Number of participants


Price per participant

Upcoming Courses

Related Categories