As Novell has come to embrace Linux in its product line, marketing and strategy, it has also come to support—if not flat-out endorse—the certifications from the Linux Professional Institute (LPI). Various Novell certifications now require Level 1 and/or Level 2 certifications from LPI to show you know and understand the basics of Linux administration. Let's look at what the LPI certifications are and then focus on one of the key exams you must pass to become certified. (For more information on LPI, visit www.lpi.org.)

What Are LPI Certifications? / The Linux Professional Institute currently has two levels of Linux certification with plans for more in the future. To become certified at any level, you must pass two exams and you must certify at the first level before you can certify at the second level. To certify at Level 1 (Junior-level Administrator), you must pass exams 101 and 102. You must pass exams 201 and 202 to certify at Level 2 (Intermediate-level Administrator).

For more information on lpi certifications, visit
www.lpi.org

The exams consist of both multiple-choice and fill-in-the-blank questions and are focused on generic, vendor-neutral Linux. In other words, the topics covered by the certification test apply to any flavor of Linux whether you are using SUSE Linux, Red Hat or any other Linux implementation. To achieve this vendor-neutrality, the questions typically focus on the lowest common denominator in all implementations, for example, the chown utility, and not focus on tools that exist only in one distribution, such as YaST in SUSE Linux.

Most of the fill-in-the-blank questions relate to commands and syntax so experience giving those commands on a live system becomes essential to answering correctly. You must be very familiar with Linux administration before considering taking these exams.

Not all of the topics on the exams are evenly weighted. You should study every topic and be comfortable with it, but if you find yourself in a pinch, take weighting into account and focus your study time accordingly. While not exact, think of the weighting as percentages.

The LPI certifications are highly regarded, not only by Novell, but also by the Linux community as a whole. Unfortunately, there is not a lot of current, up-to-date, study material available for the exams. When the LPI certification first went live in XXXX, several publishers had books covering the 101 and 102 exams, while none (to my knowledge) did on exams 201 and 202. After the Level 1 exams were updated, few publishers updated their existing books to reflect the new material.

This article focuses on exam 101 and what you must know to pass it. In the future, we'll try to cover exam 102 to round out what you must know to pass both exams and become certified at Level 1.

The Topics / As mentioned, when studying for the exam, take weighting into account. Weighting the topics breaks them down in differing significances:

  • GNU & Unix Commands: 31 (See Tables 2-10.)
  • Linux Installation & Package Management: 30 (See Table 11.)
  • Devices, Linux Filesystems and Filesystem Hierarchy Standard: 24 (See Devices, Linux Filesystems and Filesystem Hierarchy Standard below and Table 12.)
  • The X Window System: 13 (See Table 13.)
  • Hardware & Architecture: 8 (See Table 14.)
  • NOTE The numbers add to 106 rather than to 100 because there is not an exact correlation between the weighting and percentages.

If you want to break down the areas to study even further, look at the weighting of each objective and organize them by the most important. (See Table 1.) Knowing what to study—what the creator of the exam considers the most important—and then being comfortable with those topics is invaluable to acing an exam.

Devices, Linux Filesystems and Filesystem Hierarchy Standard
During installation, Linux creates a number of directories which hold system files. Under any normal installation, regardless of the vendor, the folder structure includes the directories as they adhere to the Filesystem Hierarchy Standard (FHS).

/ (root) — Everything begins at the root directory (/). This is the beginning directory of which everything else becomes a subdirectory, or subcomponent beneath the root directory. When specifying locations and using absolute addressing, always start with the root directory; it is impossible to go back any further.

bin — The /bin directory holds the binaries (executables) that are essential to using the Linux operating system. Many of the utilities discussed thus far are located in the bin directory, including:

  • cat
  • cp
  • date
  • dd
  • gzip
  • ls
  • mkdir
  • mv
  • ps
  • rm
  • sed
  • vi

