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 |
Configure client-side DNS | 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 |
---|---|
Perform security administration tasks | 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 |