Learn Linux, 101: A roadmap for LPIC-1

About this series

This series of tutorials helps you learn Linux system administration tasks. The topics mirror those of the Linux Professional Institute’s LPIC-1: System Administrator Certification exams. You can use the tutorials to prepare for certification, or you can use them to learn about Linux.

There are two exams for LPIC-1 certification: Exam 101 and Exam 102, and you must pass both to attain LPIC-1 certification. Each exam has several topics, and each topic has several objectives. This series of tutorials covers one objective per tutorial.

This roadmap corresponds to version 5.0 (October 29, 2018) of the objectives of the LPIC-1 exams for LPIC-1 exam 101 and LPIC-1 exam 102. We are updating tutorials that were previously published at version 4.0 (April 15th, 2015) objectives. Such tutorials are identified as version 4 in the following table. You can check the LPI objectives to identify version 5 objectives that may not be covered in the older tutorials.

As tutorials are updated or completed, they will be added to this roadmap.

Exam 101

The tutorials for the LPIC-1 exam 101 are described in this section.

Exam 101 – Topic 101: System architecture

Tutorial name LPI exam objective summary
Determine and configure hardware settings
Version 4
101.1 Determine and configure hardware settings
Determine and configure fundamental system hardware. This task covers integrated and external peripherals, hardware resources for devices and different kinds of mass storage devices, and tools and utilities to manage USB devices. Conceptual understanding of sysfs, udev, and dbus is also covered.
Weight 2
Boot the system
Version 4
101.2 Boot the system
Guide the system through the booting process. Tasks include giving common boot loader commands and kernel options at boot time, knowing the boot sequence from BIOS/UEFI to boot completion, understanding the traditional SysVinit initialization, and systemd with awareness of upstart, and checking boot events in the log files.
Weight 3
Runlevels, boot targets, shutdown, and reboot
Version 4
101.3 Change runlevels / boot targets and shutdown or reboot system
Manage the SysVinit runlevel or systemd boot target of the system, including setting the default SysVinit runlevel or systemd boot target. Tasks include changing to single-user mode, shutting down or rebooting the system, setting the default runlevel, switching between runlevels, alerting users, and properly terminating processes. Awareness of Upstart as an alternative to SysVinit or systemd is also covered.
Weight 3

Exam 101 – Topic 102: Linux installation and package management

Tutorial name LPI exam objective summary
Hard disk layout
Version 4
102.1 Design hard disk layout
Design a disk partitioning scheme for a Linux system. Tasks include allocating file systems and swap space to separate partitions or disks, tailoring the design to the intended use of the system, and ensuring that the boot partition is acceptable for the hardware architecture.
Weight 2
Install a boot manager 102.2 Install a boot manager
Select, install, and configure a boot manager. Tasks include providing alternative boot locations and backup boot options, installing and configuring a boot loader such as GRUB or GRUB 2, and interacting with the boot loader.
Weight 2
Manage shared libraries 102.3 Manage shared libraries
Determine the shared libraries that executable programs depend on, and install them when necessary. Tasks include identifying shared libraries, knowing the typical locations of system libraries, and loading shared libraries.
Weight 1
Debian package management
Version 4
102.4 Use Debian package management
Perform package management using the Debian package tools. Tasks include installing, upgrading, and removing Debian binary packages, finding packages containing specific files or libraries, and obtaining package information such as version, content, dependencies, package integrity, and installation status. Be aware of apt.
Weight 3
RPM and YUM package management
Version 4
102.5 Use RPM and YUM package management
Perform package management using RPM and YUM tools. Tasks include installing, reinstalling, upgrading, and removing packages using RPM, YUM, and Zypper; obtaining information on RPM packages such as version, status, dependencies, integrity, and signatures; and determining what files a package provides, and finding which package a specific file comes from. Be aware of dnf.
Weight 3
Coming soon 102.6 Linux as a virtualization guest
Understand the implications of virtualization and cloud computing on a Linux guest system. Understand the general concept of virtual machines and containers. Understand common elements of virtual machines in an IaaS cloud, such as computing instances, block storage, and networking. Understand unique properties of a Linux system which have to be changed when a system is cloned or used as a template. Understand how system images are used to deploy virtual machines, cloud instances, and containers. Understand Linux extensions which integrate Linux with a virtualization product. Be aware of cloud-init.

