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
  • Navigating 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)
  • Utilizing GUI system administration tools
  • Navigating virtual consoles
  • Exiting the command prompt effectively
  • Properly shutting down the system
  • Restoring a functional console state
  • Recommended packages for beginners
  • Setting up an additional user account
  • Configuring sudo permissions

Filesystem Management

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

Mastering Midnight Commander (MC)

  • Customizing MC settings
  • Launching MC
  • Navigating the file manager within MC
  • Applying command-line techniques in MC
  • Utilizing the built-in text editor in MC
  • Using the built-in file viewer in MC
  • Leveraging auto-start features of MC
  • Navigating FTP virtual filesystems via MC

The Basic Unix-Like Work Environment

  • Understanding the login shell
  • Customizing the bash environment
  • Utilizing special key combinations
  • Using text pagers
  • Setting a default text editor
  • Exiting vim efficiently
  • Recording shell session activities
  • Familiarity with basic Unix commands

Essential Shell Commands

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

Unix-Like Text Processing

  • Overview of Unix text processing tools
  • Working with regular expressions
  • Using replacement expressions
  • Performing global substitutions with regular expressions
  • Extracting data from structured text files
  • Writing script snippets for command piping

Debian Package Management

Prerequisites for Debian Package Management

  • Configuring packages
  • Essential precautions to take
  • Managing the lifecycle of permanent upgrades
  • Fundamentals of the Debian archive
  • Understanding package dependencies
  • Tracing the event flow of package management operations
  • Initial troubleshooting steps for package issues

Basic Package Management Operations

  • Comparing apt-get/apt-cache with aptitude
  • Executing basic package management via command line
  • Interactively using aptitude
  • Mastering aptitude key bindings
  • Navigating package views in aptitude
  • Search options available in aptitude
  • Understanding the aptitude regex syntax
  • Resolving dependencies with aptitude
  • Reviewing package activity logs

Aptitude Operations Examples

  • Listing packages using regex matching on names
  • Browsing packages via regex matching
  • Purging removed packages permanently
  • Managing auto vs. manual installation status
  • Performing a system-wide upgrade

Advanced Package Management Operations

  • Executing advanced package management via command line
  • Verifying installed package file integrity
  • Safeguarding against package-related issues
  • Searching within package metadata

Internals of Debian Package Management

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

Recovering from a Broken System

  • Addressing incompatibilities with legacy user configurations
  • Handling packages with overlapping files
  • Repairing broken package scripts
  • Performing rescue operations using the dpkg command
  • Recovering package selection data

Tips for Effective Package Management

  • Selecting appropriate Debian packages
  • Managing packages from mixed archive sources
  • Adjusting candidate package versions
  • Navigating updates and backports
  • Automating package download and upgrade processes
  • Limiting bandwidth usage for APT
  • Performing emergency downgrades
  • Identifying the uploader of a specific package
  • Utilizing the equivs package utility
  • Porting packages to stable systems
  • Configuring proxy servers for APT
  • Creating small public package archives
  • Recording and backing up system configurations
  • Converting or installing alien binary packages
  • Extracting packages without dpkg
  • Finding further resources on package management

System Initialization

  • Overview of the boot strap process
  • Understanding BIOS, boot loaders, and mini-Debian systems
  • Defining and understanding runlevels
  • Configuring runlevels
  • Examples of runlevel management
  • Default parameters for init scripts
  • Managing the hostname
  • Filesystem initialization steps
  • Initializing network interfaces
  • Initializing network services
  • Viewing system messages
  • Monitoring kernel messages
  • Understanding the udev system
  • Initializing kernel modules

Authentication and Security

  • Standard Unix authentication mechanisms
  • Managing account and password information
  • Crafting strong passwords
  • Generating encrypted passwords
  • Understanding PAM and NSS
  • Identifying configuration files accessed by PAM and NSS
  • Implementing modern centralized system management
  • Addressing the lack of wheel group support in GNU su
  • Enforcing stricter password policies
  • Exploring other access control methods
  • Configuring sudo privileges
  • Implementing SELinux and Apparmor
  • Restricting access to specific server services
  • Ensuring authentication security
  • Safeguarding passwords transmitted over the Internet
  • Utilizing Secure Shell (SSH)
  • Applying additional security measures for internet-facing services
  • Securing the root password

Network Configuration

Foundational Network Infrastructure

  • Understanding domain names
  • Configuring hostname resolution
  • Identifying network interface names
  • Determining the LAN network address range
  • Ensuring network device compatibility

