# LPI Linux Certification/Junior Level Linux Professional

Welcome! If you are here, then you are considering or have decided to take the Junior Level Linux Professional Exam. This page and its accompanying discussion page are specifically for you, and will explain your overall objectives for each exam (there are two exams you must complete before being certified). It is a good idea to come back here and perform a sanity check on your understanding against the overall objectives presented here. All that remains is for the authors and contributors of this book to wish you good luck.
Please note DO NOT contribute actual exam questions you may have been presented with in the past ANYWHERE in this book.

## LPI 101 Exam Objectives

Each objective is assigned a weighting value. The weights range roughly from 1 to 10 and indicate the relative importance of each objective. Objectives with higher weights will be covered in the exam with more questions.

## LPI 101 Exam Table of Contents
### Topic 101: System Architecture

* 101.1 Determine And Configure Hardware Settings
* 101.2 Boot the System
* 101.3 Change Runlevels And Shutdown Or Reboot System

### Topic 102: Linux Installation and Package Management

* 102.1 Design Hard Disk Layout
* 102.2 Install A Boot Manager
* 102.3 Manage Shared Libraries
* 102.4 Use Debian Package Management
* 102.5 Use RPM and YUM package management

### Topic 103: GNU and Unix Commands

* 103.1 Work On The Command Line
* 103.2 Process Text Streams Using Filters
* 103.3 Perform Basic File Management
* 103.4 Use Streams, Pipes And Redirects
* 103.5 Create, Monitor And Kill Processes
* 103.6 Modify Process Execution Priorities
* 103.7 Search Text Files Using Regular Expressions
* 103.8 Perform Basic File Editing Operations Using Vi

### Topic 104: Devices, Linux Filesystems, Filesystem Hierarchy Standard

* 104.1 Create Partitions And Filesystems
* 104.2 Maintaining The Integrity Of Filesystems
* 104.3 Control Mounting And Unmounting Of Filesystems
* 104.4 Managing Disk Quota
* 104.5 Manage File Permissions And Ownership
* 104.6 Create And Change Hard And Symbolic Links
* 104.7 Find System Files And Place Files In The Correct Location

## LPI 102 Exam Objectives

Each objective is assigned a weighting value. The weights range roughly from 1 to 10 and indicate the relative importance of each objective. Objectives with higher weights will be covered in the exam with more questions.

## LPI 102 Table of Contents
### Topic 105: Shells, Scripting and Data Management

* 105.1 Customize And Use The Shell Environment
* 105.2 Customize Or Write Simple Scripts
* 105.3 SQL Data Management

### Topic 106: User Interfaces and Desktops

* 106.1 Install And Configure X11
* 106.2 Setup A Display Manager
* 106.3 Accessibility

### Topic 107: Administrative Tasks

* 107.1 Manage User And Group Accounts And Related System Files
* 107.2 Automate System Administration Tasks By Scheduling Jobs
* 107.3 Localisation And Internationalisation

### Topic 108: Essential System Services

* 108.1 Maintain System Time
* 108.2 System Logging
* 108.3 Mail Transfer Agent (MTA) Basics
* 108.4 Manage Printers And Printing

### Topic 109: Networking Fundamentals

* 109.1 Fundamentals Of Internet Protocols
* 109.2 Basic Network Configuration
* 109.3 Basic Network Troubleshooting
* 109.4 Configure Client Side DNS

### Topic 110: Security

* 110.1 Perform Security Administration Tasks
* 110.2 Setup Host Security
* 110.3 Securing Data With Encryption

## Sections below are refer to old exam version and are being made obsolete

See page discussion for more details.

## LPI 101 Exam Objectives