boot — The /boot directory houses the files needed to boot the system, minus configuration files, as well as the kernel. In some implementations, the kernel is stored in the / directory (a holdover from the days of Unix), but in most newer versions, /boot is used. This directory contains all the files needed to boot (including the kernel) except the configuration files.

dev — The /dev directory holds the device definitions. You can drag a file to a graphical icon of the floppy drive on the desktop because a definition for the floppy drive is held in the /dev directory. A definition file is associated with every device, whether it is a terminal, drive, driver and so on. You should know that the following types of files exist in Linux:

Normal Files: files that contain data used by users or applications
Directories: containers that hold files or other directories
Device Files: one device file exists for each physical device
Links: pointers to other files
Sockets: files used to exchange data between two running processes
Pipes (also known as FIFOs for First In, First Out): Like sockets, they are used to exchange data, but the data is queued and can only flow one way

etc — In everyday language, "etc." is used to mean "and so on." In the Linux world, however, the /etc directory holds configuration files and samples that are specific to the machine. For example, ABC Corporation and DEF Corporation can both install the same version of Linux on Intel-based machines at their sites. When they do, both will have root directories, both will have /bin directories with matching sets of utilities in them, and so on. One major difference between the two machines will be the values that can be found in the /etc directory. The users who log on at ABC are not the same as those who can log on at DEF; thus, user accounts are stored in /etc. The groups are not the same at the two organizations; again, those related files are stored here.

home — The /home directory holds subdirectories that are the home directories for users. For example, user edulaney, when entering the cd command, will be placed in /home/edulaney providing that variable (the default) is used when setting up the account. Each user's home directory provides him a location where he can store files, as well as where individual configuration files are found and accessed. Some services, such as ftp and http, also create directories beneath /home. Files that are used to configure the environment for the user, such as .profile, .bashrc, and .bash_history are stored in the home directories.

lib — Shared library files needed by binaries, such as those in the /bin directory, are located in the /lib directory and subdirectories beneath it. Generally, the libraries comprise executables written in the C language.

media — The /media directory is used for mounting removable media. Two subdirectories are created here by default: cdrom and floppy. Folders for other devices, such as dvd, dvdrecorder or cdrecorder, may also appear if they are installed.

mnt — The /mnt directory holds external filesystems that are mounted. The entities that appear in this directory are never on this filesystem, but rather external resources that can be linked to and accessed from here. The external resources can be other filesystems or devices. The devices appear as directories with common names. The /mnt/tmp subdirectory here is intended to hold temporary files, but it's preferable to use the /tmp. External filesystems are loaded, and thus appear, beneath this directory with the mount command. They are removed with the umount command.

opt — The /opt directory holds optional (add-in) application software. Not all applications are installed here, but when they are, they create a subdirectory for their variables using the application name.

proc — The /proc directory is the virtual filesystem. It is dynamically generated and updated and holds information about processes, the kernel and related system information. Processes are depicted as folders, each having permissions and variables associated with it. Other system information is most commonly depicted as files.

root — The /root directory is the home directory for the root user. For security purposes, it is beneath the / directory rather than being a subdirectory of /home. For true security, it is further recommended that you move this directory to another location and rename it to a less obvious (and inviting) name.

The LPI certifications are highly regarded, not only by Novell, but also by the Linux community as a whole.

sbin — Just as the /bin directory holds standard executables that most users utilize, the /sbin directory holds binary executables for system administration. Many of these utilities are used for booting the system and once resided beneath the /etc directory. The following are some of the files located beneath this directory:

  • dump
  • fdisk
  • fsck
  • halt
  • ifconfig
  • init
  • mkfs
  • poweroff
  • reboot
  • shutdown

srv — The /srv directory holds the files for the services that are available on the server—each in a separate subdirectory.

tmp — As the name implies, the /tmp directory holds temporary files. Only short-term files should be placed here because many systems clean (delete) all entries in this directory on either startup or shutdown. Examples of files that exist beneath /tmp are shadow copies of files opened for editing, any application's temporary files (stored between operations) and so on.

