Site Sections => About Us | Consultancy | Training | Software | Publications | Open Source | Support | Open Standards | FAQ | Jobs
Site Style Info

Customised Unix Training

Two Options for Customised Unix Training

In addition to our off-the-shelf Unix Training, we also provide two options for Unix course customisation to client specification.

Fully Bespoke Unix Training

The first option is fully bespoke Unix Training in which original course content is designed and written in conjunction with the client. Everything about such Unix courses is a matter for negotiation between ourselves and the prospective client. In addition to our considerable in-house Unix training resourses, a range of external Unix consultants enable us to cover even the most esoteric of specialisms.

Low Cost Customised Unix Training

We can deliver a high degree of customisation at the same cost as off-the-peg Unix training; by the simple device of mixing and matching pre-prepared Unix course modules.

The following lists provide outline details of Unix modules we have delivered or are about to deliver for our clients.

With a few notable exceptions, each module is designed to be delivered in a quarter-day session.

As with all of our Unix courses, the bulk of that time is given over to practical and graduated exercises.


Apache Basics

  • What is apache?
  • Installation on Unix
  • How apache listens
  • Configuration file(s)
  • Key configuration directives
  • Serverroot, documentroot
  • Serveradmin
  • Bindaddress, and port
  • Listen
  • User and group
  • Apache processes
  • Logging
  • Customizable logging
  • Customlog examples
  • Example configuration
  • Two sites and more ...
  • Virtual hosting options
  • Name-based hosting
  • Block directives
  • Directorymatch, et al.
  • Access control
  • Authorisation files
  • Other useful directives
  • Exercises
  • Solutions

Apache CGI Programming

  • Basic CGI
  • Enabling CGIs
  • Addhandler
  • How do CGIs work
  • URL-encoding
  • CGI language
  • A simple CGI
  • Using user information
  • CGIs and redirection
  • What else?
  • Useful CGIs
  • Basic CGIs - round up
  • Exercises

Apache with mod_perl

  • What is mod_perl?
  • How mod_perl works
  • Installing mod_perl
  • Make magic
  • Turning it on
  • Coding for mod_perl
  • More gotchas
  • Easy way out - perlrun
  • Exercises

Apache with mod_ssl

  • mod_ssl
  • Security and mod_ssl
  • Encryption
  • Identification
  • Building openssl
  • Building mod_ssl
  • Building apache
  • Exercises

Apache other modules

  • mod_speling
  • Case under mod_speling
  • Compiling with mod_speling
  • Notes on usage
  • mod_rewrite
  • Using mod_rewrite
  • What's getting rewritten?
  • Rewriting proper
  • More rewriting
  • Rewriting conditionals
  • Exercises
  • Solutions

Apache use & programming

  • Basic CGI
  • Get & post
  • URL-encoding
  • CGI language
  • A simple CGI
  • CGIs and redirection
  • What else?
  • Useful CGIs
  • Basic CGIs - round up
  • What is mod_perl?
  • How mod_perl works
  • Installing mod_perl
  • Coding for mod_perl
  • More gotchas
  • Easy way out - perlrun
  • mod_ssl
  • Security and mod_ssl
  • Encryption
  • Identification
  • Building openssl
  • Building mod_ssl
  • Building apache
  • Exercises
  • Solutions

