Get in Touch
 Duration 35 hours

Course Outline

Debian Distribution

Understanding Debian

  • Selecting a Debian release
  • Accessing Debian support and assistance
  • Engaging with the Debian community

Console fundamentals

  • The shell prompt interface
  • Using the shell prompt within X
  • Root account management and root shell access (su, sudo, executing programs as root under X)
  • GUI-based system administration utilities
  • Virtual console management
  • Exiting the command prompt
  • Shutting down the system properly
  • Restoring a functional console
  • Recommended additional packages for beginners
  • Creating an additional user account
  • Configuring sudo

Filesystem architecture

  • Filesystem permission structures
  • Controlling permissions for new files: umask
  • Group-based user permissions
  • Timestamp management
  • Symbolic and hard links
  • Named pipes (FIFOs)
  • Sockets
  • Device files
  • Special device files
  • procfs and sysfs interfaces

Midnight Commander (MC)

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

Foundational Unix-like environment

  • The login shell
  • Tailoring bash configuration
  • Special keystrokes
  • The pager utility
  • Setting a default text editor
  • Exiting vim
  • Recording shell session activities
  • Essential Unix commands

Basic shell command mechanics

  • 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-style text processing

  • Unix text utilities
  • Regular expressions
  • Replacement patterns
  • Global substitution using regular expressions
  • Extracting data from text file tables
  • Script snippets for piping commands

Debian package administration

Prerequisites for Debian package management

  • Package configuration
  • Essential precautions
  • Managing continuous upgrades
  • Basics of the Debian archive
  • Package dependencies
  • Workflow of package management
  • Initial steps to resolve package management issues

Core package management tasks

  • apt-get/apt-cache vs. aptitude
  • Basic package operations via command line
  • Interactive aptitude usage
  • aptitude key bindings
  • Package views in aptitude
  • Search options in aptitude
  • aptitude regular expression formulas
  • aptitude dependency resolution
  • Package activity logs

aptitude operation examples

  • Listing packages using regex name matching
  • Browsing with regex matching
  • Permanently purging removed packages
  • Organizing auto/manual install status
  • System-wide upgrades

Advanced package management tasks

  • Advanced package operations via command line
  • Verifying installed package files
  • Mitigating package issues
  • Searching package metadata

Internal mechanisms of Debian package management

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

Recovering from a compromised system

  • Handling old user configuration incompatibilities
  • Resolving file overlaps between different packages
  • Fixing broken package scripts
  • Using dpkg for system rescue
  • Restoring package selection data

Package management best practices

  • Selecting Debian packages effectively
  • Handling packages from mixed archive sources
  • Adjusting candidate versions
  • Updates and Backports
  • Automatic package download and upgrade
  • Limiting APT download bandwidth
  • Emergency package downgrading
  • Identifying package uploaders
  • The equivs package
  • Porting packages to the stable system
  • Using a proxy server for APT
  • Small public package archives
  • Recording and duplicating system configurations
  • Converting or installing foreign binary packages
  • Extracting packages without dpkg
  • Additional resources for package management

System initialization

  • Overview of the boot strap process
  • BIOS, boot loader, and mini-Debian system
  • Understanding runlevels
  • Configuring runlevels
  • Runlevel management examples
  • 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 data
  • Creating strong passwords
  • Generating encrypted passwords
  • PAM and NSS frameworks
  • Configuration files for PAM and NSS
  • Modern centralized system management
  • "Why GNU su does not support the wheel group"
  • Strict password policies
  • Additional access controls
  • sudo usage
  • SELinux, AppArmor
  • Restricting access to specific server services
  • Authentication security
  • Secure password transmission over the Internet
  • Secure Shell (SSH)
  • Additional internet security measures
  • Securing the root password

Network configuration

Foundational 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 commands
  • Safe low-level network operations

Network optimization

  • Determining optimal MTU
  • Setting MTU
  • WAN TCP optimization

Netfilter infrastructure

Network applications

Mail systems

  • Modern mail service fundamentals
  • 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 filtering

  • maildrop configuration
  • procmail configuration
  • Redelivering mbox contents

POP3/IMAP4 servers

Remote access servers and utilities (SSH)

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

Other network application servers

Other network application clients

Diagnosing system daemons

The X Window System

  • Setting up the desktop environment
  • Server/client relationship
  • The X server
  • Launching the X Window System
  • Starting an X session with gdm
  • Customizing the X session (traditional method)
  • Customizing the X session (modern method)
  • Connecting a remote X client via SSH
  • Secure X terminal access via 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 recording shell activities
  • Customizing text data display
  • Customizing time and date display
  • Colorized shell echo
  • Colorized commands
  • Recording editor activities for complex repetitions
  • Capturing graphical images of X applications
  • Tracking changes in configuration files

Data storage tips

  • Disk partition configuration
  • Accessing partitions using UUID
  • Filesystem configuration
  • Creating filesystems and checking integrity
  • Filesystem optimization via mount options
  • Filesystem optimization via superblock
  • Hard disk optimization
  • Predicting hard disk failure using SMART
  • 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

  • Removable disk encryption with dm-crypt/LUKS
  • Encrypted swap partition with dm-crypt
  • Automatically encrypting files with eCryptfs
  • Automatically mounting eCryptfs

Monitoring, controlling, and initiating program activities

  • Timing a process
  • Scheduling priority
  • The ps command
  • 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 by looping over files
  • Launching a program from the GUI
  • Customizing programs to be started
  • Terminating a process
  • Scheduling one-time tasks
  • Scheduling recurring tasks
  • Alt-SysRq key

System maintenance tips

  • Checking who is on the system
  • Broadcasting warnings to all users
  • Hardware identification
  • Hardware configuration
  • System and hardware time
  • Terminal configuration
  • Sound infrastructure
  • Disabling the screen saver
  • Disabling beep sounds
  • Memory usage
  • System security and integrity checks

The kernel

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

Virtualized systems

  • Virtualization tools
  • Virtualization workflow
  • Mounting virtual disk image files
  • Chroot system
  • 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 script for system backup
  • Script for data backup copying
  • Removable storage devices
  • Sharing data via network
  • 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 into smaller ones
  • Clearing file contents
  • Creating dummy files
  • Erasing an entire hard disk
  • Erasing unused areas of a hard disk
  • Undeleting deleted but still open files
  • Finding all hard links
  • Invisible disk space consumption

Data security infrastructure

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

Requirements

No particular prerequisites are necessary for participation in this course.

Number of participants


Price per participant

Upcoming Courses

Related Categories