* Hardware & Architecture
** Candidates should have a clear understanding of the concept of a BIOS and what role it performs, from the initial computer power-on to the services it provides to the Linux kernel. Furthermore, candidates should be able to identify all the options presented to them in a standard BIOS interface and further be able to gather basic information about the system from the BIOS (Menu navigation). Candidates should also be able to navigate a BIOS and make changes that will enable or disable peripherals, and compare the information provided to them from the BIOS with the information provided from the kernel. Candidates should also be able to determine compatible modems, configure those modems for outbound dial up and set specific port speeds from the command line. Candidates should have an understanding of the term SCSI (Small Computer System Interface) and how SCSI devices work (this includes the terms termination & SCSI ID). Candidates should also have an understanding of the terms Coldplug and Hotplug and be able to determine via BIOS and kernel methods the resources used for any given device that is attached. Candidates should be able to identify a Sound Card, and be able to determine if the kernel recognizes the sound card, as well as determine if the device has an issue/conflict pertaining to IRQ, DMA, or I/O. Candidates should also be able to understand USB devices and demonstrate a knowledge of the USB layer architecture.
* Linux Installation & Package Management
** Candidates should be able to design a disk layout that takes into account your system requirements and its purpose. Candidates should also be able to setup various boot locations such as a floppy or cdrom, install a bootloader and interact with that bootloader. Further, the candidate should be able to install, remove and query programs from both the RPM and DPKG commands. Using both RPM and DPKG distributions, candidates should be able to obtain package versions, installed package content, installation status and find any files or libraries that may or may not be installed on the system. Candidates should also be able to install programs from source via the make program, which generally includes the use of the tar, gzip, and bz2 compression utilities. Finally candidates should be able to identify shared libraries, load them and identify where the shared libraries should be located.
* GNU & Unix Commands
** Candidates should be able to understand the shell environment and how to change its behavior by modifying the .profile file, which is located in home directories. Candidates should also be able to send text files and output streams through utility filters to modify the output. Candidates will be expected to know how to move, copy, delete, find, create files and directories, and use recursion to delete and create both files and directories. Candidates should understand the use of redirects, pipes and sending your output to stdout (Standard Output) and to a file. Candidates should be able to list, create and kill processes as well as understand the "&" option and what it does. The candidate should also be able to monitor processes in real time, and be able to modify the priority of any given process. Candidates should be able to create simple regular expressions and use regular expression tools to search through filesystems or file content. Lastly, candidates should know the basic commands for vi.
* Devices, Linux Filesystems, Filesystem Hierarchy Standard
** Candidates should be able to set-up partitions and create filesystems, namely ext2, ext3, reiserfs, vfat and xfs. Candidates will know the tools that help maintain those filesystems and keep them in good working order, and use those tools to perform simple filesystem repairs. Candidates will be able to mount and unmount filesystems manually and configure the system to mount them automatically during the boot process. Candidates will be able to implement a disk quota solution for your users. The candidate will understand file permissions and what tools to use to modify those permissions, as well as the concept of file ownership and how to modify file ownership attributes. The candidate will be introduced to both hard & symbolic linking, why it is used, and the usage of the ln command. Finally the candidate will understand the FHS standard and be able to determine where files should be located in FHS-based distributions.
* The X Window System
** Candidates should be able to install and configure an X Server, install fonts and configure an X font server, and determine if your hardware is suitable for an X server. Candidates will be introduced to the display managers gdm kdm and xdm, and will be able to configure any of these three display managers. Candidates will then be introduced to the Window Manager Environment and GUI. Lastly the candidate will be introduced to the usage of the DISPLAY environment variable, as well as the various files used for customization.

## LPI 101 Table of Contents
#### Hardware & Architecture

* Configure Fundamental BIOS Settings
* Configure Modem & Sound Cards
* Setup Non IDE Devices
* Setup Different PC Expansion Cards
* Configure Communication Devices
* Configure USB Devices

#### Linux Installation & Package Management

* Design Hard Disk Layout
* Install A Boot Manager
* Make & Install Programs From Source
* Manage Shared Libraries
* Use Debian Package Management
* Use RPM and YUM package management

#### GNU & Unix Commands

* Work On The Command Line
* Process Text Streams Using Filters
* Perform Basic File Management
* Use Streams, Pipes & Redirects
* Create, Monitor & Kill Processes
* Modify Process Execution Priorities
* Search Text Files Using Regular Expressions
* Perform Basic File Editing Operations Using Vi

