Get in Touch
 Duration 35 hours (5 days)

Course Outline

Debian Distribution

Introduction to Debian

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

Console fundamentals

  • Understanding the shell prompt
  • Using the shell prompt within the X environment
  • Managing the root account and root shell (su, sudo, executing programs as root under X)
  • Utilizing GUI-based system administration tools
  • Navigating virtual consoles
  • Exiting the command prompt correctly
  • Procedures for shutting down the system
  • Restoring a stable console state
  • Recommended additional packages for beginners
  • Creating an additional user account
  • Configuring sudo permissions

Filesystem structure

  • Understanding filesystem permissions
  • Controlling permissions for new files using umask
  • Managing group-based permissions
  • Working with timestamps
  • Creating and using symbolic and hard links
  • Utilizing named pipes (FIFOs)
  • Working with sockets
  • Understanding device files
  • Handling special device files
  • Interacting with procfs and sysfs

Midnight Commander (MC)

  • Customizing MC settings
  • Launching MC
  • Using the file manager within MC
  • Applying command-line shortcuts in MC
  • Using the integrated editor in MC
  • Using the integrated viewer in MC
  • Configuring auto-start features in MC
  • Accessing the FTP virtual filesystem via MC

Basic Unix-like working environment

  • Understanding the login shell
  • Customizing bash behavior
  • Using special key combinations
  • Utilizing the pager utility
  • Setting a default text editor
  • Exiting vim correctly
  • Recording shell session activities
  • Essential Unix commands

Basic shell command execution

  • Command execution and environment variables
  • The "$LANG" variable
  • The "$PATH" variable
  • The "$HOME" variable
  • Using command-line options
  • Shell globbing patterns
  • Interpreting command return values
  • Common command sequences and shell redirection
  • Defining command aliases

Unix-like text processing

  • Standard Unix text tools
  • Using regular expressions
  • Working with replacement expressions
  • Performing global substitutions with regex
  • Extracting data from text file tables
  • Script snippets for piping commands

Debian package management

Prerequisites for Debian package management

  • Package configuration basics
  • Essential safety precautions
  • Managing continuous system upgrades
  • Fundamentals of the Debian archive
  • Understanding package dependencies
  • The workflow of package management events
  • Initial steps for resolving package management issues

Core package management operations

  • Comparing apt-get/apt-cache with aptitude
  • Performing basic package operations via the command line
  • Using aptitude interactively
  • Applying key bindings in aptitude
  • Viewing packages using aptitude views
  • Using search options in aptitude
  • Understanding aptitude regex formulas
  • Resolving dependencies with aptitude
  • Reviewing package activity logs

Practical aptitude operations

  • Listing packages using regex matching on names
  • Browsing packages with regex filters
  • Thoroughly purging removed packages
  • Organizing auto-installed vs. manually installed status
  • Performing system-wide upgrades

Advanced package management operations

  • Executing advanced package operations from the command line
  • Verifying installed package files
  • Implementing safeguards against package issues
  • Searching package metadata

Internals of Debian package management

  • Understanding archive metadata
  • Top-level "Release" files and authenticity checks
  • Archive-level "Release" files
  • Retrieving package metadata
  • Package state tracking in APT
  • Package state tracking in aptitude
  • Managing local copies of fetched packages
  • Naming conventions for Debian package files
  • Using the dpkg command
  • Using the update-alternatives command
  • Using the dpkg-statoverride command
  • Using the dpkg-divert command

Recovering from a broken system

  • Resolving incompatibilities with old user configurations
  • Handling packages with overlapping file ownership
  • Fixing broken package scripts
  • Using dpkg for rescue operations
  • Restoring package selection data

Package management best practices

  • Strategies for selecting Debian packages
  • Managing packages from mixed archive sources
  • Adjusting candidate versions
  • Managing Updates and Backports
  • Automating package downloads and upgrades
  • Limiting APT download bandwidth
  • Performing emergency downgrades
  • Identifying package uploaders
  • Using the equivs package
  • Porting packages to stable systems
  • Configuring proxy servers for APT
  • Setting up small public package archives
  • Recording and copying system configurations
  • Converting or installing alien binary packages
  • Extracting packages without using dpkg
  • Further reading on package management

System initialization

  • Overview of the bootstrapping process
  • BIOS, boot loaders, and mini-Debian systems
  • The concept of runlevels
  • Configuring runlevels
  • Examples of runlevel management
  • Default parameters for init scripts
  • Setting the hostname
  • Filesystem mounting during boot
  • Initializing network interfaces
  • Starting network services
  • Managing system messages
  • Reviewing kernel messages
  • The udev subsystem
  • Initializing kernel modules

