Get in Touch

Course Outline

Debian Distribution

What is Debian?

  • Selecting a Debian version
  • Debian support and assistance resources
  • The Debian community

Console fundamentals

  • The shell prompt interface
  • Using the shell prompt within the X environment
  • Root account management and root shell prompts (su, sudo, executing programs as root in X)
  • Graphical user interface (GUI) administration tools
  • Virtual consoles
  • Exiting the command prompt
  • Shutting down the system
  • Restoring a functional console
  • Recommended packages for beginners
  • Creating additional user accounts
  • Configuring sudo

The filesystem

  • Filesystem permission structures
  • Managing permissions for new files using umask
  • Group-based permissions
  • Timestamps
  • File links
  • Named pipes (FIFOs)
  • Sockets
  • Device files
  • Special device files
  • The procfs and sysfs virtual filesystems

Midnight Commander (MC)

  • Customizing MC settings
  • Launching MC
  • Using the MC file manager
  • Command-line techniques in MC
  • The internal MC editor
  • The internal MC viewer
  • MC auto-start capabilities
  • The MC FTP virtual filesystem

The basic Unix-like work environment

  • The login shell
  • Customizing bash
  • Special keyboard shortcuts
  • Using the pager utility
  • Setting a default text editor
  • Exiting vim
  • Logging shell activities
  • Essential Unix commands

Simple shell commands

  • 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

  • Standard 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
  • Basics of Debian archives
  • Package dependencies
  • The workflow of package management
  • Initial steps for resolving package management issues

Basic package management operations

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

aptitude operation examples

  • Listing packages by regular expression matching
  • Browsing with regular expression matching
  • Permanently removing purged packages
  • Cleaning up auto/manual installation states
  • Performing system-wide upgrades

Advanced package management operations

  • Advanced command-line package management
  • Verifying installed package files
  • Protecting against package issues
  • Searching package metadata

Debian package management internals

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

  • Resolving conflicts with legacy user configurations
  • Handling packages with overlapping files
  • Repairing broken package scripts
  • Using dpkg for system rescue
  • Restoring package selection data

Package management tips

  • Criteria for selecting Debian packages
  • Using packages from mixed archive sources
  • Adjusting candidate versions
  • Updates and Backports repositories
  • Automating package downloads and upgrades
  • Limiting APT download bandwidth
  • Emergency downgrades
  • Identifying package uploaders
  • The equivs package
  • Porting packages to stable systems
  • Configuring proxy servers for APT
  • Setting up small public package archives
  • Recording and duplicating system configurations
  • Converting or installing non-Debian binary packages
  • Extracting packages without using dpkg
  • Further reading on package management

System initialization

  • Overview of the bootstrapping process
  • BIOS, boot loaders, and the mini-Debian system
  • Understanding runlevels
  • Configuring runlevels
  • Example of runlevel management
  • Default parameters for init scripts
  • Hostname configuration
  • Filesystem mounting
  • 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 frameworks
  • Configuration files used by PAM and NSS
  • Modern centralized system administration
  • Reasons GNU su does not support the wheel group
  • Implementing stricter password policies
  • Additional access control methods
  • Using sudo
  • SELinux and AppArmor
  • Restricting access to specific server services
  • Authentication security practices
  • Securing passwords over the Internet
  • Secure Shell (SSH)
  • Extra security measures for internet connections
  • Securing the root password

Network setup

Basic network infrastructure

  • Domain names
  • Hostname resolution
  • Network interface naming
  • Local Area Network (LAN) 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 the optimal MTU
  • Configuring MTU
  • WAN TCP optimization

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
  • Basic MUA usage with Mutt

Mail delivery agent (MDA) with filters

  • Configuring maildrop
  • Configuring procmail
  • 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
  • Configuring 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
  • The server/client model
  • The X server
  • Starting the X Window System
  • Launching X sessions with gdm
  • Customizing X sessions (traditional method)
  • Customizing X sessions (modern method)
  • Connecting remote X clients via SSH
  • Securing X terminals over the Internet
  • X applications
  • X office suite 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 sessions
  • Customizing text data display
  • Customizing date and time display
  • Colorized shell output
  • Colorized commands
  • Recording editor actions for complex repetitions
  • Capturing graphics from X applications
  • Tracking changes in configuration files

Data storage tips

  • Disk partition setup
  • Accessing partitions via UUID
  • Filesystem configuration
  • Creating filesystems and running integrity checks
  • Optimizing filesystems with mount options
  • Optimizing filesystems via superblocks
  • Optimizing hard disk performance
  • Predicting hard disk failures with SMART
  • Expanding storage space with LVM
  • Expanding storage space by mounting additional partitions
  • Expanding storage space using symlinks
  • Expanding storage space 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 volumes

Monitoring, controlling, and starting program activities

  • Timing processes
  • Scheduling priority
  • The ps command
  • The top command
  • Listing files opened by a process
  • Tracing program activity
  • Identifying processes using specific files or sockets
  • Repeating commands at fixed intervals
  • Looping commands over file sets
  • Launching programs from the GUI
  • Customizing startup programs
  • Terminating processes
  • Scheduling one-time tasks
  • Scheduling recurring tasks
  • The Alt-SysRq key

System maintenance tips

  • Checking logged-in users
  • Broadcasting system warnings
  • Hardware identification
  • Hardware configuration
  • Synchronizing system and hardware time
  • Terminal configuration
  • Sound infrastructure
  • Disabling the screen saver
  • Disabling beep sounds
  • Monitoring memory usage
  • System security and integrity verification

The kernel

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

Virtualized systems

  • Virtualization tools
  • Virtualization workflows
  • Mounting virtual disk images
  • Chroot environments
  • Managing multiple desktop systems

Data management

Sharing, copying, and archiving

  • Archiving and compression tools
  • Copying and synchronization utilities
  • Common archive idioms
  • Common copy idioms
  • File selection idioms
  • Backup and recovery procedures
  • Backup utility suites
  • Example system backup script
  • Data backup copy script
  • Managing removable storage devices
  • Sharing data over the network
  • Archive media management

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 segments
  • Clearing file contents
  • Creating dummy files
  • Wiping an entire hard disk
  • Erasing unused hard disk space
  • Restoring deleted but open files
  • Finding all hard links
  • Invisible disk space usage

Data security infrastructure

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

Requirements

No specific prerequisites are required to enroll in this course.

 35 Hours

Number of participants


Price per participant

Upcoming Courses

Related Categories