Exam 101 – Topic 103: GNU and UNIX commands

Tutorial name LPI exam objective summary
The Linux command line
Version 4
103.1 Work on the command line
Interact with shells and commands using the command line. This task includes typing valid commands and command sequences; defining, referencing and exporting environment variables; using command history and editing facilities; invoking commands in the path and outside the path; and using man pages to find out about commands.
Weight 4
Text streams and filters
Version 4
103.2 Process text streams using filters
Apply filters to text streams. This task includes sending text files and output streams through text utility filters to modify the output, using standard UNIX commands found in the GNU textutils package.
Weight 2
File and directory management
Version 4
103.3 Perform basic file and directory management
Use the basic UNIX commands to copy, move, and remove files and directories. Tasks include advanced file management operations such as copying multiple files recursively, removing directories recursively, using wildcard patterns, finding files and acting on them based on type size or time, and using tar, cpio, and dd commands.
Weight 4
Streams, pipes, and redirects 103.4 Use streams, pipes, and redirects
Redirect streams and connect them to efficiently process textual data. Tasks include redirecting standard input, standard output, and standard error; piping the output of one command to the input of another command; using the output of one command as arguments to another command; and sending output to both stdout and a file.
Weight 4
Create, monitor, and kill processes
Version 4
103.5 Create, monitor, and kill processes
Manage processes. This task includes knowing how to run jobs in the foreground and background, bringing a job from the background to the foreground and from the foreground to the background, starting a process that will run without being connected to a terminal, and signaling a program to continue running after logout. Tasks also include monitoring active processes, selecting and sorting processes for display, sending signals to processes, and killing processes.
Weight 4
Process execution priorities 103.6 Modify process execution priorities
Manage process execution priorities. Tasks include determining the default priority of jobs, running a program with higher or lower priority, determining the priority of a process, and changing the priority of a running process.
Weight 2
Search text files using regular expressions
Version 4
103.7 Search text files using regular expressions
Manipulate files and text data using regular expressions. Tasks include creating simple regular expressions that contain several notational elements, as well as understanding the differences between basic and extended regular expressions. Use regular expression tools to perform searches through a file system or file content.
Weight 3
File editing
Version 4
103.8 Basic file editing
Edit text files. Tasks include vi navigation; understanding basic vi nodes; and inserting, editing, deleting, copying, and finding text. Be aware of other common editors such as Emacs, nano and vim, and set the default editor.
Weight 3

Exam 101 – Topic 104: Devices, Linux filesystems, Filesystem Hierarchy Standard

Tutorial name LPI exam objective summary
Create partitions and filesystems
Version 4
104.1 Create partitions and filesystems
Configure disk partitions and create filesystems or swap space on media such as hard disks,. Manage MBR and GPT partition tables. Create ext2/ext3/ext4, XFS, VFAT, and exFAT filesystems. Understand the basic features of Btrfs, including multi-device filesystems, compression, and subvolumes.
Weight 2
Maintain the integrity of filesystems
Version 4
104.2 Maintain the integrity of filesystems
Maintain a standard filesystem or journaling filesystem. Tasks include verifying the integrity of filesystems, monitoring free space and inodes, and repairing simple filesystem problems.
Weight 2
Control mounting and unmounting of filesystems
Version 4
104.3 Control mounting and unmounting of filesystems
Configure the mounting of a filesystem. Tasks include manually mounting and unmounting filesystems, configuring filesystem mounting on bootup, and configuring user-mountable removable filesystems. Use labels and UUIDs for identifying and mounting filesystems and understand systemd mount units.
Weight 3
Manage disk quotas
Obsolete in version 5
104.4 Manage disk quotas
Manage disk quotas for users. Tasks include setting up a disk quota for a filesystem and editing, checking, and generating user quota reports.
Weight 1
Manage file permissions and ownership 104.5 Manage file permissions and ownership
Control file access through the proper use of permissions and ownerships. Tasks include managing access permissions on regular and special files as well as directories; using access modes such as suid, sgid, and the sticky bit to maintain security; learning how to change the file creation mask; and using the group field to grant file access to group members.
Weight 3
Create and change hard and symbolic links 104.6 Create and change hard and symbolic links
Create and manage hard and symbolic links to a file. Tasks include creating links, identifying hard and/or soft links, understanding the difference between copying and linking files, and using links to support system administration tasks.
Weight 2
Find and place system files 104.7 Find system files and place files in the correct location
Understand the Filesystem Hierarchy Standard (FHS), including typical file locations and directory classifications. Tasks include understanding the correct locations of files under the FHS, finding files and commands on a Linux system, and learning the location and purpose of important file and directories as defined in the FHS.
Weight 2

