Novell is now a part of Micro Focus

Find Your Way

Articles and Tips: article

Emmett Dulaney

01 Apr 2005


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).

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.

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

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.

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.

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)

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.

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

* Originally published in Novell Connection Magazine


Disclaimer

The origin of this information may be internal or external to Novell. While Novell makes all reasonable efforts to verify this information, Novell does not make explicit or implied claims to its validity.

© Copyright Micro Focus or one of its affiliates