Get in Touch

Course Outline

Debian Operating System Overview

Overview of Debian

  • Selecting the appropriate Debian release
  • Accessing support and technical assistance
  • Engaging with the Debian community resources

Command Line Interface Fundamentals

  • Navigating the shell prompt
  • Utilizing the shell within the X Window environment
  • Managing the root account and elevated privileges (su, sudo, and root execution in X)
  • Implementing GUI-based system administration utilities
  • Accessing virtual consoles
  • Exiting the command prompt session
  • Executing proper system shutdown procedures
  • Restoring console functionality after errors
  • Recommended packages for new users
  • Creating additional user accounts
  • Configuring sudo privileges

File System Management

  • Understanding file system permissions
  • Managing default permissions for new files via umask
  • Assigning permissions to user groups
  • Interpreting file timestamps
  • Creating and managing file links
  • Utilizing named pipes (FIFOs)
  • Working with sockets
  • Accessing device files
  • Distinguishing between special and standard device files
  • Navigating procfs and sysfs interfaces

Midnight Commander (MC) File Manager

  • Customizing MC settings
  • Initiating the MC application
  • Operating the file manager interface
  • Advanced command-line features within MC
  • Using the integrated text editor
  • Utilizing the integrated file viewer
  • Configuring auto-start parameters
  • Accessing FTP virtual file systems

Standard Unix-like Work Environment

  • Configuring the login shell
  • Customizing the Bash environment
  • Utilizing special keystrokes
  • Employing text paging utilities
  • Setting default text editor preferences
  • Exiting the vim editor
  • Logging shell activity sessions
  • Executing basic Unix commands

Basic Shell Command Operations

  • Command execution and environment variable handling
  • Configuring the "$LANG" locale variable
  • Configuring the "$PATH" search variable
  • Configuring the "$HOME" directory variable
  • Utilizing command line options
  • Applying shell globbing patterns
  • Interpreting command return values
  • Constructing command sequences and using redirection
  • Defining command aliases

Text Processing Utilities

  • Overview of Unix text processing tools
  • Applying regular expressions
  • Utilizing replacement expressions
  • Performing global substitutions with regular expressions
  • Extracting data from text-based tables
  • Constructing shell scripts for piping commands

Debian Package Management Infrastructure

Prerequisites for Package Management

  • Configuring package settings
  • Adhering to standard safety precautions
  • Managing continuous system upgrades
  • Understanding Debian archive structures
  • Resolving package dependencies
  • Understanding the package management lifecycle
  • Initial troubleshooting steps for package issues

Core Package Management Operations

  • Differentiating between apt-get/apt-cache and aptitude
  • Executing basic operations via command line
  • Utilizing the interactive aptitude interface
  • Customizing aptitude key bindings
  • Navigating package views in aptitude
  • Applying search method options in aptitude
  • Understanding aptitude regular expression syntax
  • Resolving dependencies using aptitude
  • Reviewing package activity logs

Examples of aptitude Operations

  • Listing packages using regex matching on names
  • Browsing package lists with regex matching
  • Permanently purging removed packages
  • Managing automatic versus manual installation statuses
  • Performing system-wide upgrades

Advanced Package Management Operations

  • Executing advanced operations via command line
  • Verifying installed package file integrity
  • Implementing safeguards against package failures
  • Searching package metadata

Internal Mechanics of Debian Package Management

  • Understanding archive metadata structures
  • Analyzing top-level and archive-level "Release" files for authenticity
  • Fetching package metadata
  • Monitoring APT package states
  • Monitoring aptitude package states
  • Managing local caches of fetched packages
  • Naming conventions for Debian package files
  • Utilizing the dpkg command
  • Managing alternatives with the update-alternatives command
  • Overriding package permissions with dpkg-statoverride
  • Diverting package files with dpkg-divert

System Recovery from Package Errors

  • Addressing conflicts with legacy user configurations
  • Resolving file overlaps between conflicting packages
  • Repairing broken package scripts
  • Using dpkg for rescue operations
  • Restoring package selection data

Best Practices for Package Management for government systems

  • Strategies for selecting Debian packages
  • Managing packages from mixed archive sources
  • Adjusting candidate package versions
  • Implementing updates and backports
  • Automating package downloads and upgrades
  • Configuring APT bandwidth limits
  • Executing emergency package downgrades
  • Identifying package maintainers
  • Utilizing the equivs package for dependency simulation
  • Porting packages to stable systems
  • Configuring APT proxy servers
  • Utilizing small public package archives
  • Documenting and copying system configurations
  • Converting and installing non-native binary packages
  • Extracting packages without dpkg
  • Accessing additional documentation resources

System Initialization and Boot Process

  • Overview of the bootstrapping process
  • Understanding BIOS, boot loaders, and mini-Debian environments
  • Defining and managing runlevels
  • Configuring runlevel settings
  • Examples of runlevel management
  • Configuring default parameters for init scripts
  • Setting the system hostname
  • Initializing the file system
  • Configuring network interface initialization
  • Starting network services
  • Managing system messages
  • Monitoring kernel messages
  • Utilizing the udev system for device management
  • Initializing kernel modules

