|
Linux and Unix Fundamentals (LPI 101/102) - A 5-day course
Synopsis
This course is a practical introduction to Unix and Linux, taught through
their most popular incarnation: GNU/Linux.
The course covers the core objectives for Level 1 Linux Professional
Institute (LPI) certification (LPI 101 and LPI 102 exams), with a special
emphasis on the most practical and useful aspects of the LPI curriculum.
This course focuses on the underlying principles of Unix and Linux in a
system-independent way, ensuring that delegates learn the core concepts, which
apply throughout Unix and are present in all versions of Linux, no matter who
the vendor may be (e.g. UnitedLinux, Red Hat, SuSE, Debian Linux, Mandrake, Sun
Solaris and Linux, BSD Unix, FreeBSD, NetBSD, OpenBSD, AIX, HP-UX, Tru64 Unix, etc.)
At the end of the course delegates will be well-positioned to become serious
users, software developers and administrators of any Linux system and will
fully understand the application of Linux in serious commercial and other
environments.
Suitable for
- Experienced computer users who are relatively new to Unix or Linux and
need to master a Unix/Linux system quickly and effectively. e.g. former MacOS
or Microsoft Windows users.
- Linux and Unix users or administrators who want to become Linux certified
at LPI Level 1.
- Linux and Unix users who need to consolidate and advance basic knowledge
that they have picked up in an ad hoc fashion.
- Linux and Unix users taking their first steps into professional
Unix/Linux system administration, Unix/Linux network administration or
Unix/Linux programming.
Prerequisites
- Advanced computer literacy
- Basic understanding of TCP/IP networking concepts
- A minimum of three months practical experience using Linux or
Unix
- A willingness to learn and use command line applications
- A commitment to further practice and exam preparation if LPI
certification is your goal
Delivery
As with all of our Unix/Linux courses, this course makes extensive use of
practical exercises and draws heavily on our trainers’ own experience of
implementing Unix and Linux based e-commerce solutions.
This is an instructor-led Linux course. It is primarily designed as a
publicly scheduled Linux course for individuals. It can, however, be delivered
as in-house / onsite Linux training for corporate groups.
Publicly scheduled dates, locations, and prices
Bradford — £1675 (+VAT)
- 1–5 Sep 2008
- 8–12 Dec 2008
Central London — £1675 (+VAT)
- 14–18 Jul 2008
- 20–24 Oct 2008
Contents:
Introduction
- What Linux is, Unix philosophy
- Logging in, typing commands, logging out
- Files, directories and paths
- Creating files with a text editor
- Viewing files (
cat, less)
- Managing files (
cp, mv, rm)
- Magic dot files and hidden files
- Managing directories (
mkdir, rmdir)
- Documentation for commands (
man)
- Useful shell features (command-line editing, command line completion, history)
The Unix and Linux command line
- Unix shells (
bash)
- Command line syntax (options, arguments)
- Shell variables and environment variables
- Command substitution
- Using pipes to connect programs
- Useful text filters (
wc, sort, uniq, expand, head, tail, nl, tac)
- Spitting files across disks (
split)
- Using redirection to connect programs to files
- Redirect into files with append (
>>)
Regular expression searches
- Searching files with regular expressions (
grep)
- The concept of ‘pattern matching’ with regular expressions
- Anchor the pattern to the start of end of the line (
^, $)
- Match repeated patterns (
*, \+, ?)
- Escaping special characters in regexps (
\)
- Matching any character (
.)
- Matching alternative patterns (
\|)
- Simple use of
sed to ‘search and replace’
Documentation
- The unfortunate diversity of Linux documentation
- Using man(1)
- How manpages are divided among ‘sections’
- Searching for man pages (
apropos, man -k)
- Printing man pages (
man -t)
- Documentation for shell builtins (
help)
- Using GNU info documentation (
info)
- Documentation under
/usr/share/doc
Text editing with Vi
- Unix is all about text
- Vi: the standard Unix editor
- The concept of ‘modes’ in a modal editor
- Vi clones, extensions to vi
- Other powerful Unix text editors
- Practical work learning Vi and Vim
Processes and jobs
- What processes are
- The properties of a process
- Parent processes and child processes
- Job control (
fg, bg, jobs)
- Suspending processes (Ctrl+Z)
- Running programs in the background (
&)
- Long-lived processes (
nohup)
- Monitoring processes (
ps, pstree, top)
- Killing processes and sending signals a process (
kill, killall, xkill)
- Process niceness/priority (
nice, renice)
Filesystem concepts and use
- The unified Unix filesystem
- Special file types
- Symbolic links (
ln -s)
- Inodes and directory entries
- Hard links
- Preserving links while copying and archiving
- Where to put things: the FHS
Filesystem security
- Users and groups
- The ‘root’ user, or superuser
- Changing file ownership (
chown)
- Changing file group ownership (
chgrp)
- More complex ways of changing ownership (recursively, changing owner and group simultaneously)
- Permissions on files
- Permissions on directories
- How permissions are applied
- Changing permissions (
chmod)
- The special ‘sticky bit’ mode on directories
- Setgid and setuid permissions, their effect on files and directories
- Default permissions for new files (
umask)
Filesystem design and maintenance
- Disks, partitions, individual filesystems and filesystem types
- Naming of disk and partition devices (
/dev/hda, etc)
- Creating and deleting partitions (
fdisk)
- Mounting and unmounting filesystems (
mount, umount)
- Checking available free space and space used by files (
df, du)
- Checking and correcting the integrity of filesystems (
fsck)
- Journaling filesystems, converting from ext2 to ext3
Booting and runlevels
- The boot process: from BIOS to kernel to userspace
- Setting kernel parameters
- Configuring a boot loader: LILO and Grub
- Runlevels and init scripts
- Configuring services to run at boot
- Securing single-user mode (
sulogin)
- Shutting down and rebooting the system
Managing user accounts and configuration files
- Configuration files
- Environment variables for configuration (
PATH, PS1, DISPLAY, http_proxy)
- Setting and examining shell aliases
- Configuring the readline library (
inputrc files)
- User database files (
/etc/passwd, /etc/group, etc)
- Changing passwords (
passwd)
- Adding users (
useradd, adduser)
- Deleting and modifying user accounts (
userdel, usermod)
- Locking and unlocking user accounts
|
Scheduling, logging and backup
- Running commands at particular times (
at, atq, atrm)
- Scheduling commands to run repeatedly (
cron)
- Different ways of configuring cron (
/etc/crontab, etc)
- User crontabs (
crontab command)
- Configuring logging (
syslog, /etc/syslog.conf)
- Examining logs (
less, grep, tail -f)
- Log rotation (
logrotate)
- Backup strategy and media
- Using
tar to make, examine and extract archives
- Accessing tape drives, using tar with tapes
Installing software
- Managing software installation (advantages of package management)
- Debian package management:
- Package naming and version numbering
- Searching for packages (
apt-cache)
- Using Apt to get and install packages (
apt-get)
- Low-level package management (
dpkg)
- Red Hat package management:
- Installing and upgrading RPM packages (
rpm)
- Which packages are installed, which package a file came from
- Examining RPM package files
- Verifying integrity of the installation
- Compiling and installing software from source code (
./configure, make, etc)
- Managing shared libraries (
ldd, ldconfig)
The Linux kernel
- What the kernel is and does
- Kernel modules (
lsmod, modprobe, rmmod)
- Module dependencies (
depmod)
- Examining modules (
modinfo)
- Configuring kernel modules (
/etc/modules.conf)
- Recompiling the kernel
- Configuring, compiling and installing the kernel and modules (
make menuconfig, make xconfig, etc)
- Loading and unloading kernel modules (
lsmod, modprobe, rmmod)
The X window system
- What X is
- The rôle of window managers and desktop environments
- Startup and session scripts
- Terminal emulators (
xterm, etc)
Advanced shell usage
- Quoting (single quotes, double quotes, backslashes)
- Combining quoting mechanisms
- Globbing patterns (
*, ?, [])
- Generating filenames and other text with
{} braces
Shell scripting and configuration
- The point of shell programming
- The ‘she-bang line’ (
#!/bin/sh)
- Outputting text with (
echo)
- Reading input (
read)
- Writing simple shell functions
- Sourcing files
- Command substitution again
- Conditional execution (
||, &&, if, else)
- Looping (
for, while, seq)
- Infinite loops (
while true)
- Testing for the existence and type of files (
-f, -d, etc)
- Sending email from scripts (
mail)
TCP/IP networking configuration
- Overview of modern TCP/IP networking, rôles of IP, TCP, UDP and ICMP
- Domain names and IP addresses (
host, dig)
- Port numbers (
/etc/services)
- Network interfaces (
ifconfig, ifup, ifdown)
- Kernel routing tables (
route)
- Finding and setting the hostname (
hostname, /etc/hostname)
- DHCP client hosts
- Network diagnostics (
ping, traceroute, netstat)
Linux network services
- Overview of network services under Linux, operating daemons
- Sending signals to daemons
- The advantages and disadvantages of using Inetd and Xinetd, basic
configuration of both
DNS and email services
- Configuring the resolver libraries
- Structure of domain names, registering names (
whois)
- Running a DNS server (BIND), setting up a caching-only name server
- Running an MTA (email server)
- Email clients (MUAs)
- Basic configuration of Exim
- Routing mail with MX (mail exchanger) DNS records
Basic configuration of Apache
- Running a webserver (Apache)
- Configuration files for Apache
- Named virtual hosts
- Options available for dynamic pages
- Logging in Apache
Networked filesystems
- Configuring NFS (
/etc/exports, /etc/fstab)
- Basic Samba configuration (
smb.conf, SWAT)
|
|
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.
|