Key Unix Configuration Files

  • /etc/passwd
  • Editing /etc/passwd
  • Other changes to /etc/passwd
  • /etc/group
  • Editing /etc/group
  • Important note
  • Shadow passwords
  • /etc/shadow
  • Scheduling jobs (cron)
  • /etc/crontab
  • run-parts
  • logrotate
  • Module configuration
  • Modules configuration - `options'
  • Mounting filesystems
  • Runlevels
  • Single user mode
  • Multi user mode
  • Starting up and shutting down
  • Changing runlevel
  • Initscripts
  • rcn.d
  • Initscripts - an example
  • Restarting services
  • Exercises
  • Solutions

Concurrent Versions System on Unix

  • Introduction to CVS
  • Creating a repository
  • Setting up your repository
  • Checking out a working directory
  • Making changes to files
  • Merging your changes
  • Merging: an example
  • Committing changes
  • Examining logged changes
  • Adding and deleting files
  • Example: adding a file to a project
  • Deleting files
  • Renaming files
  • Writing good log entries
  • Handling conflicts
  • Identifying conflicts:
  • Resolving conflicts
  • Resolving conflicts
  • Understanding conflicts
  • Locking

Dial Up and Remote Access

  • Dial-in/out
  • The basics
  • Authentication
  • Setting-up dial-out
  • One dial-out setup
  • Dial-in setup
  • Other options
  • Preferred installation architectures
  • sendmail configuration for non dial-on-demand

Email

  • How email works
  • Where does an email go?
  • Overview
  • Email protocols
  • Where the protocols go
  • Basic installation
  • Sendmail behaviour
  • Linuxconf & sendmail
  • Configuration files (sendmail.cf)
  • Configuration files (sendmail.cw and /etc/mail/)
  • Monitoring sendmail
  • Example of mailq
  • Talking smtp
  • Talking pop
  • Managing users under sendmail
  • /etc/aliases
  • Aliases - other uses
  • Sendmail exercises

Basic Filesystem

  • Filesystem overview
  • Files
  • Directories
  • Directory hierarchy
  • Pathnames
  • Current directory
  • Dot (.) and dotdot(..)
  • Moving and copying files
  • Removing files
  • Operations on directories
  • Inodes
  • Links
  • Hard links
  • Soft links
  • Access control and uid
  • Categories of access control
  • Access control - example
  • Changing access permission: chmod
  • Chmod symbolically
  • Chmod numerically
  • Umask
  • Special files - /dev
  • Special files - /proc
  • Filesystem structure
  • /etc/fstab - example
  • Mounting additional volumes
  • Mounting shared filesystems
  • Summary
  • Filesystem exercises
  • Filesystem solutions

More on the Filesystem

  • Inodes in depth
  • Links
  • Hard links
  • Soft links
  • Non-native filesystems
  • Disk checking and recovery (fsck)
  • Check a linux ext2 filesystem (e2fsck)
  • Disk free space (df)
  • Disk usage (du)
  • Disk partitioning concepts
  • A partitioned disk
  • Making and changing partitions
  • How many partitions?
  • What size partitions?
  • BIOS problems with lilo and partitions
  • Disk partitioning tools
  • Using fdisk
  • The fdisk interface
  • Interactive commands in fdisk
  • Making linux filesystems (mke2fs)
  • Block devices
  • Character devices
  • More filesystem exercises
  • More filesytem solutions

Shared File Systems

  • NFS (network file system)
  • Exporting file systems
  • Viewing exports
  • Importing file systems
  • Samba installation
  • Samba basics
  • Access to files and printers
  • Testing samba
  • Smbclient
  • Samba configuration file
  • Testing samba
  • Exercises
  • Solutions

Init Scripts

  • Runlevels
  • Single user mode
  • Multi user mode
  • Starting up and shutting down
  • Initscripts
  • /etc/rc.d/rcn.d
  • Initscripts - an example
  • Restarting services
  • Init script exercises

Job Control Tools

  • Introduction
  • Background jobs
  • Kill
  • The nice command
  • Hang up (nohup)
  • Execute programs at specified times (at)
  • Options and commands related to at
  • Running commands regularly (crontab)
  • Summary
  • Job control exercises
  • Job control solutions

Linux Kernel and Tracing

  • Kernel overview
  • Memory management
  • Scheduling
  • Module principles
  • Module commands
  • Module loading/unloading
  • Module dependencies
  • Module dependencies 2
  • Autoloading of modules
  • Module unloading
  • New/updated modules
  • Kernel recompiling
  • Boot disks
  • Getting and configuring a kernel
  • Kernel sources
  • Applying kernel patches
  • Configuration
  • Make menuconfig
  • Network device selection - an example
  • Configuration issues
  • Build process
  • Building a kernel
  • Module building
  • Installing a new kernel
  • Setting up to boot the new kernel
  • Tracing executables
  • ltrace
  • Exercises

Unix Fundamentals: An Overview

  • Generic features of unix
  • Unix --- the kernel of a system
  • Fundamental characteristics of Unix
  • Multiuser multitasking and time-sharing
  • Protected memory mode
  • Multiple filesystem types
  • The many faces of a Unix system
  • The filesystem
  • Filenames
  • Filename extensions and file types
  • Hidden filenames
  • The shell (bash)
  • Key features of the bash shell
  • Interacting with a Unix `terminal'
  • Software tools: the unix philosophy
  • Tasks/processes
  • Process communication
  • Re-directing I/O to and from files
  • Pipes & tools
  • Unix as a programming environment
  • Networking
  • TCP/IP
  • Documentation
  • Using the man pages (on-line manual)
  • Overview exercises
  • Overview solutions