#### Devices, Linux Filesystems, Filesystem Hierarchy Standard

* Create Partitions & Filesystems
* Maintaining The Integrity Of Filesystems
* Control Mounting & Unmounting Filesystems
* Managing Disk Quota
* Use File Permissions To Control Access To Files
* Manage File Ownership
* Create & Change Hard & Symbolic Links
* Find System Files & Place Files In The Correct Location

#### The X Window System

* Install & Configure X11
* Setup A Display Manager
* Install & Customise A Window Manager Environment

## LPI 102 Exam Objectives

The LPI 102 exam tests basic capabilities in the following areas:
* Kernel
** Candidates should be able to build, install, configure, manage and query a Linux kernel. This includes using the command line to get information about the running kernel as well as any kernel modules. The candidate should also be able to understand how to manually load and unload modules and to further understand when those commands are safe to perform. The candidate should be able to determine what parameters you can pass to any given module and how to load those modules with a name other than the file name that represents the module. The candidate should understand at a basic level the difference between monolithic and modular kernels with regards kernel module management.
* Boot, Initialization, Shutdown & Runlevels
** Candidates should be able to boot the system level by level, This starts with passing commands to the bootloader that will define kernel location and pass parameters to the kernel in order to solve problems with the boot process. The candidate will know how to locate and gather information from log files pertaining to the boot process. The candidate will understand the runlevel process and be able to set the default runlevel, as well as shutdown and restart the system from the command prompt this will include being able to terminate individual processes. The candidate will understand how to alert connected users that a major event is about to occur.
* Candidates should be able to install/configure printers, print files, and manage printers both local and remote.
* Candidates should be able to find and use man pages, internet documentation.
* Candidates should be able to customize the shell environment, write and administrate simple shell scripts.
* Candidates should be able to Administrate users, groups, basic security, implement backups, and the use of cron.
* Candidates should be able to understand/configure/troubleshoot the TCP/IP stack, as well as configure a PPP client.
* Candidates should be able to manage NFS and Samba daemons, administrate MTA's and the Apache webserver, configure DNS and SSH.
* Candidates should be able to implement user level security, basic host security, and perform basic security administration tasks.

## LPI 102 Table of Contents
#### Kernel

* Kernel Runtime Management & Query
* Reconfigure, Build & Install A Custom Kernel & Kernel Modules

#### Boot, Initialization, Shutdown & Runlevels

* Boot The System
* Change Runlevels & Shutdown Or Reboot System

#### Printing

* Manage Printers & Print Queues
* Print Files
* Install & Configure Local & Remote Printers

#### Documentation

* Use & Manage Local System Documentation
* Find Linux Documentation On The Internet
* Notify Users On System-Related Issues

#### Shells, Scripting, Programming, & Compiling

* Customise & Use The Shell Environment
* Customise Or Write Simple Shell Scripts

#### Administrative Tasks

* Manage Users & Group Accounts & Related System Files
* Tune The User Environment & System Environment Variables
* Configure & Use System Log Files To Meet Administrative & Security Needs
* Automate System Administrative Tasks By Scheduling Jobs To Run In The Future
* Maintain An Effective Data Backup Strategy
* Maintain System Time 0.00

#### Networking Fundamentals

* Fundamentals Of TCP/IP
* TCP/IP Configuration & Troubleshooting
* Configure Linux As A PPP Client

#### Networking Services

* Configure & Manage xinetd, inetd & Related Services
* Operate & Perform Basic Configuration Of Mail Transfer Agent (MTA)
* Operate & Perform Basic Configuration Of Apache
* Properly Manage The NFS & SAMBA Daemons
* Setup & Configure Basic DNS Services
* Setup Secure Shell (OpenSSH)

#### Security

* Perform Security Administration Tasks
* Setup Host Security
* Setup User Level Security

## External links

* A good guide to LPI 101 - PDF
* A good guide to LPI 102 - PDF
* The Linux Tutorial