Exam 102

The tutorials for the LPIC-1 Exam 102 are described in this section.

Exam 102 – Topic 105: Shells and shell scripting

Tutorial name LPI exam objective summary
Customize and use the shell environment
Version 4
105.1 Customize and use the shell environment
Meet your user needs. Tasks include customizing shell environments to meet user needs; modifying global and user profiles; setting environment variables, such as PATH, at login or when spawning a new shell; writing Bash functions for frequently used sequences of commands; maintaining skeleton directories for new user accounts; and setting command search paths with the proper directories.
Weight 4
Customize or write simple scripts
Version 4
105.2 Customize or write simple scripts
Customize existing Bash scripts, or write simple new ones. Tasks include using standard shell loop and test syntax; using command substitution; testing return values for success or failure; running chained commands; conditionally mailing the superuser, selecting the correct script interpreter through the shebang (#!) line; and managing the location, ownership, execution, and suid-rights of scripts.
Weight 4
Use basic SQL commands
Obsolete in version 5
105.3 SQL data management
Query databases and manipulate data using basic SQL commands, including joins or subselects. Tasks include using basic SQL commands and performing basic data manipulation.
Weight 2

Exam 102 – Topic 106: User interfaces and desktops

Tutorial name LPI exam objective summary
Install and configure X11 106.1 Install and configure X11
IInstall and configure X11 and understand the X11 architecture. Understand the X Window configuration file. and be able to overwrite specific aspects of Xorg configuration, such as keyboard layout. Understand the components of desktop environments, such as display managers and window managers. Manage access to the X server and display applications on remote X servers. Have awareness of Wayland.
Weight 2
Graphical desktops 106.2 Graphical desktops
Demonstrate knowledge of the GNOME, KDE, and Xfce desktop environments. Describe common protocols used to access remote desktop sessions including X11, XDMCP, VNC, SPICE, and RDP.
Weight 1
Accessibility 106.3 Accessibility
Demonstrate knowledge and awareness of accessibility technologies. Tasks include understanding visual settings and themes, and assistive technologies (ATs) including voice recognition.
Weight 1

Exam 102 – Topic 107: Administrative tasks

Tutorial name LPI exam objective summary
Manage user and group accounts and related system files 107.1 Manage user and group accounts and related system files
Add, remove, suspend, and change user accounts. Tasks include adding, modifying, and removing users and groups; managing user and group information in password and group databases; and creating and managing special-purpose and limited accounts.
Weight 5
Automate system administration tasks by scheduling jobs
Version 4
107.2 Automate system administration tasks by scheduling jobs
Use and manage cron and systemd timers to run jobs at regular intervals and to use at to run jobs at a specific time. Configure user access to cron and at services and understand systemd timer units.
Weight 4
Localization and internationalization 107.3 Localisation and internationalisation
Localize a system in a language other than English and understand why LANG=C is useful when scripting. Tasks include understanding and configuring locale and timezone settings and their associated environment variables.
Weight 3

Exam 102 – Topic 108: Essential system services

Tutorial name LPI exam objective summary
Maintain system time
Version 4
108.1 Maintain system time
Maintain the system time and synchronize the clock using NTP. Tasks include setting the system date and time, setting the hardware clock to the correct time in UTC, configuring the timezone, configuring NTP, using ntpd and chrony, and understanding the pool.ntp.org service. Be aware of the ntpq command.
Weight 3
System logging
Version 4
108.2 System logging
Configure rsyslog. Configure the logging daemon to send log output to a central log server or accept log output as a central log server. Use of the systemd journal subsystem. Be aware of syslog and syslog-ng as alternative logging systems. Tasks include understanding the rsyslog configuration, standard facilities, priorities, and actions, querying the systemd journal and filtering systemd journal data by criteria such as date, service, or priorit, configuring persistent systemd journal storage and journal size, deleting old systemd journal data, and retrieving systemd journal data from a rescue system or file system copy, and configuring logrotate.
Weight 4
Mail transfer agent (MTA) basics
Version 4
108.3 Mail Transfer Agent (MTA) basics
Become familiar with commonly available MTA programs and perform basic forward and alias configuration on a client host. Tasks include creating email aliases, configuring email forwarding, and learning about commonly available MTA programs such as postfix, sendmail, and exim.
Weight 3
Manage printers and printing 108.4 Manage printers and printing
Manage print queues and user print jobs using CUPS and the LPD compatibility interface. Tasks include configuring CUPS for local and remote printers, managing user print queues, troubleshooting general printing problems, and adding and removing jobs from configured printer queues.
Weight 2

Exam 102 – Topic 109: Networking fundamentals

Tutorial name LPI exam objective summary
Fundamentals of internet protocols 109.1 Fundamentals of internet protocols
Understand TCP/IP network fundamentals. Tasks include learning about network masks; knowing the differences between private and public dotted decimal IP addresses; setting a default route; understanding common TCP and UDP ports (20, 21, 22, 23, 25, 53, 80, 110, 119, 139, 143, 161, 443, 465, 993, and 995); understanding the differences and major features of UDP, TCP, and ICMP; and knowing the major differences between IPv4 and IPv6. <understand tcp ip network fundamentals. tasks include learning about masks and cidr notation; knowing the differences between private public dotted decimal addresses; understanding common udp ports (20, 21, 22, 23, 25, 53, 80, 110, 123, 139, 143, 161, 162, 389, 443, 465, 514, 636, 993, 995); major features of udp, tcp, icmp; ipv4 ipv6.
Weight 4
Persistent network configuration 109.2 Persistent network configuration
Manage the persistent network configuration of a Linux host. Understand the basic TCP/IP host configuration and configure Ethernet and wifi networks using Network Manager. Be aware of systemd-networkd.
Weight 4
Basic network troubleshooting 109.3 Basic network troubleshooting
Troubleshoot networking issues on client hosts. Tasks include manually configuring network interfaces; including, viewing, and changing the configuration of network interfaces using iproute2; manually viewing and changing routing tables, setting the default route using iproute2; and debugging problems associated with the network configuration. Be aware of legacy net-tools commands.
Weight 4
Coming soon 109.4 Configure client side DNS
Configure DNS on a client host. Tasks include querying remote DNS servers, configuring local name resolution, using remote DNS servers, modifying the order in which name resolution is done, and debugging errors related to name resolution. Be aware of systemd-resolved.
Weight 2

Exam 102 – Topic 110: Security

Tutorial name LPI exam objective summary
Coming soon 110.1 Perform security administration tasks
Review system configuration to ensure host security in accordance with local security policies. Tasks include auditing a system to find files with the suid/sgid bit set; setting or changing user passwords and password aging information; using nmap and netstat to discover open ports on a system; setting limits on user logins, processes, and memory usage; determining the users who have logged in to the system or have currently logged in, and performing basic sudo configuration and usage.
Weight 3
Coming soon 110.2 Setup host security
Set up a basic level of host security. Tasks include learning about shadow passwords and how they work, stopping network services not in use, and understanding the role of TCP wrappers.
Weight 3
Coming soon 110.3 Securing data with encryption
Use public key techniques to secure data and communication. Tasks include configuring and using OpenSSH 2 clients; learning the role of OpenSSH 2 server host keys; configuring and using GnuPG to encrypt, decrypt, sign, and verify files; and learning about SSH port tunnels, including X11 tunnels.
Weight 3