If you want to break down the areas to study even further, look at the weighting of each objective and organize them by the most important.

usr — Originally an acronym for "user-specific resources," /usr is now an enormous directory with a large number of subdirectories. Subdirectories beginning with X are used to define the X Windows environment. The /bin subdirectory, as has been the case each time the same name has been encountered, contains user binary (executable) files. The files placed here include:

  • cut
  • diff
  • file
  • grep
  • killall
  • nl
  • passwd
  • wc

var — Short for variable, the data contained beneath this directory fluctuates in nature. Typically, many subdirectories here hold dynamic files, such as spools and logs. The main directories to know among these variables are:
lock: holds locked files
log: used for log files such as those created by login and logout (wtmp), who is currently using the system (utmp), and those for mail, the spooler, etc.
run: files needed for the runlevel
spool: spooled data waiting for processing (such as printing)

Knowing what to study-what the creator of the exam considers the most important-and then being comfortable with those topics is invaluable to acing an exam.

Other directories — Other directories can be created and exist beneath the / directory. Those listed in the preceding sections are always present and the following two directories might also be present:
install: holds information about the installation, such as scripts, errors, etc.
lost+found: On a perfect system, this directory should be empty. When corruption occurs, however, the results are placed in this directory.

(For more information about the Filesystem Hierarchy Standard, visit www.pathname.com.)

Summary / This article introduced the LPI certifications and looked at the topics on the first exam you must pass in order to become certified as a Junior-level Administrator. Look for another article covering the topics you must pass on exam 102—the second test you must pass to become certified at Level 1. red N