Authentication and Security Protocols

  • Standard Unix authentication mechanisms
  • Managing account and password databases
  • Establishing strong password policies
  • Generating encrypted passwords
  • Configuring PAM and NSS components
  • Identifying configuration files accessed by PAM and NSS
  • Implementing centralized system management
  • Addressing GNU su wheel group limitations
  • Enforcing stricter password rules
  • Implementing additional access controls
  • Configuring sudo access
  • Utilizing SELinux and AppArmor
  • Restricting access to specific server services
  • Ensuring authentication security standards
  • Securing password transmission over the Internet
  • Implementing Secure Shell (SSH)
  • Applying additional internet security measures
  • Protecting the root password

Network Configuration

Basic Network Infrastructure

  • Configuring domain names
  • Setting up hostname resolution
  • Identifying network interface names
  • Defining LAN network address ranges
  • Verifying network device support

Modern Network Configuration for Desktop Environments

  • Utilizing GUI network configuration tools

Low-Level Network Configuration

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

Network Optimization

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

Netfilter Infrastructure

Network Applications

Email System Configuration

  • Basics of modern mail services
  • Developing mail configuration strategies for workstations

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

  • Overview of the exim4 MTA
  • Using the mutt MUA

Mail Delivery Agent (MDA) with Filtering

  • Configuring maildrop
  • Configuring procmail
  • Redelivering mbox contents

POP3/IMAP4 Server Configuration

Remote Access and Utilities (SSH)

  • SSH fundamentals
  • Configuring port forwarding for SMTP/POP3 tunneling
  • Establishing passwordless remote connections
  • Managing compatibility with non-standard SSH clients
  • Configuring ssh-agent
  • Executing remote system shutdowns via SSH
  • Troubleshooting SSH connectivity

Additional Network Application Servers

Additional Network Application Clients

Diagnosing System Daemons

X Window System

  • Configuring the desktop environment
  • Understanding the server/client architecture
  • Configuring the X server
  • Initiating the X Window System
  • Starting X sessions via GDM
  • Customizing X sessions using traditional methods
  • Customizing X sessions using modern methods
  • Connecting remote X clients via SSH
  • Securing X terminal access over the Internet
  • Installing X applications
  • Installing office productivity applications
  • Installing utility applications

System Administration Tips

Screen Multiplexer Utilities

  • Use cases for screen(1)
  • Configuring screen command key bindings

Data Logging and Presentation

  • Utilizing the logging daemon
  • Employing log analysis tools
  • Recording shell activity logs
  • Customizing text data display
  • Customizing time and date displays
  • Using colorized shell echo commands
  • Implementing colorized command output
  • Recording editor activities for complex tasks
  • Capturing graphical images of X applications
  • Tracking configuration file changes

Data Storage Optimization

  • Configuring disk partitions
  • Accessing partitions via UUID
  • Configuring file systems
  • Creating file systems and performing integrity checks
  • Optimizing file systems via mount options
  • Optimizing file systems via superblock adjustment
  • Optimizing hard disk performance
  • Using SMART to predict hard disk failures
  • Expanding storage space via LVM
  • Expanding storage space by mounting additional partitions
  • Expanding storage space using symbolic links
  • Expanding storage space using aufs

Data Encryption Protocols

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

Process Monitoring and Control

  • Timing process execution
  • Adjusting scheduling priorities
  • Using the ps command for process listing
  • Using the top command for real-time monitoring
  • Listing files opened by a specific process
  • Tracing program activities
  • Identifying processes using specific files or sockets
  • Repeating commands at constant intervals
  • Repeating commands across file sets
  • Starting programs from the GUI
  • Customizing startup programs
  • Terminating processes
  • Scheduling one-time tasks
  • Scheduling recurring tasks
  • Using the Alt-SysRq key combination

System Maintenance Procedures

  • Identifying active users
  • Broadcasting system-wide warnings
  • Identifying hardware components
  • Configuring hardware settings
  • Managing system and hardware time synchronization
  • Configuring terminal settings
  • Configuring audio infrastructure
  • Disabling the screen saver
  • Disabling beep sounds
  • Monitoring memory usage
  • Performing system security and integrity checks

Kernel Management

  • Configuring kernel parameters
  • Installing kernel headers
  • Compiling the kernel and related modules
  • Compiling kernel source code using Debian standards
  • Compiling module source code using Debian standards
  • Installing non-free hardware drivers

Virtualization Infrastructure

  • Utilizing virtualization tools
  • Following virtualization workflows
  • Mounting virtual disk image files
  • Configuring chroot environments
  • Managing multiple desktop systems

Data Management and Backup

Sharing, Copying, and Archiving

  • Utilizing archive and compression tools
  • Utilizing copy and synchronization tools
  • Standard archiving idioms
  • Standard copying idioms
  • File selection idioms
  • Backup and recovery strategies
  • Utilizing backup utility suites
  • Creating system backup scripts
  • Creating data backup scripts
  • Managing removable storage devices
  • Sharing data via network protocols
  • Utilizing archive media

Binary Data Management

  • Viewing and editing binary data
  • Manipulating files without disk mounting
  • Implementing data redundancy
  • Performing data file recovery and forensic analysis
  • Splitting large files into smaller segments
  • Clearing file contents
  • Creating dummy files
  • Securely erasing an entire hard disk
  • Securely erasing unused disk areas
  • Undeleting open but deleted files
  • Searching for hardlinks
  • Monitoring invisible disk space consumption

Data Security Infrastructure

  • Managing GnuPG keys for signing and encryption
  • Generating and verifying MD5 checksums

Requirements

This program is open to all personnel for government service without prerequisite conditions.
 35 Hours

Number of participants


Price per participant

Upcoming Courses

Related Categories