Printing Services

  • Unix printing
  • Printing documents
  • Main printing tools
  • Using lpr
  • Using lpq
  • Using lprm
  • Samba printing
  • Printing to a windows printer via samba

The Red Hat Package Management System (rpm)

  • Package management (rpm)
  • Distributed rpms
  • Binary rpms
  • Source rpms
  • Building rpms
  • Rpm naming conventions
  • Creating a .spec file
  • Details of a .spec file
  • Group hierarchy
  • %build
  • %install
  • %files
  • Building a package (rpm -b)
  • Pre and post install
  • Note on testing

Samba

  • Samba installation
  • Samba basics
  • Access to files and printers
  • Testing samba
  • Smbclient
  • Samba configuration file
  • Testing samba
  • Swat -- samba web administration tool
  • Installing swat
  • Options for swat
  • Global settings in swat
  • Share settings in swat
  • Printer configuration under swat
  • Viewing samba status with swat
  • View samba configuration in swat
  • Samba exercises

Basic Shell

  • Introduction
  • Getting around the command line
  • History
  • Plumbing
  • Output redirection
  • Input redirection
  • Combining redirection
  • Pipelines
  • Background processes
  • Background processes and nohup
  • Command grouping and sub-shells
  • Process management
  • Signals
  • Background processes: top
  • Filename generation
  • Quoting mechanisms
  • Shell built-in commands
  • Basic shell exercises
  • Basic shell solutions

Shell Programming

  • Introduction
  • Writing and running shell scripts
  • Subshell or subroutine?
  • Processing commands
  • Command substitution
  • Shell variables and variable substitution
  • Shell environment variables
  • Set
  • Quoting
  • .profile file
  • Arguments
  • Shell parameters
  • Blank interpretation
  • Comments
  • Read
  • Shift
  • Exit status or return code
  • Test
  • File status tests
  • Relational tests
  • For loop
  • If
  • True and false
  • While and until
  • Break and continue
  • Case
  • Simple conditionals
  • Here documents
  • Use of commands
  • Find
  • Evaluate expressions (expr)
  • Summary
  • Shell programming exercises
  • Shell programming solutions

Special Topics: Boot Manager, Installing Apps, System Info from /proc

  • The linux bootloader (lilo)
  • Lilo configuration
  • Understanding lilo.conf
  • Red hat package management tool (rpm)
  • Install, upgrade and uninstall with rpm
  • Query options for rpm
  • Verify options for rpm
  • Output from the rpm verification option
  • Building and installing applications
  • Autoconf
  • Using ./configure
  • Options to configure
  • Location of install
  • Installation requirements
  • Compilation roundup
  • The /proc filesytem
  • Process specific subdirectories
  • Process status
  • Process memory usage (statm)
  • Kernel data
  • Interrupts in use
  • IDE devices (/proc/ide)
  • Networking (/proc/net)
  • Networking 2 (/proc/net)
  • Scsi info (/proc/scsi)
  • Parallel port (/proc/parport)
  • Kernel parameters (/proc/sys)
  • File system data (/proc/fs)
  • Example: increase maximum filehandles
  • General kernel parameters (/proc/sys/kernel)
  • Virtual memory subsystem (/proc/sys/vm)
  • Device specific parameters (/proc/sys/dev)
  • Remote procedure calls (/proc/sys/sunrpc)
  • Networking (/proc/sys/net)
  • Ipv4 settings (/proc/sys/net/ipv4)
  • Special topics exercises
  • Special topics solutions

Squid Basics

  • Squid is
  • Squid also supports
  • What to cache and for how long?
  • Getting and installing squid
  • Squid directory structure
  • Basic configuration (caching proxy only)
  • Running squid
  • Basic client (browser) configuration
  • Basics access control
  • More advanced access control
  • Destination address based acls
  • Cache hierarchy concepts
  • Parents and siblings
  • Integration with other software
  • Log analysis and stats
  • Tools
  • Analysis
  • Squid exercises