Authentication and Security

  • Standard Unix authentication mechanisms
  • Managing account and password data
  • Creating strong passwords
  • Generating encrypted passwords
  • Understanding PAM and NSS
  • Configuration files used by PAM and NSS
  • Modern centralized system administration
  • Why GNU su does not support the wheel group
  • Enforcing stricter password policies
  • Implementing additional access controls
  • Configuring sudo
  • Using SELinux and AppArmor
  • Restricting access to specific server services
  • Securing authentication processes
  • Transmitting passwords securely over the internet
  • Using Secure Shell (SSH)
  • Additional internet security measures
  • Securing the root password

Network setup

Basic network infrastructure

  • Understanding domain names
  • Hostname resolution mechanisms
  • Naming network interfaces
  • Defining LAN network address ranges
  • Network device driver support

Modern network configuration for desktops

  • Using GUI-based network configuration tools

Low-level network configuration

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

Network optimization

  • Identifying the optimal MTU
  • Setting the MTU value
  • Optimizing TCP for WAN connections

Netfilter infrastructure

Network applications

The mail system

  • Fundamentals of modern mail services
  • Mail configuration strategies for workstations

Mail Transfer 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 content

POP3/IMAP4 server

Remote access server and utilities (SSH)

  • SSH fundamentals
  • Port forwarding for SMTP/POP3 tunneling
  • Connecting without remote password prompts
  • Handling non-standard SSH clients
  • Setting up 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
  • Understanding server/client relationships
  • The X server architecture
  • 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
  • Secure X terminals over the internet
  • Running X applications
  • X-based office applications
  • X-based utility applications

System tips

The screen program

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

Data recording and presentation

  • Managing the log daemon
  • Using log analyzers
  • Cleanly recording shell activities
  • Customizing text data display
  • Customizing time and date display
  • Adding colors to shell echo output
  • Colorizing command outputs
  • Recording editor activities for complex repetitions
  • Capturing graphic images of X applications
  • Tracking changes in configuration files

Data storage tips

  • Configuring disk partitions
  • Accessing partitions using UUIDs
  • Configuring filesystems
  • Creating filesystems and checking integrity
  • Optimizing filesystems via mount options
  • Optimizing filesystems via superblock settings
  • Optimizing hard disk performance
  • Predicting hard disk failure using SMART
  • Expanding usable storage with LVM
  • Expanding storage by mounting additional partitions
  • Expanding storage using symbolic links
  • Expanding storage using aufs

Data encryption tips

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

Monitoring, controlling, and starting program activities

  • Timing process execution
  • Managing scheduling priority
  • Using the ps command
  • Using the top command
  • Listing files opened by a process
  • Tracing program behavior
  • Identifying processes using specific files or sockets
  • Repeating commands at constant intervals
  • Looping commands over file lists
  • Starting programs from the GUI
  • Customizing startup programs
  • Terminating processes
  • Scheduling one-time tasks
  • Scheduling recurring tasks
  • Using the Alt-SysRq key

System maintenance tips

  • Identifying users on the system
  • Broadcasting system warnings
  • Identifying hardware
  • Configuring hardware
  • Synchronizing system and hardware time
  • Configuring terminal settings
  • Managing the sound infrastructure
  • Disabling the screen saver
  • Disabling beep sounds
  • Monitoring memory usage
  • Performing system security and integrity checks

The kernel

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

Virtualized systems

  • Available virtualization tools
  • Virtualization workflows
  • Mounting virtual disk image files
  • Using chroot systems
  • Managing multiple desktop systems

Data management

Sharing, copying, and archiving

  • Archive and compression tools
  • Copy and synchronization tools
  • Common archive idioms
  • Common copy idioms
  • Idioms for file selection
  • Backup and recovery strategies
  • Backup utility suites
  • Example scripts for system backup
  • Scripts for data copying
  • Handling removable storage devices
  • Sharing data over the network
  • Using archive media

Binary data handling

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

Data security infrastructure

  • Key management with GnuPG (signing and encryption)
  • Using MD5 checksums

Requirements

No specific prerequisites are required to enroll in this course.

Custom Corporate Training

Training solutions designed exclusively for businesses.

  • Customized Content: We adapt the syllabus and practical exercises to the real goals and needs of your project.
  • Flexible Schedule: Dates and times adapted to your team's agenda.
  • Format: Online (live), In-company (at your offices), or Hybrid.
Investment

Price per private group, online live training, starting from 8000 € + VAT*

Contact us for an exact quote and to hear our latest promotions

Provisional Upcoming Courses (Contact Us For More Information)

Related Categories