Preview
Open Original
LPIC 1 exam certification notes
| Mattia 0b6f723baa Merge pull request ‘Refactoring 105,106,107,108,109,110’ (#43) from 102 into master
Reviewed-on: #43
``` | 2026-01-21 22:25:38 \+01:00 | |
| ----------------------------------------------------------------------------------------------...
LPIC 1 exam certification notes
| Mattia 0b6f723baa Merge pull request ‘Refactoring 105,106,107,108,109,110’ (#43) from 102 into master
Reviewed-on: #43
``` | 2026-01-21 22:25:38 \+01:00 | |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------- | - |
| [101 ](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/101 "101") | [Integrations](https://codeberg.org/Glareascum/lpic1_notes/commit/35732a9c23b40c2de57227a9a3969a78ed3beeaf) | 2025-04-12 19:33:08 \+02:00 |
| [102 ](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/102 "102") | [106\.2](https://codeberg.org/Glareascum/lpic1_notes/commit/9d7dc1cbec9bb080c08b7128845a5487ab2c13cc) | 2025-08-12 15:53:06 \+02:00 |
| [103 ](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/103 "103") | [Integrations](https://codeberg.org/Glareascum/lpic1_notes/commit/35732a9c23b40c2de57227a9a3969a78ed3beeaf) | 2025-04-12 19:33:08 \+02:00 |
| [104 ](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/104 "104") | [Typos](https://codeberg.org/Glareascum/lpic1_notes/commit/f858dada01382933467877a9d01d5426d2fe61e9) | 2025-05-28 00:21:16 \+02:00 |
| [105 ](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/105 "105") | [Refactoring](https://codeberg.org/Glareascum/lpic1_notes/commit/61c4c42be8d8e1dbc34c50841f490ecaf1736354) | 2026-01-21 22:24:04 \+01:00 |
| [106 ](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/106 "106") | [Refactoring](https://codeberg.org/Glareascum/lpic1_notes/commit/61c4c42be8d8e1dbc34c50841f490ecaf1736354) | 2026-01-21 22:24:04 \+01:00 |
| [107 ](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/107 "107") | [Refactoring](https://codeberg.org/Glareascum/lpic1_notes/commit/61c4c42be8d8e1dbc34c50841f490ecaf1736354) | 2026-01-21 22:24:04 \+01:00 |
| [108 ](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/108 "108") | [Refactoring](https://codeberg.org/Glareascum/lpic1_notes/commit/61c4c42be8d8e1dbc34c50841f490ecaf1736354) | 2026-01-21 22:24:04 \+01:00 |
| [109 ](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/109 "109") | [Refactoring](https://codeberg.org/Glareascum/lpic1_notes/commit/61c4c42be8d8e1dbc34c50841f490ecaf1736354) | 2026-01-21 22:24:04 \+01:00 |
| [110 ](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/110 "110") | [Refactoring](https://codeberg.org/Glareascum/lpic1_notes/commit/61c4c42be8d8e1dbc34c50841f490ecaf1736354) | 2026-01-21 22:24:04 \+01:00 |
| [\.gitignore](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/.gitignore "\.gitignore") | [102\.1 revision](https://codeberg.org/Glareascum/lpic1_notes/commit/d08c153ae311565793401e66e77a4a97b65ab074) | 2025-01-04 23:53:08 \+01:00 |
| [README\.md](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/README.md "README\.md") | [Refactoring](https://codeberg.org/Glareascum/lpic1_notes/commit/61c4c42be8d8e1dbc34c50841f490ecaf1736354) | 2026-01-21 22:24:04 \+01:00 |
## 📚 LPIC-1 NOTES
Notes for the LPIC-1 certification\. Based on the original path of [lpi\.org](https://lpi.org)\. These notes are intended as a reference companion to your study, providing quick access to key concepts and commands\. For comprehensive understanding, it is recommended to first study the topics in a complete textbook\.
Current exam version is **500**\.
These notes are taken while studying the official LPI book, and enhanced with additional concepts obtained from practice tests and various resources\.
## 🌵 Branches
- Master: merged when one or more chapters are *stable*, meaning finished and reviewed;
- 101: each push on the 101 topic is done here before being merged on master;
- 102: each push on the 102 topic is done here before being merged on master\.
---
## 📘 101
## TOPICS
### 101: System Architecture
- 101\.1: [Determine and configure hardware settings](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/101/101.1.md)
- 101\.2: [Boot the system](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/101/101.2.md)
- BIOS
- UEFI
- Bootloader
- Inspection
- 101\.3: [Change runlevels / boot targets and shutdown or reboot system](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/101/101.3.md)
- SysVinit
- Systemd
- Upstart
- Shutdown and restart
### 102: Linux Installation and Package Management
- 102\.1: [Design hard disk layout](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/102/102.1.md)
- Mount points
- Separate partitions
- Swap
- LVM
- 102\.2: [Install a boot loader](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/102/102.2.md)
- /boot partition
- GRUB2
- GRUB Legacy
- 102\.3: [Manage shared libraries](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/102/102.3.md)
- Shared libraries paths
- Searching for the dependencies of a particular executable
- 102\.4: [Use Debian package management](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/102/102.4.md)
- The debian package tool \(dpkg\)
- Advanced package tool \(APT\)
- 102\.5: [Use RPM and YUM package management](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/102/102.5.md)
- The RPM package manager \(rpm\)
- Yellowdog Updater Modified \(YUM\)
- DNF
- Zypper
- 102\.6: [Linux as a virtualization guest](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/102/102.6.md)
- Types of virtual machines
- Virtual machine templates
- Containers
### 103: GNU and Unix Commands
- 103\.1: [Working on the command line](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/103/103.1.md)
- Basic commands
- Environment variables
- 103\.2: [Process text streams using filters](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/103/103.2.md)
- Basic of redirection and pipes
- Processing text streams
- 103\.3: [Perform basic file management](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/103/103.3.md)
- Manipulating files
- Creating, copying, moving and deleting files
- Recursive manipulation of files and directories
- File globbing and wildcards
- How to find files
- Archiving files
- 103\.4: [Use streams, pipes and redirects](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/103/103.4.md)
- Redirects
- Here document and here string
- Pipes
- Command substitution
- 103\.5: [Create, monitor and kill processes](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/103/103.5.md)
- Job control
- Process monitoring
- Terminal multiplexers
- 103\.6: [Modify process execution priorities](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/103/103.6.md)
- The Linux scheduler
- Reading properties
- Process niceness
- 103\.7: [Search text files using regular expressions](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/103/103.7.md)
- Bracket Expression
- Bounds
- Branches and Back References
- Searching with Regular Expressions
- grep
- The Stream Editor: sed
- 103\.8: [Basic file editing](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/103/103.8.md)
- Vi
- Alternative editors
### 104: Devices, Linux Filesystems, Filesystem Hierachy Standard
- 104\.1: [Create partitions and filesystems](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/104/104.1.md)
- Understanding MBR and GPT
- Creating filesystems
- Managing partitions with GNU parted
- Creating swap partitions
- 104\.2: [Maintain the integrity of filesystems](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/104/104.2.md)
- Checking disk usage
- Checking for free space
- Maintaining ext2,ext3 and ext4 filesystems
- Maintaining xfs filesystems
- 104\.3: [Control mounting and unmounting of filesystems](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/104/104.3.md)
- Mounting and unmounting filesystems
- Mounting filesystems on bootup
- Using UUID and Labels
- Mounting disks with systemd
- 104\.4: **REMOVED IN THE CERTIFICATION PATH**
- 104\.5: [Manage file permissions and ownership](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/104/104.5.md)
- Querying information about files and directories
- Understanding permissions
- Modifying file permissions
- Modifying file ownership
- Querying groups
- Default permissions
- Special permissions
- 104\.6: [Create and change hard and symbolic links](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/104/104.6.md)
- Understanding links
- 104\.7: [Find the system files and place files in the correct location](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/104/104.7.md)
- The filesystem hierarchy standard
- Finding files
## 📗 102
## TOPICS
### 105: Shells and Shell Scripting
- 105\.1: [Customize and use the shell environment](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/105/105.1.md)
- Shell Types: Interactive vs\. Non-Interactive and Login vs Non-Login
- Variables: Assignment and Reference
- Creating aliases
- Creating functions
- 105\.2: [Customize or write simple scripts](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/105/105.2.md)
- Script structure and execution
- Variables
- Arithmetic expressions
- Conditional execution
- Script output
- Extended tests
- Case
- Loop constructs
### 106: User Interfaces And Desktops
- 106\.1: [Install and configure X11](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/106/106.1.md)
- Core components overview
- X Window System architecture
- X Server configuration
- Creating a basic Xorg configuration file
- Font management in X11
- X security and remote access
- User x session configuration
- Display Manager configuration
- Wayland
- Common X commands summary
- 106\.2: [Graphical Desktop](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/106/106.2.md)
- X Window System
- Desktop Environment
- Popular Desktop Environment
- Desktop interoperability
- Non-local access
- 106\.3: [Accessibility](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/106/106.3.md)
- Accessibility settings
- Keyboard and mouse assistance
- Visual impairments
- Screen readers
- Braille support
- Legacy accessibility utilities
- Sound and audio accessibility
- Common shortcut summary
### 107: Administrative Tasks
- 107\.1: [Manage user and group accounts and related system files](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/107/107.1.md)
- Adding user accounts
- Modifying user accounts
- Deleting user accounts
- Managing groups
- The skeleton directory
- The passwd command
- The chage command
- /etc/passwd
- /etc/group
- /etc/shadow
- /etc/gshadow
- Filtering the password and user databases
- 107\.2: [Automate system administration tasks by scheduling jobs](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/107/107.2.md)
- Schedule jobs with cron
- User crontabs
- System crontabs
- Particular time specifications
- Crontab variables
- Creating user cronjobs
- Creating system cronjobs
- Configure access to job scheduling
- An alternative to cron
- Schedule jobs with at
- List scheduled jobs with atq
- Delete jobs with atrm
- Time specifications
- An alternative to at
- Adding user accounts
- Modifying user accounts
- 107\.3: [Localisation and internationalisation](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/107/107.3.md)
- Time zones
- Daylight savings time
- Language and character encoding
- Encoding conversion
### 108: Essentials system services
- 108\.1: [Mantain system time](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/108/108.1.md)
- Local vs Universal Time
- Date
- Hardware clock
- timedatectl
- Setting time zone without timedatectl
- Setting date and time without timedatectl
- NTP
- NTP Daemon
- NTP configuration
- chrony
- 108\.2: [System logging](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/108/108.2.md)
- System logging
- The system journal: systemd-journald
- 108\.3: [Mail Transfer Agent \(MUA\) basics](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/108/108.3.md)
- Local and remote MTA
- Linux MTAs
- The mail command and mail user agent \(MUA\)
- Delivery customization
- 108\.4: [Manage printers and printing](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/108/108.4.md)
- The CUPS service
- Installing a printer
- Managing printers
- Submitting print jobs
- Managing print jobs
- Removing printers
### 109: Networking fundamentals
- 109\.1: [Fundamentals of internet protocols](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/109/109.1.md)
- IP \(Internet Protocol\)
- Transport layer protocols
- Trasmission Control Protocol \(TCP\)
- User Datagram Protocol \(UDP\)
- Internet Control Message Protocol \(ICMP\)
- IPv6
- 109\.2: [Persistent network configuration](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/109/109.2.md)
- The network interface
- Interface names
- Interface management
- Local and remote names
- Network manager
- systemd-networkd
- 109\.3: [Basic network troubleshooting](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/109/109.3.md)
- About the ip command
- Netmask and routing review
- Configuring an interface
- The routing table
- Testing connections with ping
- Tracing routes
- Finding MTUs with tracepath
- Creating arbitrary connections
- Viewing current connections and listeners
- 109\.4: [Configure client side DNS](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/109/109.4.md)
- Name resolution process
- DNS Classes
- Understanding /etc/nsswitch\.conf
- The /etc/resolv\.conf file
- The /etc/hosts file
- systemd-resolved
- Name resolution tools
### 110: Security
- 110\.1: [Perform security administration tasks](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/110/110.1.md)
- Checking for files with the SUID and SGID set
- Password management and aging
- Discovering open ports
- Limits on users logins, processes and memory usages
- Managing logged in users
- Basic sudo configuration and usage
- 110\.2: [Setup host security](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/110/110.2.md)
- Improve authentication security with shadow passwords
- How to use a superdaemon to listen for incoming network connections
- Checking services for unnecessary daemons
- TCP wrappers as sort of a simple firewall
- 110\.3: [Securing data with encryption](https://codeberg.org/Glareascum/lpic1_notes/src/branch/master/110/110.3.md)
- Basic OpenSSH client configuration and usage
- The role of OpenSSH server host keys
- SSH port tunnels
- Perform basic GnuPG configuration, usage and revocation
- Use GPG to encrypt, decrypt, sign and verify files