System Daemons

  • Daemons
  • Stand alone vs on demand
  • Stand alone daemons
  • On-demand daemons
  • Cron jobs
  • /etc/crontab
  • Run-parts
  • Crond
  • Details on inetd
  • Configuration of inetd
  • Tcp wrappers (/usr/sbin/tcpd)
  • Tcp wrapper validation
  • System logging daemon
  • Syslog.conf
  • System log rotation
  • Sshd
  • Ssh principles
  • Ssh configuration
  • Xntpd
  • Time daemon config (/etc/ntp.conf)
  • Client/server configuration of xntpd
  • Example of /etc/ntp.conf
  • Xntpdc
  • Name resolution
  • /etc/hosts
  • /etc/resolv.conf
  • Dns
  • Dns configuration file (/etc/named.conf)
  • Zone files
  • Name entries
  • Dig
  • Dig (other servers)
  • Exercises
  • Solutions

Basic TCP/IP

  • Introduction to ip concepts - components
  • History
  • Packets
  • Addresses
  • Transferring data
  • Hosts & interfaces
  • Routing
  • Ports
  • Well known ports
  • Name resolution
  • /etc/hosts
  • /etc/resolv.conf
  • Dns
  • Dns - boot file (/etc/named.boot)
  • Zone files
  • Dns summary
  • Ip-related tools and utilities
  • Ping
  • Ifconfig
  • Traceroute
  • Netstat
  • Remote login
  • Telnet
  • Telnet command mode
  • Ssh
  • File transfer
  • Ftp
  • Setting up an interface
  • Exercises

Fundamentals of TCP/IP

  • Fundamentals of TCP/IP networking
  • History
  • Recap of basic IP concepts - components
  • IP versions
  • Packets
  • Addresses
  • Netmasks and subnetting
  • Netmasks with /xx
  • Transferring data
  • Hosts & interfaces
  • Routing
  • Ports
  • Exercises
  • Solutions

