Get in Touch

Course Outline

Debian Distribution

What is Debian?

  • Selecting the appropriate Debian version
  • Debian support and assistance resources
  • The Debian community

Console fundamentals

  • Understanding the shell prompt
  • The shell prompt within X
  • The root account and root shell prompt (using su, sudo, and running programs as root under X)
  • Graphical system administration tools
  • Virtual consoles
  • Exiting the command prompt
  • Shutting down the system
  • Recovering a functional console
  • Recommended additional packages for beginners
  • Creating an additional user account
  • Configuring sudo

The file system

  • File system permissions
  • Controlling permissions for new files: umask
  • Group permissions for sets of users
  • Timestamps
  • Links
  • Named pipes (FIFOs)
  • Sockets
  • Device files
  • Special device files
  • procfs and sysfs

Midnight Commander (MC)

  • Customising MC
  • Launching MC
  • File manager features in MC
  • Command-line tricks in MC
  • The internal editor in MC
  • The internal viewer in MC
  • Auto-start features of MC
  • MC's FTP virtual file system

The basic Unix-like work environment

  • The login shell
  • Customising bash
  • Special key strokes
  • The pager
  • Setting a default text editor
  • Exiting vim
  • Recording shell activities
  • Basic Unix commands

Simple shell commands

  • Command execution and environment variables
  • The "$LANG" variable
  • The "$PATH" variable
  • The "$HOME" variable
  • Command line options
  • Shell globbing
  • Command return values
  • Typical command sequences and shell redirection
  • Command aliases

Unix-like text processing

  • Unix text tools
  • Regular expressions
  • Replacement expressions
  • Global substitution with regular expressions
  • Extracting data from text file tables
  • Script snippets for piping commands

Debian package management

Debian package management prerequisites

  • Package configuration
  • Essential precautions
  • Managing ongoing upgrades
  • Basics of the Debian archive
  • Package dependencies
  • The event flow of package management
  • Initial response to package management issues

Basic package management operations

  • Comparing apt-get/apt-cache with aptitude
  • Basic package management operations via the command line
  • Interactive use of aptitude
  • Key bindings of aptitude
  • Package views under aptitude
  • Search method options with aptitude
  • The aptitude regex formula
  • Dependency resolution in aptitude
  • Package activity logs

Examples of aptitude operations

  • Listing packages with regex matching on package names
  • Browsing with regex matching
  • Purging removed packages permanently
  • Adjusting auto/manual install status
  • Performing a system-wide upgrade

Advanced package management operations

  • Advanced package management operations via command line
  • Verifying installed package files
  • Safeguards for package problems
  • Searching package metadata

Debian package management internals

  • Archive metadata
  • Top-level "Release" file and authenticity
  • Archive-level "Release" files
  • Fetching metadata for packages
  • Package state for APT
  • Package state for aptitude
  • Local copies of fetched packages
  • Debian package file naming conventions
  • The dpkg command
  • The update-alternative command
  • The dpkg-statoverride command
  • The dpkg-divert command

Recovery from a broken system

  • Incompatibility with old user configuration
  • Conflicting packages with overlapping files
  • Fixing broken package scripts
  • Rescue using the dpkg command
  • Recovering package selection data

Tips for package management

  • Selecting Debian packages
  • Using packages from mixed archive sources
  • Adjusting candidate versions
  • Updates and Backports
  • Automatic downloading and upgrading of packages
  • Limiting APT download bandwidth
  • Emergency downgrading
  • Identifying the package uploader
  • The equivs package
  • Porting packages to stable systems
  • APT proxy server configuration
  • Small public package archives
  • Recording and copying system configuration
  • Converting or installing alien binary packages
  • Extracting packages without dpkg
  • Further reading on package management

System initialisation

  • An overview of the bootstrap process
  • BIOS, boot loader, and mini-Debian system
  • Understanding runlevels
  • Configuring runlevels
  • Runlevel management examples
  • Default parameters for each init script
  • The hostname
  • The file system
  • Network interface initialisation
  • Network service initialisation
  • System messages
  • Kernel messages
  • The udev system
  • Kernel module initialisation

