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
Course Outline
Debian Distribution
What is Debian?
- Selecting a Debian version
- Debian support and assistance
- The Debian community
Console basics
- The shell prompt
- The shell prompt under X
- The root account and root shell prompt (su, sudo, running programs as root under X)
- GUI system administration tools
- Virtual consoles
- Exiting the command prompt
- Shutting down the system
- Restoring a stable console
- Recommended additional packages for beginners
- Creating an extra user account
- Configuring sudo
The filesystem
- Filesystem permissions
- Controlling permissions for newly created files: umask
- Permissions for user groups
- Timestamps
- Links
- Named pipes (FIFOs)
- Sockets
- Device files
- Special device files
- procfs and sysfs
Midnight Commander (MC)
- Customizing MC
- Launching MC
- Using the file manager in MC
- Command-line techniques in MC
- The internal editor in MC
- The internal viewer in MC
- MC auto-start features
- MC FTP virtual filesystem
The basic Unix-like work environment
- The login shell
- Customizing bash
- Special key combinations
- The pager
- Setting a default text editor
- Quitting vim
- Logging shell activities
- Basic Unix commands
The simple shell command
- 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
- 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
- Essential precautions
- Managing perpetual upgrades
- Basics of Debian archives
- Package dependencies
- The workflow of package management
- Initial steps for resolving package management issues
Basic package management operations
- apt-get/apt-cache vs. aptitude
- Basic package management via the command line
- Interactive use of aptitude
- aptitude key bindings
- Package views in aptitude
- Search method options in aptitude
- The aptitude regex formula
- Dependency resolution in aptitude
- Package activity logs
Examples of aptitude operations
- Listing packages using regex matching on names
- Browsing with regex matching
- Thoroughly purging removed packages
- Organizing auto/manual install status
- Performing a system-wide upgrade
Advanced package management operations
- Advanced package management via the command line
- Verifying installed package files
- Safeguards for package issues
- Searching package metadata
Internals of Debian package management
- Archive metadata
- The top-level "Release" file and authenticity
- Archive-level "Release" files
- Fetching package metadata
- Package state in APT
- Package state in aptitude
- Local copies of fetched packages
- Debian package file naming conventions
- The dpkg command
- The update-alternatives command
- The dpkg-statoverride command
- The dpkg-divert command
Recovering from a broken system
- Incompatibility with legacy user configurations
- Overlapping files between different packages
- Fixing broken package scripts
- Rescue procedures using the dpkg command
- Restoring package selection data
Tips for package management
- How to select Debian packages
- Packages from mixed archive sources
- Adjusting candidate versions
- Updates and Backports
- Automated download and upgrade of packages
- Limiting APT download bandwidth
- Emergency downgrading
- Identifying package uploaders
- The equivs package
- Porting a package to a stable system
- Proxy server configuration for APT
- Setting up a small public package archive
- Recording and copying system configuration
- Converting or installing alien binary packages
- Extracting packages without dpkg
- Further reading on package management
System initialization
- Overview of the bootstrapping process
- BIOS, boot loader, and mini-Debian system
- The concept of runlevels
- Configuring runlevels
- Example runlevel management
- Default parameters for init scripts
- Hostname configuration
- Filesystem initialization
- 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 information
- Crafting strong passwords
- Creating encrypted passwords
- PAM and NSS
- Configuration files used by PAM and NSS
- Modern centralized system management
- Why GNU su does not support the wheel group
- Stricter password policies
- Other access control mechanisms
- sudo
- SELinux, AppArmor
- Restricting access to specific server services
- Authentication security
- Secure password transmission over the Internet
- Secure Shell
- Additional security measures for Internet connectivity
- Securing the root password
Network setup
Basic network infrastructure
- Domain names
- Hostname resolution
- Network interface naming
- Network address ranges for LANs
- Network device support
Modern network configuration for desktops
- GUI network configuration tools
Low-level network configuration
- Iproute2 commands
- Safe low-level network operations
Network optimization
- Determining optimal MTU
- Configuring MTU
- WAN TCP optimization
Netfilter infrastructure
Network applications
The mail system
- Modern mail service fundamentals
- Mail configuration strategy for workstations
Mail transport agent (MTA) and Mail user agent (MUA)
- Overview of exim4
- Basic MUA: Mutt
Mail delivery agent (MDA) with filtering
- maildrop configuration
- procmail configuration
- Redelivering mbox contents
POP3/IMAP4 server
Remote access server and utility (SSH)
- SSH fundamentals
- Port forwarding for SMTP/POP3 tunneling
- Connecting without remote passwords
- Interacting with non-standard SSH clients
- Setting up ssh-agent
- Shutting down the remote system via SSH
- Troubleshooting SSH
Other network application servers
Other network application clients
Diagnosing system daemons
The X Window System
- Setting up the desktop environment
- Server/client relationships
- 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
- Secure X terminal over the Internet
- X applications
- X office 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
- Neatly recording shell activities
- Customizing text data display
- Customizing time and date display
- Colorized shell echo
- Colorized commands
- Recording editor activities for complex repetitions
- Capturing graphics from X applications
- Tracking changes in configuration files
Data storage tips
- Disk partition configuration
- Accessing partitions using UUID
- Filesystem configuration
- Creating filesystems and checking integrity
- Optimizing filesystems via mount options
- Optimizing filesystems via superblock
- Optimizing hard disk performance
- Using SMART to predict hard disk failure
- Expanding usable storage space via LVM
- Expanding storage by mounting another partition
- Expanding storage using symbolic links
- Expanding storage using aufs
Data encryption tips
- Encrypting removable disks with dm-crypt/LUKS
- Encrypting the swap partition with dm-crypt
- Automatically encrypting files with eCryptfs
- Automatically mounting eCryptfs
Monitoring, controlling, and initiating program activities
- Timing a process
- Scheduling priority
- The ps command
- The top command
- Listing files opened by a process
- Tracing program activities
- Identifying processes using files or sockets
- Repeating a command at a constant interval
- Repeating a command across files
- Launching a program from the GUI
- Customizing programs to be started
- Terminating a process
- Scheduling a task once
- Scheduling tasks regularly
- The Alt-SysRq key
System maintenance tips
- Identifying active users on the system
- Issing warnings to all users
- Hardware identification
- Hardware configuration
- System and hardware time
- Terminal configuration
- Sound infrastructure
- Disabling the screen saver
- Disabling beep sounds
- Memory usage monitoring
- System security and integrity checks
The kernel
- Kernel parameters
- Kernel headers
- Compiling the kernel and related modules
- Compiling kernel source: Debian standard method
- Compiling module source: Debian standard method
- Non-free hardware drivers
Virtualized systems
- Virtualization tools
- Virtualization workflow
- Mounting virtual disk image files
- Chroot systems
- Multiple desktop systems
Data management
Sharing, copying, and archiving
- Archive and compression tools
- Copy and synchronization tools
- Common idioms for archiving
- Common idioms for copying
- Common idioms for file selection
- Backup and recovery
- Backup utility suites
- Example script for system backup
- Script for data backup copying
- Removable storage devices
- Sharing data via network
- Archive media
Binary data
- Viewing and editing binary data
- Manipulating files without mounting the disk
- Data redundancy
- Recovering data files and forensic analysis
- Splitting large files into smaller ones
- Clearing file contents
- Dummy files
- Erasing an entire hard disk
- Erasing unused areas of a hard disk
- Restoring deleted but still open files
- Searching all hard links
- Invisible disk space consumption
Data security infrastructure
- Key management for GnuPG (signing and encryption)
- MD5 checksums
Requirements
There are no specific requirements needed to attend this course.