Practical TCP/IP

  • Ping protocols
  • Network statistics (netstat) in practice
  • Network traffic (tcpdump) in practice
  • tcpdump options
  • tcpdump examples
  • Firewalling
  • Basic theory
  • ipchains details
  • ipchains options
  • Options for rules
  • ipchains - examples
  • Removing rules
  • Implementing ipchains
  • Save and restore
  • ipchains setup script
  • Real world ipchains
  • Interface configuration and management
  • Point-and-click interface administration
  • /etc/sysconfig/network-scripts
  • ifcfg-ethx
  • Altering an interface
  • Adding an interface
  • The `proper' way
  • Drivers
  • The secure shell in practice (ssh)
  • Secure copying in practice (scp)
  • Summary
  • Exercises
  • Solutions

Basic Tools

  • Introduction
  • Using tools
  • The on-line manual (man)
  • Finding files the long way (find)
  • Locate files (locate)
  • View and concatenate files (cat)
  • View large files & output (less)
  • Viewing parts of files (head and tail)
  • Listing file information (ls)
  • File classification (file)
  • Count words, lines, characters (wc)
  • Differences between files (diff)
  • Compare binary files (cmp)
  • Regular expression searches (grep)
  • Grep examples
  • Sort and merge files (sort)
  • Sort examples
  • Display unique lines (uniq)
  • Split files (split)
  • Splitting files by context (csplit)
  • Compression utilities (gzip)
  • Store and retrieve archives (tar)
  • Translating characters (tr)
  • Examples of tr usage
  • Execute programs at specified times (at)
  • Options and commands related to at
  • Running commands regularly (crontab)
  • Evaluate expressions (expr)
  • Unix printing
  • Printing documents
  • Main printing tools
  • Using lpr
  • Using lpq
  • Using lprm
  • Basic tools exercises
  • Basic tools solutions

More Tools

  • Introduction
  • Displaying system processes (top)
  • Options and interactive commands for top
  • Reporting process status (ps)
  • Options for reporting process status (ps)
  • Finding files using specified criteria (find)
  • Criteria used in find expressions
  • Examples of using (find)
  • Reporting virtual memory statistics (vmstat)
  • Output from vmstat
  • Free
  • Ldd
  • Uptime
  • Xargs
  • Options to xargs
  • Positioning filenames with xargs
  • Cpio
  • Gzip
  • Unzipping
  • Tar
  • Raw devices and tar
  • Exercises
  • Solutions

Introduction To Editing with vi

  • Text editors under Unix
  • Vi and your terminal
  • Vi screen layout
  • Opening files with vi
  • Vi modes
  • Saving, changing file and quitting
  • Moving around in command mode
  • Numeric prefixes
  • Further movement
  • Movement by lines - examples
  • Inserting text
  • Multiple insertion
  • Deleting text
  • Changing text
  • Copy and paste
  • Finding your place
  • Miscellaneous commands
  • Search and replace
  • Regular expressions
  • Regular expression conventions
  • Regular expression examples
  • Regular expression replacement
  • Vi exercises
  • Vi solutions

Basic X-windows

  • What x-windows is
  • X needs window managers
  • Window managers are applications
  • Desktop environments
  • Starting x
  • Stopping x
  • Running shells (xterms) under x
  • Running applications from an xterm
  • Running applications from a window manager
  • Configuring x
  • Basic x hardware configuration
  • Basic x software configuration
  • Networked x - the client-server relationship
  • Principles of running remote x apps
  • How to run remote x apps
  • Authentication
  • Better authentication
  • Basic x exercises

Modules Under Development or Planned

  • Basic Installation
  • Essential Unix Security
  • System Programming
  • Software development in a Unix environment
  • Developing applications for Gnome/GTK
  • Developing applications for KDE/QT
  • Understand, install and configure Internet Mail
  • Back-up and Recovery
  • Intro to Emacs
  • Even More Tools
  • Dynamic Web-site development

Unix training UK enquiries

UK Training enquiries and feedback form.

Unix training UK prices

For publicly scheduled training (individual places), see our UK training schedule.

In-house training for company groups is charged at a daily rate per group — see our In-House UK Training Guidelines.

Publicly Scheduled Training Locations

We currently run public training courses in the following locations:

  • London, UK
  • Leeds, West Yorkshire, UK
  • Birmingham, West Midlands, UK
  • Carshalton, Surrey, UK
  • Chester, North West, UK
  • Coventry, West Midlands, UK
  • Edinburgh, Scotland, UK
  • Glasgow, Scotland, UK
  • Harwell, Oxfordshire, UK
  • Manchester, North West, UK
  • Milton Keynes, Buckinghamshire, UK
  • Newark, Nottinghamshire, UK
  • Reading, Berkshire, UK
  • Slough, Berkshire, UK
  • Stevenage, Hertfordshire, UK
  • Wakefield, West Yorkshire, UK
  • Wokingham, Berkshire, UK

Most UK public training courses are available on a monthly basis.

Please see the individual course outlines or our public training schedule for details.

In-house (on-site) training locations

We deliver in-house courses at client premises and/or training facilities in any part of the world which is practically and commercially accessible.

Our In-house training guidelines outline our basic requirements and our UK pricing structure. To estimate costs for training in other countries, simply convert to your local currency and then make a rough calculation of our tutor's costs for travelling to and staying at your location.


West Yorkshire Office

GBdirect Ltd
Training Division
Bradford Design Exchange
34 Peckover Street
BRADFORD
BD1 5BD
West Yorkshire
United Kingdom

training@gbdirect.co.uk

Training: 0800 651 0338
General: +44 (0)870 200 7273
Finance: +44 (0)1353 615 174

Please call between 0900 and 1700 (UK time) on Monday to Friday


South East Regional Office

GBdirect Ltd
Training Division
18 Lynn Rd
ELY
CB6 1DA
Cambridgeshire
United Kingdom

training@gbdirect.co.uk

Training: 0800 651 0338
General: +44 (0)870 200 7273
Finance: +44 (0)1353 615 174

Please call between 0900 and 1700 (UK time) on Monday to Friday


Please note:
Non-training enquiries should be directed, initially, to our UK national office in Bradford (West Yorkshire), even if the enquiry concerns services delivered in London or South/East England. Clients in London and the South East will typically be handled by staff working in the London or Cambridge areas.