Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
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.
Price per private group, online live training, starting from 8000 € + VAT*
Contact us for an exact quote and to hear our latest promotions