Table 1: Weighting Each Exam Objective
Objective Topic Area Weight
Use Debian package management Linux Installation & Package Management 8
Use Red Hat Package Manager(RPM) Linux Installation & Package Management 8
Process text streams using filters GNU & Unix Commands 6
Find system files and place files in the correct location Devices, Linux Filesystems and Filesystem Hierarchy Standard 5
Install and configure Xfree86 The X Window System 5
Design hard disk layout Linux Installation & Package Management 5
Make and install programs from source Linux Installation & Package Management 5
Work on the command line GNU & Unix Commands 5
Use streams, pipes and redirects GNU & Unix Commands 5
Create, monitor and kill processes GNU & Unix Commands 5
Use file permissions to control access to files Devices, Linux Filesystems and Filesystem Hierarchy Standard 5
Install and customize a Window Manager Environment The X Window System 5
Perform basic file management GNU & Unix Commands 3
Modify process execution priorities GNU & Unix Commands 3
Search text files using regular expressions GNU & Unix Commands 3
Set up different PC expansion cards Hardware & Architecture 3
Manage shared libraries Linux Installation & Package Management 3
Create partitions and filesystems Devices, Linux Filesystems and Filesystem Hierarchy Standard 3
Maintain the integrity of filesystems Devices, Linux Filesystems and Filesystem Hierarchy Standard 3
Control mounting and unmounting filesystems Devices, Linux Filesystems and Filesystem Hierarchy Standard 3
Managing disk quota Devices, Linux Filesystems and Filesystem Hierarchy Standard 3
Set up a display manager The X Window System 3
Configure Fundamental BIOS Settings Hardware & Architecture 1
Configure Modem and Sound cards Hardware & Architecture 1
Set up SCSI devices Hardware & Architecture 1
Configure Communication Devices Hardware & Architecture 1
Configure USB devices Hardware & Architecture 1
Install a boot manager Linux Installation & Package Management 1
Perform basic file editing operations using vi GNU & Unix Commands 1
Manage file ownership Devices, Linux Filesystems and Filesystem Hierarchy Standard 1
Create and change hard and symbolic links Devices, Linux Filesystems and Filesystem Hierarchy Standard 1
Not all of the topics on the exams are evenly weighted.
Table 2: GNU & UNIX Commands
Utility Default Purpose
& Start a process in the background
bg Move a job to the background
cat Display the contents of a file
cd Change from the current directory to another
cp Copy a file or directory
cut Extract a field from each line of a file
dd Copy files between media
egrep Originally combined features of grep and fgrep with new possibilities; can now be emulated with grep –E
fg Move a job to the foreground
fgrep Originally offered features not found in grep, but can now be emulated with grep -F
find Locate a file based on given criteria
fmt Format the output to fit the desired display
grep Displays lines that contain the given string
head Display the beginning lines of a file
jobs Display a list of jobs running in the background
join Combine columns from two files into a single display
kill End a process
killall End several processes
ls List files and directories on the system
man Display the manual pages for a command, utility or file
mkdir Make directories
mv Rename/move a file or directory
nice Start a process at a priority other than the default
nl Number the lines of a file
paste Put the contents of two files in a single display
ps Show the running processes
pstree Graphically depict the relationship between processes
pwd Display the current directory (always in absolute format)
renice Change the priority of a running process
rm Remove files and directories
rmdir Remove empty directories
sed Allows text to be changed before being displayed
sort Sort the lines of the file
stty Show the settings for the terminal
tac Display the contents of a file in reverse order
tail Display the last lines of a file
tee Send output to default and to a file
top Show and monitor system information and processes
touch Change the times associated with a file
tr Translate one set of characters into another
wait Suspend further processing until another process completes
wc Count the number of words, lines and characters/bytes within a file
xargs Pass the output of one command into another
Table 3: Metacharacters and Their Purposes
Metacharacter Purpose
‘ ‘ Cancel the special meaning of anything but the backquote (everything except the backquote?)
“ “ Cancel the special meaning of most characters
$ Treat the next string as a variable
$() Allow a command to be treated as a variable
* The wildcard for any number of characters
; Separate dissimilar commands
? Any single character
[ ] Any of the enclosed characters
\ Treat the next character literally
` ` Execute the enclosed command
| Allow one command's output to be the next command's input
< Input redirection
<< "Here"
> Output redirection
>> Output append
Table 4: Navigation Keys for the vi Editor
Key Result
- Move to the first character of the previous line
$ Move to the last position of the current line
( Move backward one sentence
) Move forward one sentence
{ Move to the beginning of the previous paragraph
} Move to the beginning of the next paragraph
^ Move to the first character of the current line (ignoring spaces)
+ Move to the first character of the next line
0 Move to the beginning of the current line
b Move backward to the beginning of the previous word
B Move backward to the beginning of the previous word, ignoring symbols and punctuation
E Move to the end of the next word
E Move to the end of the next word, ignoring symbols and punctuation
Enter\Return Move to the beginning of the next line
H Move left one space
J Move down one line
K Move up one line
L Move right one space
W Move to the beginning of the next word
W Move to the beginning of the next word, ignoring symbols and punctuation
G Move to the last line of the file
xG “Goto” line number x
Table 5: Available vi "Change Text" Combinations
Keystroke Result
C$ Change from here to the end of the line
c) Change from here to the end of the sentence
c^ Change from here to the beginning of the line
c} Change the remainder of the paragraph
3cw Change the next three words
r Replace an individual character
R Go to “Replace” mode and overwrite existing text with new text
Table 6: Ways to Save a File in the vi Editor
Keystroke Result
:.,12w newfile Saves lines from where the cursor currently is to line 12 in a file named newfile
:2, 5w newfile Saves lines 2 thru 5 in a file named newfile
:12, $w newfile Saves lines from 12 to the end of the file in a file named newfile
Table 7: Keys Associated with Input Mode in the vi Editor
Keystroke Result
a Inserts text after cursor (append)
A Inserts text at the end of the current line
i Inserts text before cursor
o Opens a new line below the cursor
O Opens a new line above the cursor
s Removes the current letter and places you in insert mode. This is known as the “substitute” command
S Substitute mode for the whole line
Table 8: Deletion Keystrokes in the vi Editor
Keystroke Result
d$ Deletes from the cursor position to the end of the line
d) Deletes the remainder of the sentence
d} Deletes the remainder of the paragraph
d0 Deletes from the cursor position to the beginning of the line
db Deletes the previous word
dl Deletes a letter
7dl Deletes seven letters
dw Deletes a word
7dw Deletes four words (dw not only deletes the word, but also deletes the space after the word. To delete only to the end of a word, use de instead.)
Table 9: Screen Navigation Keystrokes in the vi Editor
Keystroke Result
Ctrl+F Move forward one screen
Ctrl+B Move backward one screen
Ctrl+D Move forward one-half screen
Ctrl+U Move backward one-half screen
Ctrl+E Scroll the screen up one line
Ctrl+Y Scroll the screen down one line
H Move to the top line of the screen
L Move to the last line of the screen
M Move to the middle line of the screen
Table 10: Keystroke to Copy Text in the vi Editor
Keystroke Result
Y$ Yanks from here to the end of the line
y) Yanks the remainder of the sentence
Y} Yanks the remainder of the paragraph
Y0 Yanks from here to the beginning of the line
yb Yanks the previous word or part of a word
yl Yanks a single letter
7yl Yanks the next seven letters
yw Yanks a single word
7yw Yanks the next seven words
yy Yanks an entire line
7yy Yanks seven lines
Y The same as y$
Table 11: Managing Packages and Configuring Linux Installation Parameters
Utility Default Purpose
bzip2/bunzip2 Compress/uncompress files
depmod Determine module dependencies
dmesg Print out the boot-up messages
dpkg Debian package manager
grub Linux boot loader
gzip Compress files
gunzip Uncompress files
halt, shutdown, reboot Interfaces to shutdown
init Change the runlevel
insmod Install a module
last View the most recent entries in the wtmp file
ldconfig Updates and maintains the cache of shared library data and symbols for the dynamic linker.
ldd List which shared libraries a program depends on
lilo Configure the Linux Loader
lsmod List the loaded modules
modinfo Print information about a module
modprobe Probe and install a module and its dependents
rmmod Remove a module
rpm Red Hat Package manager
runlevel Show the current runlevel of the system
tar Create and extract files known as tarballs
telinit Same as init
Table 12: Commands and Concepts for Managing Filesystems
Utility Default Purpose
chgrp Change an entity’s group association
chmod Change an entity’s permissions
df See the amount of free disk space
du See disk usage statistics
edquota Create quotas for users or groups
fdisk Partition the disk and work with the partition table
fsck Check the file system status
locate Find a file from the locatedb database
lspci Shows information about the PCI buses
mke2fs Create a Linux Extended-2 filesystem (ext2)
mkfs Create a filesystem
mkreiserfs Create a Reiser filesystem
mount Mount a filesystem
quotaoff Turn off user/group quotas
quotaon Turn on user/group quotas
repquota, quota, quotacheck, and quotastats View quota usage
SGID Set the group ID when running a file
Sticky bit SUID Change the operation of files and directories Set the user ID when running a file
umask A numerical variable subtracted from the default permissions when creating new files and directories
umount Unmount a filesystem
updatedb Update the locatedb database
whereis List all information about locations associated with a file
which Find a file from the path statement
Table 13: X Window System Utilities and Concepts
Utility Purpose
fvwm Popular virtual desktop window manager
kdm KDE display manager
mwm Motif Window Manager
startx shell script to start the X environment
X X server
Xconfigurator X configuration tool
Xdm X display Manager
XF65Setup X configuration tool
Xf86config X configuration tool
xinit Configure and start the X server
xinstall.sh X installation program
xload X client
xsetroot Manage the root window
xterm Terminal emulator
Table 14: Hardware and Architecture Utilities
Utility Purpose
chat program used to perform the chat script negotiation during a ppp session
date check and set the system date
lspci Lists all devices connected through the PCI bus
minicom terminal emulation program
pppd program to establish a PPP connection to a remote system
setserial check and set the serial port parameters
sndconfig configure a sound card
timeconfig configure the system timezones