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.
Course Outline
Debian Distribution
What is Debian?
- Choosing a Debian version
- Debian support and help
- 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
- How to exit the command prompt
- How to shut down the system
- Recovering a functional console
- Additional package suggestions for newcomers
- Adding an extra user account
- Configuring sudo
The filesystem
- Filesystem permissions
- Controlling permissions for newly created files: umask
- Permissions for groups of users (group)
- Timestamps
- Links
- Named pipes (FIFOs)
- Sockets
- Device files
- Special device files
- procfs and sysfs
Midnight Commander (MC)
- Customising MC
- Starting MC
- The file manager in MC
- Command-line tricks in MC
- The internal editor in MC
- The internal viewer in MC
- Auto-start features of MC
- The FTP virtual filesystem in MC
The basic Unix-like work environment
- The login shell
- Customising bash
- Special keystrokes
- The pager
- Setting a default text editor
- How to exit vim
- Recording 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
- The command's return value
- 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
Prerequisites for Debian package management
- Package configuration
- Basic precautions
- Living with perpetual upgrades
- Debian archive basics
- Package dependencies
- The event flow of package management
- Initial response to package management issues
Basic package management operations
- apt-get / apt-cache versus aptitude
- Basic package management operations via the command line
- Interactive use of aptitude
- Key bindings in aptitude
- Package views in 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
- Tidying auto/manual install status
- System-wide upgrade
Advanced package management operations
- Advanced package management operations via the command line
- Verification of installed package files
- Safeguards against package problems
- Searching package metadata
Debian package management internals
- Archive metadata
- The top-level "Release" file and authenticity
- Archive-level "Release" files
- Fetching package metadata
- The package state for APT
- The package state for aptitude
- Local copies of fetched packages
- Debian package file names
- The dpkg command
- The update-alternatives command
- The dpkg-statoverride command
- The dpkg-divert command
Recovery from a broken system
- Incompatibility with legacy user configurations
- Different packages with overlapping files
- Fixing broken package scripts
- Rescuing with the dpkg command
- Recovering package selection data
Tips for package management
- How to select Debian packages
- Packages from mixed archive sources
- Tweaking the candidate version
- Updates and Backports
- Automatic download and upgrade of packages
- Limiting download bandwidth for APT
- Emergency downgrading
- Who uploaded the package?
- The equivs package
- Porting a package to the stable system
- Proxy server for APT
- Small public package archives
- Recording and copying system configuration
- Converting or installing an alien binary package
- Extracting a package without dpkg
- Further reading on package management
System initialization
- An overview of the bootstrap process
- BIOS, boot loader, and the mini-Debian system
- The meaning of runlevels
- Configuring runlevels
- A runlevel management example
- Default parameters for each init script
- The hostname
- The filesystem
- Network interface initialization
- Network service initialization
- The system message
- The kernel message
- The udev system
- Kernel module initialization
Authentication and Security
- Normal Unix authentication
- Managing account and password information
- Choosing a good password
- Creating 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 and AppArmor
- Restricting access to certain server services
- Authentication security
- Secure passwords over the Internet
- Secure Shell
- Extra security measures for the Internet
- Securing the root password
Network setup
The basic network infrastructure
- The domain name
- Hostname resolution
- The network interface name
- The network address range for the LAN
- 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 the optimal MTU
- Setting the MTU
- WAN TCP optimisation
Netfilter infrastructure
Network applications
The mail system
- Modern mail service basics
- 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
The remote access server and utility (SSH)
- SSH basics
- Port forwarding for SMTP/POP3 tunneling
- Connecting without remote passwords
- Dealing with alien SSH clients
- Setting up ssh-agent
- How to shut 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
- 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
- Securing an X terminal over the Internet
- X applications
- X office applications
- X utility applications
System tips
The screen program
- Use scenarios for screen(1)
- Key bindings for the screen command
Data recording and presentation
- The log daemon
- Log analyser
- Recording shell activities cleanly
- Customised display of text data
- Customised display of time and date
- Colourised shell echo
- Colourised commands
- Recording editor activities for complex repeats
- Recording the graphic image of an X application
- Recording changes in configuration files
Data storage tips
- Disk partition configuration
- Accessing partitions using UUID
- Filesystem configuration
- Filesystem creation and integrity checks
- Filesystem optimisation via mount options
- Filesystem 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
- Automatically encrypting files with eCryptfs
- Automatically mounting eCryptfs
Monitoring, controlling, and starting 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 looping over files
- Starting a program from the GUI
- Customising programs to be started
- Killing a process
- Scheduling tasks once
- Scheduling tasks regularly
- Alt-SysRq key
System maintenance tips
- Who is on the system?
- Warning everyone
- Hardware identification
- Hardware configuration
- System and hardware time
- Terminal configuration
- The sound infrastructure
- Disabling the screensaver
- 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: the Debian standard method
- Compiling the module source: the Debian standard method
- Non-free hardware drivers
Virtualised systems
- Virtualisation tools
- Virtualisation workflow
- Mounting the virtual disk image file
- Chroot system
- 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
The binary data
- Viewing and editing binary data
- Manipulating files without mounting disks
- Data redundancy
- Data file recovery and forensic analysis
- Splitting large files into smaller files
- 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 hardlinks
- Invisible disk space consumption
Data security infrastructure
- Key management for GnuPG (signing and encrypting)
- The MD5 sum
35 Hours