ATTENTION: If you belong to the LaaS Cert program, the training does not include an exam.
Official LPI Linux Course: LPIC-1 - Preparation for exams 101 and 102 plus 1 free exam
LPIC-1 is the first certification in the Linux Professional Institute's (LPI) multi-level Linux professional certification program. LPIC-1 will validate a candidate's ability to perform command-line maintenance tasks, install and configure a Linux computer, and configure basic networking.
The LPIC-1 is designed to reflect current research and validate a candidate's real-world proficiency in Linux system administration. Objectives are tied to real-world job skills, which we determined through job task analysis during exam development.
Goals
This course covers the topics for preparing for exams 101 and 102 , which are required for the Linux LPI level 1 or LPIC-1 certification.
The main objectives are:
- Understand the architecture of a Linux system;
- Install and maintain a Linux workstation, including X11, and configure it as a network client;
- Working on the Linux command line, including common GNU and Unix commands;
- Manage files and access permissions, as well as system security;
- Perform simple maintenance tasks: assist users, add users to a larger system, perform backups and restores, shut down and reboot.
Contents for certification
To obtain the LPIC-1 certification, you must pass exams 101 and 102. The topics on each exam cover:
LPIC-1 exam 101:
- Topic 101 System Architecture
- Topic 102 Linux Installation and Package Management
- Topic 103 GNU and Unix Commands
- Topic 104 Devices, Linux file systems, standard file system hierarchy
LPIC-1 exam 102 :
- Topic 105 Shells and Shell Scripting
-
Topic 106 Interfaces and desktops
-
Topic 107 Administrative tasks
-
Topic 108 Essential system services
-
Topic 109 Network Fundamentals
-
Topic 110 Security
LPIC-1 101 Exam
Topic 101: System Architecture
101.1 Determine and configure hardware settings
Candidates should be able to determine and configure critical system hardware.
Key areas of knowledge:
-
Enable and disable integrated peripherals.
-
Differentiate between different types of mass storage devices.
-
Determine hardware resources for devices.
-
Tools and utilities for listing hardware information (e.g. lsusb, lspci, etc.).
-
Tools and utilities for manipulating USB devices.
-
Conceptual knowledge of sysfs, udev and dbus.
101.2 System Boot
Candidates should be able to guide the system through the startup process.
Key areas of knowledge:
- Provide common commands to the bootloader and options to the kernel at boot time.
- Demonstrate knowledge of the boot sequence from BIOS/UEFI to boot completion.
- Understanding SysVinit and systemd.
- Upstart Knowledge.
- Check boot events in log files.
101.3 Change runlevels/boot targets and shut down or reboot the system
Candidates should be able to manage the SysVinit runlevel or systemd boot target of the system. This objective includes switching to single-user mode, shutting down or rebooting the system. Candidates should be able to alert users before switching runlevels/boot targets and properly terminate processes. This objective also includes setting the default SysVinit runlevel or systemd boot target. It also includes knowledge of Upstart as an alternative to SysVinit or systemd.
Key areas of knowledge:
- Set the default runlevel or boot target.
- Switch between runlevels/boot targets, including single-user mode.
- Shutdown and reboot from the command line.
- Alert users before changing runlevel/boot target or other important system events.
- Terminate processes appropriately.
- Knowledge of acpid.
Topic 102: Linux Installation and Package Management
102.1 Hard disk partitioning scheme design
Candidates should be able to design a disk partitioning scheme for a Linux system.
Key areas of knowledge:
- Assign file systems and swap space to separate partitions or disks.
- Adapt the design to the intended use of the system.
- Ensure that the /boot partition meets the hardware architecture requirements for booting.
- Knowledge of the basic features of LVM.
102.2 Installing a bootloader
The candidate should be able to select, install and configure a bootloader.
Key areas of knowledge:
- Provide alternative bootloader locations as well as backup boot options.
- Install and configure a boot loader such as GRUB Legacy.
- Make basic configuration changes to GRUB 2.
- Interact with the bootloader.
102.3 Shared library management
The candidate should be able to determine which shared libraries executable programs depend on and install them when necessary.
Key areas of knowledge:
- Identify shared libraries.
- Identify typical locations of system libraries.
- Load shared libraries.
102.4 Debian Package Management
The candidate should be able to perform package management using Debian tools.
Key areas of knowledge:
- Install, upgrade and uninstall Debian binary packages.
- Find packages that contain specific files or libraries (whether installed or not).
- Get package information such as version, contents, dependencies, package integrity, and installation status (whether the package is installed or not).
- Knowledge of apt.
102.5 RPM and YUM package management
The candidate should be able to perform package management using RPM, YUM and Zypper tools.
Key areas of knowledge:
- Install, reinstall, upgrade and uninstall packages using RPM, YUM and Zypper.
- Get RPM package information such as version, status, dependencies, integrity, and signatures.
- Determine what files a package provides as well as find out which package a particular file came from.
- DNF knowledge.
102.6 Linux as a virtualized system
The candidate should understand the implications of virtualization and cloud computing on a virtualized Linux system.
Key areas of knowledge:
- Understand the general concept of virtual machine and container
- Understand common elements of a virtual machine in an IaaS cloud environment, such as compute instance, block storage, and networking
- Understand the unique properties of a Linux system that have to change when the system is cloned or used as a template
- Understand how system images are used to deploy virtual machines, cloud instances, and containers
- Understanding Linux extensions that enable integration with a virtualization product
- Knowledge of cloud-init
Topic 103: GNU and Unix commands
103.1 Working from the command line
The candidate must know how to use the command line to interact with the shell and its commands. Knowledge of the Bash shell is assumed.
Key areas of knowledge:
- Use individual shell commands and one-line scripts to perform basic tasks on the command line.
- Use and modify the shell environment, including defining, referencing, and exporting environment variables.
- Using and editing command history.
- Invoke commands inside and outside the defined route.
103.2 Process text sequences using filters
The candidate must know how to apply filters to text sequences.
Key areas of knowledge:
- Send text files and output streams through text utility filters to modify the output using standard UNIX commands included in the GNU textutils package.
103.3 Basic File Management
The candidate should be able to use basic Linux commands for file and directory management.
Key areas of knowledge:
- Copy, move and delete files and directories individually.
- Copy multiple files and directories recursively.
- Delete files and directories recursively.
- Use simple and advanced wildcard specifications in commands.
- Use find to locate and act on files based on their type, size, or timestamps.
- Using tar, cpio and dd.
103.4 Using text streams, pipes and redirects
The candidate should be able to redirect text streams and connect them together to process information efficiently. These tasks include: redirecting standard input, standard output, and standard error; using pipes to send the output of one command to the input of another; using the output of one command as an argument to another command; and sending the output of a command simultaneously to standard output and to a file.
Key areas of knowledge:
- Redirect standard input (stdin), standard output (stdout), and standard error (stderr).
- Use pipes to send the output of one command to the input of another.
- Use the output of a command as an argument to another command.
- Send the output of a command to stdout and to a file simultaneously.
103.5 Create, monitor and kill processes
The candidate must be able to perform basic process management.
Key areas of knowledge:
- Run foreground and background jobs.
- Send signals to programs to continue running after session close.
- Monitor active processes.
- Select and order processes for display.
- Send signals to processes.
103.6 Modify the execution priority of processes
The candidate must be able to manage process execution priorities.
Key areas of knowledge:
- Know the default priority with which a process is created.
- Run a program with a higher or lower priority than its default.
- Change the priority of a running process.
103.7 Perform searches in text files using regular expressions
The candidate should be able to manipulate files and text strings using regular expressions. The objective includes the creation of simple regular expressions containing various notational elements as well as the use of tools to perform regular expression searches within a file system or the contents of a file.
Key areas of knowledge:
- Create simple regular expressions containing multiple notation elements.
- Know how to differentiate between basic and extended regular expressions.
- Understand the concepts of special characters, character classes, quantifiers, and anchors.
- Use tools to perform regular expression searches within a file system or file contents.
- Use regular expressions to delete, modify, or replace text.
103.8 Basic File Editing
The candidate should be able to edit text files using vi. The objective includes navigation in vi, basic vi modes, as well as inserting, editing, deleting, copying and finding text using vi. Knowledge of other popular text editors and how to set the default editor is also included.
Key areas of knowledge:
- Navigate a document using vi.
- Understand and use vi modes.
- Insert, edit, delete, copy and find text using vi.
- Knowledge of Emacs, nano and vim.
- Configure the standard editor.
Topic 104: Devices, Linux file systems, and the file hierarchy standard
104.1 Creating partitions and file systems
The candidate should be able to configure disk partitions and then create file systems on media such as hard drives. Swap partition management is included.
Key areas of knowledge:
- Managing MBR and GPT partition tables
- Use various mkfs commands to create different file systems such as: ext2/ext3/ext4, XFS, VFAT, exFAT
- Basic knowledge of the Btrfs file system, including multi-device file systems, compression, and subvolumes.
104.2 Maintaining the integrity of file systems
The candidate should be able to maintain a standard file system as well as additional data associated with a journaling file system.
Key areas of knowledge:
- Verify the integrity of file systems.
- Monitor free space and inodes.
- Troubleshoot simple file system issues.
104.3 Control mounting and unmounting of file systems
The candidate should be able to configure mounting of a file system.
Key areas of knowledge:
- Mount and unmount filesystems manually.
- Configure filesystem mounting at boot.
- Configure user-mountable and removable file systems.
- Using tags and universally unique identifiers (UUIDs) for filesystem identification and mounting.
- Knowledge of systemd mount units.
104.4 Eliminated
104.5 Managing file owners and permissions
The candidate must be able to control access to files through appropriate use of permissions and owners.
Key areas of knowledge:
- Manage access permissions to regular and special files as well as directories.
- Use access modes such as suid, sgid and sticky bit to maintain security.
- Know how to change the file creation mask.
- Use the group field to grant file access to members of a group.
104.6 Creating and changing hard and symbolic links
The candidate should be able to create and manage hard and symbolic links of a file.
Key areas of knowledge:
- Create links.
- Identify hard and/or symbolic links.
- Copying versus linking files.
- Use links to make system administration tasks easier.
104.7 Finding system files and placing files in the correct location
The candidate should be thoroughly familiar with the Filesystem Hierarchy Standard (FHS), including typical file locations and directory classification.
Key areas of knowledge:
- Understand the correct file locations under FHS criteria.
- Finding files and commands on a Linux system.
- Know the location and purpose of important files and directories as defined by the FHS.
LPIC-1 Exam 102
Topic 105: Shells and scripts
105.1 Customizing and using the shell environment
The candidate should be able to customize the shell environment to suit user needs as well as modify global and user profiles.
Key areas of knowledge:
- Set environment variables (eg PATH) at login or when spawning a new shell.
- Write Bash functions for frequently used scripts.
- Maintain directory skeleton for new user accounts.
- Set the appropriate directory in the command search path.
105.2 Customizing and writing simple scripts
The candidate should be able to customize existing scripts or write new simple scripts in Bash.
Key areas of knowledge:
- Use standard sh syntax (loops, tests).
- Use command substitution.
- Correctly evaluate the return code of a command in case of success, failure, or any other information provided by the command output.
- Execute commands in a chain.
- Perform conditional mail sending to superuser.
- Correctly select the script interpreter using the initial line or shebang (#!).
- Manage the location, owners, execution, and suid permissions of scripts.
Topic 106: User interfaces and desktops
106.1 Install and configure X11
The candidate should be able to install and configure X11.
Key areas of knowledge:
Understanding X11 architecture.
Basic knowledge of the X Window configuration file.
Override specific aspects of the Xorg configuration, such as keyboard settings.
Understand the components of desktop environments, such as display managers or window managers.
Manage access to the X server and display applications on remote X servers.
Knowledge of Wayland.
106.2 Graphical desktops
The candidate must know the main desktops used with Linux, as well as the protocols used to access remote desktop sessions.
Key areas of knowledge:
- Know the main desktop environments.
- Know what protocols are used to access remote desktop sessions.
106.3 Accessibility
Demonstrate knowledge and awareness of accessibility technologies.
Key areas of knowledge:
- Basic knowledge of visual themes and configurations.
- Basic knowledge of assistive technology.
Topic 107: Administrative tasks
107.1 Manage user and group accounts and related system files
The candidate must be able to add, delete, suspend and modify user accounts.
Key areas of knowledge:
- Add, modify and delete groups and users.
- Manage user/group information in password/group databases.
- Create and manage limited and special purpose accounts.
107.2 Automate system administrative tasks by scheduling jobs
The candidate should be able to use cron and systemd timers to run jobs at regular intervals and at to run jobs at specific times.
Key areas of knowledge:
- Managing jobs with cron and at.
- Configure user access to cron and at services.
- Understanding systemd timing units.
107.3 Localization and internationalization
The candidate should be able to localize a system in a language other than English. It is also important for the candidate to know why LANG=C is useful when writing scripts.
Key areas of knowledge:
- Locale and environment variables.
- Setting the time zone and environment variables.
Topic 108: Essential system services
108.1 Maintain system time
The candidate must be able to correctly maintain system time and synchronize the clock via NTP.
Key areas of knowledge:
- Adjust the system date and time.
- Set the hardware clock to the correct time in UTC.
- Correct time zone setting.
- Basic NTP configuration using ntpd and chrony.
- Learn how to use the pool.ntp.org service.
- Know the ntpq command.
108.2 System logs
The candidate should be able to configure the rsyslog logging daemon. This objective also includes configuring the daemon to send log output to a central server or to act as a central server and receive it. Use of the systemd logging subsystem is also covered, and the candidate is expected to be familiar with rsyslog and syslog-ng as alternative logging systems.
Key areas of knowledge:
- Basic rsyslog configuration.
- Know the subsystems, priorities and standard actions.
- Query the systemd journal.
- Filter systemd log data by criteria such as date, service, or priority.
- Configure systemd's persistent journal storage and size.
- Clear old systemd journal data.
- Recover systemd journal data from a rescue system or filesystem backup.
- Understand the interaction of rsyslog with systemd-journald.
- Lograta configuration.
- Know syslog and syslog-ng.
108.3 Mail Transfer Agent Basics
The candidate should be familiar with the most common Mail Transfer Agent (MTA) programs and be able to perform basic forwarding and alias configurations on a client machine. Other configuration files are not included.
Key areas of knowledge:
- Create email aliases.
- Set up email forwarding.
- Learn the most common MTA programs (postfix, sendmail, qmail, exim) – not including their configuration.
108.4 Printing and printer management
The candidate should know how to manage print queues and user print jobs using CUPS and the LPD compatibility interface.
Key areas of knowledge:
- Basic CUPS configuration (for local and remote printers).
- Managing user print queues.
- Troubleshooting printing issues.
- Add and delete jobs in configured print queues.
Topic 109: Network fundamentals
109.1 Internet Protocol Fundamentals
The candidate must demonstrate knowledge of TCP/IP network fundamentals.
Key areas of knowledge:
- Demonstrate knowledge of network masks and CIDR notation.
- Know the difference between private and public IP addresses using dotted decimal notation.
- Know common TCP and UDP ports and services (20, 21, 22, 23, 25, 53, 80, 110, 123, 139, 143, 161, 162, 389, 443, 465, 514, 636, 993, 995).
- Know the differences and main characteristics of the UDP, TCP and ICMP protocols.
- Know the main differences between IPv4 and IPv6.
- Know the basic characteristics of IPv6.
109.2 Persistent Network Configuration
The candidate should be able to manage persistent network configuration of a Linux server.
Key areas of knowledge:
- Understand basic TCP/IP server configuration.
- Configure ethernet and wi-fi networks using NetworkManager.
- Knowledge of systemd-networkd.
109.3 Basic Network Troubleshooting
The candidate must be able to troubleshoot network issues on client computers.
Key areas of knowledge:
- Configure network interfaces manually, including viewing and modifying them using iproute2.
- Configure routing tables manually, including viewing and modifying them as well as configuring the default route using iproute2.
- Debugging issues related to network configuration.
- Knowledge of legacy net-tools commands.
109.4 Client-Side DNS Configuration
Key areas of knowledge:
- Query remote DNS servers.
- Configure local name resolution and use remote DNS servers.
- Modify the order in which name resolution is performed.
- Debug errors related to name resolution.
- Knowledge of systemd-resolved
Topic 110: Security
110.1 Security Administration Tasks
The candidate must be able to review system configuration to ensure its security in accordance with local security policies.
Key areas of knowledge:
- Audit a system to find files with the suid/sgid bit set.
- Set or change user passwords and password expiration information.
- Know how to use nmap and netstat to discover open ports on a system.
- Set limits on user logins, processes, and memory usage.
- Determine which users are logged into the system or are currently connected.
- Basic sudo setup and usage.
110.2 Configuring system security
The candidate should be able to configure a basic level of security on the system.
Key areas of knowledge:
- Learn about shadow passwords and how they work.
- Disable network services that are not in use.
- Understand the role of TCP wrappers.
110.3 Data protection through encryption
The candidate must be able to use public key techniques to protect data and communications.
Key areas of knowledge:
- Basic configuration and usage of the OpenSSH 2 client.
- Understand the role of OpenSSH 2 server keys.
- Basic configuration and use of GnuPG, including key revocation.
- Using GPG to encrypt, decrypt, sign, and verify files.
- Understand port forwarding over SSH tunnels (including X11 tunnels).
Language
The e-Learning components on which training is provided are in English and Spanish .
Exam languages available at VUE test centers: English, Japanese
Exam languages available online through OnVUE: English, Japanese
Requirements
There are no prerequisites for this certification.
There are no prerequisites for completing the training, although knowledge of Operating Systems and basic knowledge of any of them is desirable.