Purchase | Copyright © 2002 Paul Sheer. Click here for copying permissions. | Home |
These requirements are quoted verbatim from the LPI web page <http://www.lpi.org/>.
For each objective, the relevant chapter or section from this book
is referenced in parentheses: these are my additions to the
text. In some cases, outside references are given. Note that
the LPI level 2 exams have not been finalized as of this writing.
However, the preliminary draft of the level 2 curricula is mostly
covered by this book.
Each objective is assigned a weighting value. The weights range roughly from 1 to 8, and indicate the relative importance of each objective. Objectives with higher weights will be covered by more exam questions.
This is a required exam for certification level I. It covers fundamental system administration activities that are common across all flavors of LINUX.
Obj 1: Work Effectively on the UNIX command line
Weight of objective: 4
Interact with shells and commands using the command line (Chapter 4). Includes typing valid commands and command sequences (Chapter 4), defining, referencing and exporting environment variables (Chapter 9), using command history and editing facilities (Section 2.6), invoking commands in the path and outside the path (Section 4.6), using command substitution, and applying commands recursively through a directory tree (Section 20.7.5).
Obj 2: Process text streams using text processing filters
Weight of objective: 7
Send text files and output streams through text utility filters to modify the output in a useful way (Chapter 8). Includes the use of standard UNIX commands found in the GNU textutils package such as sed, sort, cut, expand, fmt, head, join, nl, od, paste, pr, split, tac, tail, tr, and wc (see the man pages for each of these commands in conjunction with Chapter 8).
Obj 3: Perform basic file management
Weight of objective: 2
Use the basic UNIX commands to copy and move files and directories (Chapter 4). Perform advanced file management operations such as copying multiple files recursively and moving files that meet a wildcard pattern (Chapter 4). Use simple and advanced wildcard specifications to refer to files (Chapter 4.3).
Obj 4: Use UNIX streams, pipes, and redirects
Weight of objective: 3
Connect files to commands and commands to other commands to efficiently process textual data. Includes redirecting standard input, standard output, and standard error; and piping one command's output into another command as input or as arguments (using xargs); sending output to stdout and a file (using tee) (Chapter 8).
Obj 5: Create, monitor, and kill processes
Weight of objective: 5
Includes running jobs in the foreground and background (Chapter 9), bringing a job from the background to the foreground and vise versa, monitoring active processes, sending signals to processes, and killing processes. Includes using commands ps, top, kill, bg, fg, and jobs (Chapter 9).
Obj 6: Modify process execution priorities
Weight of objective: 2
Run a program with higher or lower priority, determine the priority of a process, change the priority of a running process (Section 9.7). Includes the command nice and its relatives (Section 9.7).
Obj 7: Perform searches of text files making use of regular expressions
Weight of objective: 3
Includes creating simple regular expressions and using related tools such as grep and sed to perform searches (Chapters 5 and 8).
Obj 1: Create partitions and filesystems
Weight of objective: 3
Create disk partitions using fdisk, create hard drive and other media filesystems using mkfs (Chapter 19).
Obj 2: Maintain the integrity of filesystems
Weight of objective: 5
Verify the integrity of filesystems, monitor free space and inodes, fix simple filesystem problems. Includes commands fsck, du, df (Chapter 19).
Obj 3: Control filesystem mounting and unmounting
Weight of objective: 3
Mount and unmount filesystems manually, configure filesystem mounting on bootup, configure user-mountable removable file systems. Includes managing file /etc/fstab (Chapter 19).
Obj 4: Set and view disk quota
Weight of objective: 1
Setup disk quota for a filesystem, edit user quota, check user quota, generate reports of user quota. Includes quota, edquota, repquota, quotaon commands. (Quotas are not covered but are easily learned form the Quota mini-HOWTO.)
Obj 5: Use file permissions to control access to files
Weight of objective: 3
Set permissions on files, directories, and special files, use special permission modes such as suid and sticky bit, use the group field to grant file access to workgroups, change default file creation mode. Includes chmod and umask commands. Requires understanding symbolic and numeric permissions (Chapter 14).
Obj 6: Manage file ownership
Weight of objective: 2
Change the owner or group for a file, control what group is assigned to new files created in a directory. Includes chown and chgrp commands (Chapter 11).
Obj 7: Create and change hard and symbolic links
Weight of objective: 2
Create hard and symbolic links, identify the hard links to a file, copy files by following or not following symbolic links, use hard and symbolic links for efficient system administration (Chapter 15).
Obj 8: Find system files and place files in the correct location
Weight of objective: 2
Understand the filesystem hierarchy standard, know standard file locations, know the purpose of various system directories, find commands and files. Involves using the commands: find, locate, which, updatedb . Involves editing the file: /etc/updatedb.conf (Section 4.14 and Chapters 17 and 35).
Obj 1: Boot the system
Weight of objective: 3
Guide the system through the booting process, including giving options to the kernel at boot time, and check the events in the log files. Involves using the commands: dmesg (lilo). Involves reviewing the files: /var/log/messages, /etc/lilo.conf, /etc/conf.modules | /etc/modules.conf (Sections 21.4.8 and 42.5.1 and Chapters 31 and 32).
Obj 2: Change runlevels and shutdown or reboot system
Weight of objective: 3
Securely change the runlevel of the system, specifically to single user mode, halt (shutdown) or reboot. Make sure to alert users beforehand, and properly terminate processes. Involves using the commands: shutdown, init (Chapter 32).
Obj 1: Use and Manage Local System Documentation
Weight of objective: 5
Use and administer the man facility and the material in /usr/doc/. Includes finding relevant man pages, searching man page sections, finding commands and manpages related to one, configuring access to man sources and the man system, using system documentation stored in /usr/doc/ and related places, determining what documentation to keep in /usr/doc/ (Section 4.7 and Chapter 16; you should also study the man page of the man command itself).
Obj 2: Find LINUX documentation on the Internet
Weight of objective: 2
Find and use LINUX documentation at sources such as the LINUX Documentation Project, vendor and third-party websites, newsgroups, newsgroup archives, mailing lists (Chapter 13).
Obj 3: Write System Documentation
Weight of objective: 1
Write documentation and maintain logs for local conventions, procedures, configuration and configuration changes, file locations, applications, and shell scripts. (You should learn how to write a man page yourself. There are many man pages to copy as examples. It is difficult to say what the LPI had in mind for this objective.)
Obj 4: Provide User Support
Weight of objective: 1
Provide technical assistance to users via telephone, email, and personal contact. (This is not covered. Providing user support can be practiced by answering questions on the newsgroups or mailing lists.)
Obj 1: Manage users and group accounts and related system files
Weight of objective: 7
Add, remove, suspend user accounts, add and remove groups, change user/group info in passwd/group databases, create special purpose and limited accounts. Includes commands useradd, userdel, groupadd, gpasswd, passwd, and file passwd, group, shadow, and gshadow. (Chapter 11. You should also study the useradd and groupadd man pages in detail.)
Obj 2: Tune the user environment and system environment variables
Weight of objective: 4
Modify global and user profiles to set environment variable, maintain skel directories for new user accounts, place proper commands in path. Involves editing /etc/profile and /etc/skel/ (Chapter 11 and Section 20.8).
Obj 3: Configure and use system log files to meet administrative and security needs
Weight of objective: 3
Configure the type and level of information logged, manually scan log files for notable activity, arrange for automatic rotation and archiving of logs, track down problems noted in logs. Involves editing /etc/syslog.conf (Sections 21.4.8 and 21.4.9).
Obj 4: Automate system administration tasks by scheduling jobs to run in the future
Weight of objective: 4
Use cron to run jobs at regular intervals, use at to run jobs at a specific time, manage cron and at jobs, configure user access to cron and at services (Chapter 37).
Obj 5: Maintain an effective data backup strategy
Weight of objective: 3
Plan a backup strategy, backup filesystems automatically to various media, perform partial and manual backups, verify the integrity of backup files, partially or fully restore backups (Section 4.17 and Chapter 18).
Obj 1: Configure fundamental system hardware
Weight of objective: 3
Demonstrate a proper understanding of important BIOS settings, set the date and time, ensure IRQs and I/O addresses are correct for all ports including serial and parallel, make a note of IRQs and I/Os, be aware of the issues associated with drives larger than 1024 cylinders (Chapters 3 and 42).
Obj 2: Setup SCSI and NIC devices
Weight of objective: 4
Manipulate the SCSI BIOS to detect used and available SCSI IDs, set the SCSI ID to the correct ID number for the boot device and any other devices required, format the SCSI drive--low level with manufacturer's installation tools--and properly partition and system format with LINUX fdisk and mke2fs, set up NIC using manufacturer's setup tools setting the I/O and the IRQ as well as the DMA if required. (Sections 42.6.3 and 42.6.9. Each hardware vendor has their own specific tools. There are few such NICs still left to practice on.)
Obj 3: Configure modem, sound cards
Weight of objective: 3
Ensure devices meet compatibility requirements (particularly that the modem is NOT a win-modem), verify that both the modem and sound card are using unique and correct IRQs, I/O, and DMA addresses, if the sound card is PnP install and run sndconfig and isapnp, configure modem for outbound dialup, configure modem for outbound PPP | SLIP | CSLIP connection, set serial port for 115.2 Kbps (Sections 42.6.1, 42.6.12, and 42.7 and Chapters 34 and 41).
Obj 1: Design hard-disk layout
Weight of objective: 2
Design a partitioning scheme for a LINUX system, depending on the hardware and system use (number of disks, partition sizes, mount points, kernel location on disk, swap space). (Chapter 19.)
Obj 2: Install a boot manager
Weight of objective: 3
Select, install and configure a boot loader at an appropriate disk location. Provide alternative and backup boot options (like a boot floppy disk). Involves using the command: lilo . Involves editing the file: /etc/lilo.conf (Chapter 31).
Obj 3: Make and install programs from source
Weight of objective: 5
Manage (compressed) archives of files (unpack "tarballs"), specifically GNU source packages. Install and configure these on your systems. Do simple manual customization of the Makefile if necessary (like paths, extra include dirs) and make and install the executable. Involves using the commands: gunzip, tar, ./configure, make, make install . Involves editing the files: ./Makefile (Chapter 24).
Obj 4: Manage shared libraries
Weight of objective: 3
Determine the dependencies of executable programs on shared libraries, and install these when necessary. Involves using the commands: ldd, ldconfig . Involves editing the files: /etc/ld.so.conf (Chapter 23).
Obj 5: Use Debian package management
Weight of objective: 5
Use the Debian package management system, from the command line (dpkg) and with interactive tools (dselect). Be able to find a package containing specific files or software; select and retrieve them from archives; install, upgrade or uninstall them; obtain status information like version, content, dependencies, integrity, installation status; and determine which packages are installed and from which package a specific file has been installed. Be able to install a non-Debian package on a Debian system (Chapter 24).
Involves using the commands and programs: dpkg, dselect, apt, apt-get, alien . Involves reviewing or editing the files and directories: /var/lib/dpkg/* .
Obj 6:Use Red Hat Package Manager (rpm)
Weight of objective: 6
Use rpm from the command line. Familiarize yourself with these tasks: Install a package, uninstall a package, determine the version of the package and the version of the software it contains, list the files in a package, list documentation files in a package, list configuration files or installation or uninstallation scripts in a package, find out for a certain file from which package it was installed, find out which packages have been installed on the system (all packages, or from a subset of packages), find out in which package a certain program or file can be found, verify the integrity of a package, verify the PGP or GPG signature of a package, upgrade a package. Involves using the commands and programs: rpm, grep (Chapter 24).
Obj 1: Manage kernel modules at runtime
Weight of objective: 3
Learn which functionality is available through loadable kernel modules, and manually load and unload the modules as appropriate. Involves using the commands: lsmod, insmod, rmmod, modinfo, modprobe. Involves reviewing the files: /etc/modules.conf | /etc/conf.modules (* depends on distribution *), /lib/modules/ {kernel-version }/modules.dep (Chapter 42).
Obj 2: Reconfigure, build, and install a custom kernel and modules
Weight of objective: 4
Obtain and install approved kernel sources and headers (from a repository at your site, CD, kernel.org, or your vendor); customize the kernel configuration (i.e., reconfigure the kernel from the existing .config file when needed, using oldconfig, menuconfig or xconfig); Make a new LINUX kernel and modules; Install the new kernel and modules at the proper place; Reconfigure and run lilo. N.B.: This does not require to upgrade the kernel to a new version (full source nor patch). Requires the commands: make (dep, clean, menuconfig, bzImage, modules, modules_install), depmod, lilo. Requires reviewing or editing the files: /usr/src/linux/.config , /usr/src/linux/Makefile, /lib/modules/ {kernelversion }/modules.dep, /etc/conf.modules | /etc/modules.conf, /etc/lilo.conf (Chapter 42).
Obj 1: Perform basic file editing operations using vi
Weight of objective: 2
Edit text files using vi. Includes vi navigation, basic modes, inserting, editing and deleting text, finding text, and copying text (Chapter 6).
Obj 2: Manage printers and print queues
Weight of objective: 2
Monitor and manage print queues and user print jobs, troubleshoot general printing problems. Includes the commands: lpc, lpq, lprm and lpr . Includes reviewing the file: /etc/printcap (Chapter 21).
Obj 3: Print files
Weight of objective: 1
Submit jobs to print queues, convert text files to postscript for printing. Includes lpr command (Section 21.6).
Obj 4: Install and configure local and remote printers
Weight of objective: 3
Install a printer daemon, install and configure a print filter (e.g.: apsfilter, magicfilter). Make local and remote printers accessible for a LINUX system, including postscript, non-postscript, and Samba printers. Involves the daemon: lpd . Involves editing or reviewing the files and directories: /etc/printcap , /etc/apsfilterrc , /usr/lib/apsfilter/filter/*/ , /etc/magicfilter/*/ , /var/spool/lpd/*/ (why not to use apsfilter is discussed in Section 21.9.2).
Obj 1: Customize and use the shell environment
Weight of objective: 4
Customize your shell environment: set environment variables (e.g. PATH) at login or when spawning a new shell; write bash functions for frequently used sequences of commands. Involves editing these files in your home directory: .bash_profile | .bash_login | .profile ; .bashrc ; .bash_logout ; .inputrc (Chapter 20).
Obj 2: Customize or write simple scripts
Weight of objective: 5
Customize existing scripts (like paths in scripts of any language), or write simple new (ba)sh scripts. Besides use of standard sh syntax (loops, tests), be able to do things like: command substitution and testing of command return values, test of file status, and conditional mailing to the superuser. Make sure the correct interpreter is called on the first (#!) line, and consider location, ownership, and execution- and suid-rights of the script (Chapter 20; setuid is covered in Sections 33.2 and 36.2.10 from a slightly more utilitarian angle).
Obj 1: Install and configure XFree86
Weight of objective: 4
Verify that the video card and monitor are supported by an X server, install the correct X server, configure the X server, install an X font server, install required fonts for X (may require a manual edit of /etc/X11/XF86Config in the "Files" section), customize and tune X for videocard and monitor. Commands: XF86Setup, xf86config. Files: /etc/X11/XF86Config, .xresources (Chapter 43).
Obj 2: Setup XDM
Weight of objective: 1
Turn xdm on and off, change the xdm greeting, change default bitplanes for xdm, set-up xdm for use by X-stations (see the xdm man page for comprehensive information).
Obj 3: Identify and terminate runaway X applications
Weight of objective: 1
Identify and kill X applications that won't die after user ends an X-session. Example: netscape, tkrat, etc.
Obj 4: Install and customize a Window Manager Environment
Weight of objective: 4
Select and customize a system-wide default window manager and/or desktop environment, demonstrate an understanding of customization procedures for window manager menus, configure menus for the window manager, select and configure the desired x-terminal (xterm, rxvt, aterm etc.), verify and resolve library dependency issues for X applications, export an X-display to a client workstation. Commands: Files: .xinitrc, .Xdefaults, various .rc files. (The xinit, startx, and xdm man pages provide this information.)
Obj 1: Fundamentals of TCP/IP
Weight of objective: 4
Demonstrate an understanding of network masks and what they mean (i.e. determine a network address for a host based on its subnet mask), understand basic TCP/IP protocols (TCP, UDP, ICMP) and also PPP, demonstrate an understanding of the purpose and use of the more common ports found in /etc/services (20, 21, 23, 25, 53, 80, 110, 119, 139, 143, 161), demonstrate an correct understanding of the function and application of a default route. Execute basic TCP/IP tasks: FTP, anonymous FTP, telnet, host, ping, dig, traceroute, whois (Chapters 25 and 26).
Obj 2: (superseded)
Obj 3: TCP/IP troubleshooting and configuration
Weight of objective: 10
Demonstrate an understanding of the techniques required to list, configure and verify the operational status of network interfaces, change, view or configure the routing table, check the existing route table, correct an improperly set default route, manually add/start/stop/restart/delete/reconfigure network interfaces, and configure LINUX as a DHCP client and a TCP/IP host and debug associated problems. May involve reviewing or configuring the following files or directories: /etc/HOSTNAME | /etc/hostname, /etc/hosts, /etc/networks, /etc/host.conf, /etc/resolv.conf, and other network configuration files for your distribution. May involve the use of the following commands and programs: dhcpd, host, hostname (domainname, dnsdomainname), ifconfig, netstat, ping, route, traceroute, the network scripts run during system initialization (Chapters 25 and 27).
Obj 4: Configure and use PPP
Weight of objective: 4
Define the chat sequence to connect (given a login example), setup commands to be run automatically when a PPP connection is made, initiate or terminate a PPP connection, initiate or terminate an ISDN connection, set PPP to automatically reconnect if disconnected (Chapter 41).
Obj 1: Configure and manage inetd and related services
Weight of objective: 5
Configure which services are available through inetd, use tcpwrappers to allow or deny services on a host-by-host basis, manually start, stop, and restart Internet services, configure basic network services including telnet and ftp. Includes managing inetd.conf, hosts.allow, and hosts.deny (Chapter 29).
Obj 2: Operate and perform basic configuration of sendmail
Weight of objective: 5
Modify simple parameters in sendmail config files (modify the DS value for the "Smart Host" if necessary), create mail aliases, manage the mail queue, start and stop sendmail, configure mail forwarding (.forward), perform basic troubleshooting of sendmail. Does not include advanced custom configuration of sendmail. Includes commands mailq, sendmail, and newaliases. Includes aliases and mail/ config files (Chapter 30).
Obj 3: Operate and perform basic configuration of apache
Weight of objective: 3
Modify simple parameters in apache config files, start, stop, and restart httpd, arrange for automatic restarting of httpd upon boot. Does not include advanced custom configuration of apache. Includes managing httpd conf files (Chapter 36).
Obj 4: Properly manage the NFS, smb, and nmb daemons
Weight of objective: 4
Mount remote filesystems using NFS, configure NFS for exporting local filesystems, start, stop, and restart the NFS server. Install and configure Samba using the included GUI tools or direct edit of the /etc/smb.conf file (Note: this deliberately excludes advanced NT domain issues but includes simple sharing of home directories and printers, as well as correctly setting the nmbd as a WINS client). (Chapters 28 and 39.)
Obj 5: Setup and configure basic DNS services
Weight of objective: 3
Configure hostname lookups by maintaining the /etc/hosts, /etc/resolv.conf, /etc/host.conf, and /etc/nsswitch.conf files, troubleshoot problems with local caching-only name server. Requires an understanding of the domain registration and DNS translation process. Requires understanding key differences in config files for bind 4 and bind 8. Includes commands nslookup, host. Files: named.boot (v.4) or named.conf (v.8) (Chapters 27 and 40).
Obj 1: Perform security admin tasks
Weight of objective: 4
Configure and use TCP wrappers to lock down the system, list all files with SUID bit set, determine if any package (.rpm or .deb) has been corrupted, verify new packages prior to install, use setgid on dirs to keep group ownership consistent, change a user's password, set expiration dates on user's passwords, obtain, install and configure ssh (Chapter 44).
Obj 2: Setup host security
Weight of objective: 4
Implement shadowed passwords, turn off unnecessary network services in inetd, set the proper mailing alias for root and setup syslogd, monitor CERT and BUGTRAQ, update binaries immediately when security problems are found (Chapter 44).
Obj 3: Setup user level security
Weight of objective: 2
Set limits on user logins, processes, and memory usage (Section 11.7.5).