Authentication and Security

  • Standard Unix authentication
  • Managing account and password information
  • Creating strong passwords
  • Generating encrypted passwords
  • PAM and NSS
  • Configuration files accessed by PAM and NSS
  • Modern centralised system management
  • "Why GNU su does not support the wheel group"
  • Stricter password rules
  • Other access controls
  • sudo
  • SELinux, Apparmor
  • Restricting access to certain server services
  • Authentication security
  • Secure password transmission over the Internet
  • Secure Shell
  • Additional security measures for the Internet
  • Securing the root password

Network setup

The basic network infrastructure

  • The domain name
  • Hostname resolution
  • Network interface naming
  • LAN network address ranges
  • Network device support

Modern network configuration for desktops

  • GUI network configuration tools

Low-level network configuration

  • Iproute2 commands
  • Safe low-level network operations

Network optimisation

  • Finding optimal MTU
  • Setting MTU
  • WAN TCP optimisation

Netfilter infrastructure

Network applications

The mail system

  • Basics of modern mail services
  • 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 filters

  • maildrop configuration
  • procmail configuration
  • Redelivering mbox contents

POP3/IMAP4 server

The remote access server and utility (SSH)

  • SSH basics
  • Port forwarding for SMTP/POP3 tunneling
  • Connecting without remote passwords
  • Dealing with non-standard SSH clients
  • Setting up ssh-agent
  • Shutting down a remote system via SSH
  • SSH troubleshooting

Other network application servers

Other network application clients

Diagnosis of system daemons

The X Window System

  • Setting up the desktop environment
  • The server/client relationship
  • The X server
  • Starting the X Window System
  • Starting an X session with gdm
  • Customising the X session (classic method)
  • Customising the X session (new method)
  • Connecting a remote X client via SSH
  • Secure X terminal via 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 analyser
  • Cleanly recording shell activities
  • Customised display of text data
  • Customised display of time and date
  • Colourised shell echo
  • Colourised commands
  • Recording editor activities for complex repeats
  • Recording graphic images of X applications
  • Recording changes in configuration files

Data storage tips

  • Disk partition configuration
  • Accessing partitions using UUID
  • File system configuration
  • File system creation and integrity checks
  • File system optimisation via mount options
  • File system optimisation via superblock
  • Hard disk optimisation
  • Using SMART to predict hard disk failure
  • Expanding usable storage space via LVM
  • Expanding usable storage space by mounting another partition
  • Expanding usable storage space using symlinks
  • Expanding usable storage space using aufs

Data encryption tips

  • Removable disk encryption with dm-crypt/LUKS
  • Encrypted swap partition with dm-crypt
  • Automatic file encryption with eCryptfs
  • Automatic mounting of eCryptfs

Monitoring, controlling, and starting program activities

  • Timing a process
  • Setting 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 constant intervals
  • Repeating a command looping over files
  • Starting a program from GUI
  • Customising startup programs
  • Killing a process
  • Scheduling one-off tasks
  • Scheduling regular tasks
  • The Alt-SysRq key

System maintenance tips

  • Checking who is logged into the system
  • Warning all users
  • Hardware identification
  • Hardware configuration
  • System and hardware time
  • Terminal configuration
  • The sound infrastructure
  • Disabling the screen saver
  • Disabling beep sounds
  • Memory usage
  • System security and integrity checks

The kernel

  • Kernel parameters
  • Kernel headers
  • Compiling the kernel and related modules
  • Compiling the kernel source: Debian standard method
  • Compiling module source: Debian standard method
  • Non-free hardware drivers

Virtualised systems

  • Virtualisation tools
  • Virtualisation workflow
  • Mounting virtual disk image files
  • Chroot systems
  • Multiple desktop systems

Data management

Sharing, copying, and archiving

  • Archive and compression tools
  • Copy and synchronisation tools
  • Idioms for archiving
  • Idioms for copying
  • Idioms for file selection
  • Backup and recovery
  • Backup utility suites
  • An example script for system backup
  • A copy script for data backup
  • Removable storage devices
  • Sharing data via network
  • Archive media

Binary data

  • Viewing and editing binary data
  • Manipulating files without mounting the disk
  • Data redundancy
  • Data file recovery 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
  • Undeleting deleted but still open files
  • Searching all hard links
  • Hidden disk space consumption

Data security infrastructure

  • Key management for GnuPG (signing and encrypting)
  • The MD5 sum

Requirements

There are no specific prerequisites required to attend this course.

 35 Hours

Number of participants


Price per participant

Provisional Upcoming Courses (Require 5+ participants)

Related Categories