Modern Desktop Network Configuration

  • Utilizing GUI-based network configuration tools

Low-Level Network Configuration

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

Network Optimization

  • Identifying the optimal Maximum Transmission Unit (MTU)
  • Configuring MTU settings
  • Optimizing TCP performance over WAN connections

Netfilter Infrastructure

Network Applications

The Mail System

  • Fundamentals of modern mail services
  • Strategizing mail configuration for workstations

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

  • Overview of exim4
  • Basic MUA usage with Mutt

Mail Delivery Agent (MDA) with Filtering

  • Configuring maildrop
  • Configuring procmail
  • Redelivering mbox contents

POP3/IMAP4 Servers

Remote Access Server and Utilities (SSH)

  • Foundations of SSH
  • Port forwarding for SMTP/POP3 tunneling
  • Connecting without remote passwords using keys
  • Interacting with incompatible SSH clients
  • Setting up ssh-agent
  • Shutting down remote systems via SSH
  • Troubleshooting common SSH issues

Other Network Application Servers

Other Network Application Clients

Diagnostics for System Daemons

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 (traditional method)
  • Customizing the X session (modern method)
  • Connecting a remote X client via SSH
  • Securing X terminals over the Internet
  • Utilizing X applications
  • X office productivity tools
  • X utility applications

System Tips and Tricks

The Screen Program

  • Use cases for screen(1)
  • Key bindings for the screen command

Data Recording and Presentation

  • Configuring the log daemon
  • Using log analyzers
  • Cleanly recording shell activities
  • Customizing text data display formats
  • Customizing time and date displays
  • Using colorized shell echo commands
  • Applying colorization to commands
  • Recording editor activities for complex repetition tasks
  • Recording the graphical interface of X applications
  • Tracking changes in configuration files

Data Storage Tips

  • Configuring disk partitions
  • Accessing partitions using UUIDs
  • Configuring filesystems
  • Creating filesystems and performing integrity checks
  • Optimizing filesystems via mount options
  • Optimizing filesystems via superblock adjustments
  • Optimizing hard disk performance
  • Using SMART technology to predict hard disk failures
  • Expanding usable storage space via 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 with eCryptfs
  • Automatically mounting eCryptfs volumes

Monitoring, Controlling, and Starting Program Activities

  • Timing process execution
  • Setting scheduling priorities
  • Using the ps command
  • Using the top command
  • Listing files opened by a specific process
  • Tracing program activities
  • Identifying processes using files or sockets
  • Repeating commands at constant intervals
  • Looping commands over files
  • Launching programs from the GUI
  • Customizing auto-started programs
  • Killing unresponsive processes
  • Scheduling one-time tasks
  • Scheduling recurring tasks
  • Using the Alt-SysRq key combination

System Maintenance Tips

  • Checking who is currently logged in
  • Broadcasting warnings to all users
  • Identifying hardware components
  • Configuring hardware settings
  • Managing system and hardware clocks
  • Configuring terminal settings
  • Understanding the sound infrastructure
  • Disabling the screen saver
  • Disabling beep sounds
  • Monitoring memory usage
  • Performing system security and integrity checks

The Linux Kernel

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

Virtualized Systems

  • Using virtualization tools
  • Navigating virtualization workflows
  • Mounting virtual disk image files
  • Utilizing chroot environments
  • Running multiple desktop systems simultaneously

Data Management

Sharing, Copying, and Archiving

  • Utilizing archive and compression tools
  • Using copy and synchronization utilities
  • Archiving idioms and best practices
  • Copying idioms and best practices
  • Strategies for selecting files
  • Backup and recovery strategies
  • Evaluating backup utility suites
  • Scripting an example system backup
  • Creating a script for data backups
  • Managing removable storage devices
  • Sharing data over the network
  • Selecting archive media

Binary Data Management

  • Viewing and editing binary data
  • Manipulating files without mounting disks
  • Understanding data redundancy
  • Data file recovery and forensic analysis
  • Splitting large files into smaller segments
  • Clearying file contents securely
  • Creating dummy files
  • Erasing an entire hard disk
  • Erasing unused areas of a hard disk
  • Undeleting deleted but still open files
  • Searching for all hard links
  • Identifying invisible disk space consumption

Data Security Infrastructure

  • Managing keys for GnuPG (signing and encrypting)
  • Using MD5 sums for integrity verification

Requirements

No specific prerequisites are required to enroll in this course.

 35 Hours

Number of participants


Price per participant

Provisional Upcoming Courses (Require 5+ participants)

Related Categories