LPIC-1 101-500 Deep Dive: System Architecture, Linux Installation, and Package Management
The LPIC-1 101-500 exam is the first of two exams required for the LPIC-1 certification. It covers system architecture, Linux installation and package management, GNU and Unix commands, devices and filesystems, and the Filesystem Hierarchy Standard.
This guide provides an objective-by-objective breakdown with commands, configuration examples, and exam-relevant details you need to know.
Topic 101: System Architecture (weight 8)
101.1 Determine and Configure Hardware Settings
Key commands and files:
# List all PCI devices
lspci
lspci -v # Verbose
lspci -vv # Very verbose with capabilities
lspci -nn # Show vendor/device IDs as numbers
lspci -s 00:02.0 # Filter by bus address
# List USB devices
lsusb
lsusb -v # Verbose
lsusb -t # Tree view
# List block devices
lsblk
lsblk -f # Filesystem info
lsblk -m # Permissions and owner
# Display kernel ring buffer (boot messages)
dmesg
dmesg | grep -i usb # Filter USB-related messages
dmesg | grep -i error # Filter errors
dmesg -w # Watch for new messages (like tail -f)
# View and manage kernel modules
lsmod # List loaded modules
modinfo module_name # Display module information
modprobe module_name # Load module with dependency resolution
modprobe -r module_name # Remove module
insmod /path/to/module.ko # Load module directly (no deps)
rmmod module_name # Remove module
Key files:
/proc/interrupts— IRQ assignments/proc/ioports— I/O port addresses/proc/dma— DMA channel assignments/sys/— sysfs, device and driver info in tree structure
Module configuration:
# List modules loaded automatically at boot
cat /etc/modules
# Blacklist a module
echo "blacklist pcspkr" > /etc/modprobe.d/disable-beep.conf
# Module options
echo "options 8250 nr_uarts=4" > /etc/modprobe.d/8250.conf
Hotplug devices: Modern Linux uses udev. Device rules stored in /etc/udev/rules.d/. Reload rules with udevadm control --reload-rules.
Coldplug devices: Connected at boot time. Detected during kernel initialization.
101.2 Boot the System
Boot process sequence:
- BIOS/UEFI firmware → POST
- Bootloader (GRUB 2) → reads
/boot/grub/grub.cfg - Kernel initialization → decompresses, mounts initramfs
- init/systemd → PID 1 starts services
GRUB 2 commands:
# Install GRUB
grub-install /dev/sda
# Generate configuration
grub-mkconfig -o /boot/grub/grub.cfg
# Manual boot entry configuration
cat /etc/default/grub
# GRUB_TIMEOUT=5
# GRUB_CMDLINE_LINUX="quiet splash"
Boot parameters:
# Common kernel boot parameters
single # Single-user mode (recovery)
root=/dev/sda2 # Specify root partition
ro # Mount root read-only initially
rw # Mount root read-write
init=/bin/bash # Use custom init
nomodeset # Disable kernel mode setting
acpi=off # Disable ACPI
Init and runlevels (SysV):
| Runlevel | Purpose |
|---|---|
| 0 | Halt |
| 1 | Single-user mode |
| 2 | Multi-user (no network, Debian/Ubuntu default) |
| 3 | Multi-user (text mode, RHEL default) |
| 4 | Undefined/custom |
| 5 | Multi-user with GUI |
| 6 | Reboot |
# Change runlevel
telinit 1
init 1
# View current runlevel
runlevel
who -r
Systemd targets (replaces runlevels):
| Target | Runlevel Alias | Purpose |
|---|---|---|
| poweroff.target | 0 | Power off |
| rescue.target | 1 | Single-user |
| multi-user.target | 3 | Multi-user text |
| graphical.target | 5 | Multi-user GUI |
| reboot.target | 6 | Reboot |
# Set default target
systemctl set-default multi-user.target
# Switch to target now
systemctl isolate multi-user.target
# View current target
systemctl get-default
Shutdown and reboot:
shutdown -h now # Halt immediately
shutdown -r +5 # Reboot in 5 minutes
shutdown -c # Cancel pending shutdown
reboot # Reboot now
halt # Halt system
poweroff # Power off
systemctl reboot # Reboot (systemd)
systemctl poweroff # Power off (systemd)
101.3 Change Runlevels / Boot Targets and Shutdown or Reboot System
Already covered above. Additional commands:
# Who is logged in
who
w
users
# Notify users of shutdown
wall "System will go down in 5 minutes"
shutdown -k +5 "Maintenance in 5 minutes" # Fake warning, no shutdown
# Alternative: message of the day
cat /etc/motd
Topic 102: Linux Installation and Package Management (weight 10)
102.1 Design Hard Disk Layout
Partitioning considerations:
/boot— typically 512 MB–1 GB, must be accessible by GRUB/(root) — core system, minimum 10-20 GB/home— user data, allocate remaining space/var— logs and spool, separate partition prevents fill-up from crashing systemswap— swap space, traditionally 2× RAM, modern systems 1× RAM or less with hibernation support
Partition table types:
| Type | Max Disks | Max Partition Size | Legacy Support |
|---|---|---|---|
| MBR | 2 TB | 2 TB | Universal |
| GPT | No limit | 9.4 ZB | UEFI required for boot |
Partitioning tools:
fdisk /dev/sda # MBR partitioning (legacy)
gdisk /dev/sda # GPT partitioning
parted /dev/sda # Both MBR and GPT
parted /dev/sda mklabel gpt # Create GPT label
parted /dev/sda mkpart primary ext4 1MiB 100GiB # Create partition
Swap management:
# Create swap file
dd if=/dev/zero of=/swapfile bs=1M count=4096
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
# Add to /etc/fstab
echo "/swapfile none swap sw 0 0" >> /etc/fstab
# View swap usage
swapon --show
free -h
102.2 Install a Boot Manager
GRUB 2 configuration hierarchy:
/etc/default/grub # Main config file
/etc/grub.d/ # Scripts merged into grub.cfg
00_header # Base settings
10_linux # Linux entries
30_os-prober # Other OS entries
40_custom # Custom entries
/boot/grub/grub.cfg # Generated config (do not edit directly)
GRUB interactive boot:
During boot, press Shift (BIOS) or Esc (UEFI) to enter GRUB menu. Press e to edit entry. Common edits:
- Add
singleto end oflinuxline for single-user mode - Change
rotorwfor early read-write mounting
Password-protect GRUB:
grub-mkpasswd-pbkdf2
# Enter password, copy hash
# Create /etc/grub.d/01_password:
cat <<EOF > /etc/grub.d/01_password
cat <<EOF
set superusers="admin"
password_pbkdf2 admin grub.pbkdf2.sha512.10000.HASH...
EOF
chmod +x /etc/grub.d/01_password
grub-mkconfig -o /boot/grub/grub.cfg
102.3 Manage Shared Libraries
# List shared libraries
ldconfig -p | grep libssl
# Display library dependencies of a binary
ldd /bin/ls
ldd /usr/bin/nginx
# Configure library path
cat /etc/ld.so.conf
# Include files from /etc/ld.so.conf.d/*.conf
# Add custom path
echo /usr/local/lib > /etc/ld.so.conf.d/local.conf
ldconfig # Update cache
# LD_LIBRARY_PATH environment variable
export LD_LIBRARY_PATH=/opt/mylib:$LD_LIBRARY_PATH
# Important library dirs
ls /lib
ls /usr/lib
ls /usr/local/lib
102.4 Use Debian Package Management
dpkg commands:
# Install
dpkg -i package.deb
# Remove (keep config)
dpkg -r packagename
# Purge (remove config too)
dpkg -P packagename
# List installed
dpkg -l
dpkg -l | grep nginx
# Query
dpkg -L packagename # List files installed by a package
dpkg -S /bin/ls # Which package owns this file
dpkg -s packagename # Package status
dpkg -p packagename # Package info from the .deb
# Reconfigure
dpkg-reconfigure packagename
APT commands:
# Update package index
apt update
# Upgrade all packages
apt upgrade
apt dist-upgrade # Upgrades with dependency changes
apt full-upgrade # Same as dist-upgrade
# Install/remove
apt install nginx
apt remove nginx
apt purge nginx
apt autoremove # Remove orphaned dependencies
# Search
apt search webserver
apt show nginx
# Cache
apt-cache search keyword
apt-cache show packagename
apt-cache depends packagename # Dependencies
apt-cache rdepends packagename # Reverse dependencies
# Package states
apt-mark hold packagename # Prevent upgrade
apt-mark unhold packagename
apt-mark showhold
APT configuration:
cat /etc/apt/sources.list
# deb http://archive.ubuntu.com/ubuntu focal main restricted
ls /etc/apt/sources.list.d/
cat /etc/apt/preferences # Pinning
# Add repository
add-apt-repository ppa:graphics-drivers/ppa
Key Debian directories:
/var/cache/apt/archives/— Downloaded .deb files/var/lib/dpkg/— dpkg database
102.5 Use RPM and YUM Package Management
RPM commands:
# Install
rpm -ivh package.rpm # Verbose, hash progress
# Upgrade
rpm -Uvh package.rpm
# Remove
rpm -e packagename
# Query
rpm -q nginx # Is package installed
rpm -qa # All installed packages
rpm -qa | grep nginx
rpm -ql nginx # List files
rpm -qf /etc/nginx/nginx.conf # Which package owns file
rpm -qi nginx # Package info
rpm -qd nginx # Documentation files
rpm -qR nginx # Requires (dependencies)
rpm -q --changelog nginx # Changelog
# Verify
rpm -V nginx # Changed files since install
rpm -Va # All packages
YUM (Yellowdog Update Manager):
yum update
yum install nginx
yum remove nginx
yum search nginx
yum info nginx
yum list installed | grep nginx
yum provides /etc/nginx/nginx.conf # Which package provides file
yum groupinstall "Web Server"
yum repolist
DNF (next-gen YUM, Fedora/RHEL 8+):
dnf update
dnf install nginx
dnf remove nginx
dnf search nginx
dnf info nginx
dnf list installed
dnf provides /etc/nginx/nginx.conf
dnf group install "Web Server"
dnf repolist
dnf history
dnf autoremove
Key RPM directories:
/var/lib/rpm/— RPM database/etc/yum.repos.d/— YUM repository configs/etc/dnf/dnf.conf— DNF config
102.6 Virtualization as a Concept and Tool
Hypervisor types:
| Type | Description | Examples |
|---|---|---|
| Type 1 | Bare-metal | VMware ESXi, KVM, Xen, Hyper-V |
| Type 2 | Hosted | VirtualBox, VMware Workstation |
KVM/QEMU:
# Check CPU virtualization support
grep -E "(vmx|svm)" /proc/cpuinfo
kvm-ok
# Create VM
virt-install \
--name ubuntu-vm \
--ram 2048 \
--vcpus 2 \
--disk size=20 \
--cdrom ubuntu.iso
# List VMs
virsh list
virsh list --all
virsh start vm-name
virsh shutdown vm-name
virsh destroy vm-name # Force off
# Container-level virtualization
lxc-checkconfig
docker ps
podman ps
Topic 103: GNU and Unix Commands (weight 14)
103.1 Work on the Command Line
# Basic commands
echo $PATH
echo "Hello $USER"
type command_name # Show command type (builtin, alias, path)
which command_name # Show full path
alias ll='ls -l'
unalias ll
unalias -a # Remove all aliases
history
history -c # Clear history
!100 # Re-execute command 100 from history
!! # Re-execute last command
Shell expansions:
echo {1..10} # Brace expansion: 1 2 3 ...
echo {a,b,c}.txt # a.txt b.txt c.txt
echo ~ # Home directory
echo ~user # user's home directory
echo $(date) # Command substitution
echo `date` # Legacy command substitution
echo $((2 + 3)) # Arithmetic expansion
Quoting:
echo "Variable: $HOME" # Variable expanded
echo 'Literal: $HOME' # No expansion
echo "Escape: \$HOME" # Escaped
103.2 Process Text Streams Using Filters
cat # Concatenate and display files
tac # Reverse order (last line first)
head -n 5 file
tail -n 10 file
tail -f /var/log/syslog # Follow (live updates)
less /var/log/syslog # Pager with search
more /var/log/syslog # Simple pager
nl file # Number lines
od file # Octal dump
sort file # Sort lines
sort -r # Reverse sort
sort -n # Numeric sort
sort -u # Unique (like sort | uniq)
sort -k2 # Sort by 2nd field
uniq # Filter duplicate adjacent lines
uniq -c # Prefix lines by count
uniq -d # Only print duplicates
cut -d: -f1 /etc/passwd # Extract first field
cut -c1-5 file # Extract first 5 characters
paste file1 file2 # Merge lines side by side
join file1 file2 # Join lines on common field
expand file # Convert tabs to spaces
unexpand file # Convert spaces to tabs
wc -l file # Line count
wc -w file # Word count
wc -c file # Byte count
tr 'a-z' 'A-Z' < file # Translate characters (uppercase)
tr -d '\n' < file # Delete newlines
tr -s ' ' < file # Squeeze repeated spaces
rev # Reverse each line
103.3 Perform Basic File Management
# Copy, move, delete
cp source dest
cp -r sourcedir destdir
cp -a sourcedir destdir # Archive (preserve attributes)
cp -p source dest # Preserve timestamps
mv source dest
rm file
rm -r dir
rm -f file # Force (no prompt)
rmdir emptydir
# List files
ls
ls -l # Long format
ls -a # All files (including .)
ls -la
ls -lh # Human-readable sizes
ls -lS # Sort by size
ls -lt # Sort by time
ls -R # Recursive
# File tree
tree
# Create directories
mkdir dir
mkdir -p parent/child # Create parent directories
File timestamps:
touch file # Create or update timestamp
touch -t 202601010000 file # Set specific timestamp
stat file # Display all file stats
ls -l --time=atime file # Access time
ls -l --time=ctime file # Change time
# atime vs mtime vs ctime
# atime: access time (read)
# mtime: modification time (content changed)
# ctime: change time (metadata or content changed)
Find files:
find / -name "*.conf" -type f
find / -size +100M
find / -mtime -7 # Modified in last 7 days
find / -user weiss
find / -perm 644
find / -exec ls -l {} \;
find / -ok rm {} \; # Prompts before executing
locate nginx.conf # Fast database search
updatedb # Update locate database
which command_name # Search PATH
whereis command_name # Binary, source, man page locations
103.4 Use Streams, Pipes, and Redirects
File descriptors:
| Number | Name | Default Binding |
|---|---|---|
| 0 | stdin | Keyboard |
| 1 | stdout | Terminal |
| 2 | stderr | Terminal |
Redirect examples:
command > file # stdout to file (overwrite)
command >> file # stdout to file (append)
command 2> file # stderr to file
command 2>> file # stderr append
command &> file # Both stdout and stderr
command 2>&1 # stderr to stdout
command > file 2>&1 # Combined redirect
command > /dev/null # Discard stdout
command 2> /dev/null # Discard stderr
# Pipes
command1 | command2
command1 |& command2 # Pipe both stdout and stderr
# Tee (write to file and stdout)
command | tee file
command | tee -a file # Append
command | tee file1 file2 file3
# Here documents
cat <<EOF > file
line 1
line 2
EOF
103.5 Create, Monitor, and Kill Processes
# Process listing
ps aux
ps -ef
ps axo pid,user,%cpu,%mem,command
# Process tree
pstree
pstree -p # With PIDs
# Top-like tools
top
htop
atop
# Job control
jobs # Background jobs
bg %1 # Resume job 1 in background
fg %1 # Bring job 1 to foreground
Ctrl+Z # Suspend foreground job
Ctrl+C # Terminate foreground job
# Signal table
# 1 HUP (hang up)
# 2 INT (interrupt - Ctrl+C)
# 3 QUIT (quit)
# 9 KILL (force kill)
# 15 TERM (terminate - default)
# 18 CONT (continue)
# 19 STOP (stop/suspend)
# 20 TSTP (stop from tty - Ctrl+Z)
kill PID # Send SIGTERM
kill -9 PID # Send SIGKILL
killall process_name # Kill by name
pkill process_name # Kill by name pattern
pgrep process_name # PID by name
nice -n 10 command # Start with lower priority (-20 to 19)
renice -n 5 -p 1234 # Change priority of running process
/proc filesystem:
cat /proc/cpuinfo # CPU info
cat /proc/meminfo # Memory info
cat /proc/version # Kernel version
ls /proc/PID/ # Per-process information
cat /proc/PID/environ # Process environment
cat /proc/PID/cmdline # Process command line
cat /proc/PID/fd/ # Open file descriptors
103.6 Modify Process Execution Priorities
Already covered under 103.5. Key nice/renice details for the exam:
- Privileged user (root) can set any priority from -20 to 19
- Regular user can only increase niceness (0 to 19), cannot lower it
- Lower nice value = higher priority
- Default nice value: 0
# Start firefox with low priority
nice -n 19 firefox
# Check nice value
ps -l PID # NI column
top # NI column
# Change priority of PID 1234
renice -n 5 -p 1234
renice -n -5 -u root # Change all root processes
103.7 Search Text Files Using Regular Expressions
# grep basics
grep pattern file
grep -i pattern file # Case insensitive
grep -v pattern file # Inverted (lines NOT matching)
grep -c pattern file # Count matches
grep -n pattern file # Show line numbers
grep -r pattern dir/ # Recursive
grep -l pattern dir/* # Show only filenames
grep -E "pattern" file # Extended regex
grep -P "pattern" file # Perl-compatible regex (PCRE)
# sed basics
sed 's/old/new/' file # Replace first occurrence per line
sed 's/old/new/g' file # Replace all occurrences
sed 's/old/new/2' file # Replace 2nd occurrence
sed '/pattern/d' file # Delete matching lines
sed -n '/pattern/p' file # Print only matching lines
sed -i 's/old/new/g' file # In-place edit
sed '1,10d' file # Delete lines 1-10
# Basic regex metacharacters
# . any single character
# * zero or more of previous
# + one or more of previous (ERE)
# ? zero or one of previous (ERE)
# ^ start of line
# $ end of line
# [] character class
# [^] negated character class
# \(\) group (BRE)
# () group (ERE)
# \| alternation (ERE)
103.8 Basic File Editing
# vi/vim modes
# Normal mode: navigation, copy, paste, delete
# Insert mode: text entry (i, a, o)
# Command mode: :w, :q, :q!, :wq, :set
vi basics:
i # Enter insert mode
Esc # Back to normal mode
:w # Save
:q # Quit
:wq # Save and quit
:q! # Quit without saving
h/j/k/l # Cursor movement
x # Delete character
dd # Delete line
yy # Yank (copy) line
p # Paste after
P # Paste before
u # Undo
Ctrl+r # Redo
/pattern # Search forward
?pattern # Search backward
n # Next match
N # Previous match
:%s/old/new/g # Search and replace all
:set nu # Show line numbers
:set ic # Case-insensitive search
gg # Go to first line
G # Go to last line
:NUM # Go to line NUM
Topic 104: Devices, Linux Filesystems, and FHS (weight 14)
104.1 Create Partitions and Filesystems
# Partition table management
fdisk /dev/sda
gdisk /dev/sda
parted /dev/sda
# Create filesystem
mkfs.ext4 /dev/sda1
mkfs.xfs /dev/sda2
mkfs.btrfs /dev/sda3
mkfs.vfat /dev/sda4
# Swap
mkswap /dev/sda5
# Filesystem check
fsck /dev/sda1
fsck.ext4 /dev/sda1
fsck -N /dev/sda1 # Dry run
fsck -y /dev/sda1 # Auto yes
# Filesystem info
blkid /dev/sda1
tune2fs -l /dev/sda1 # ext2/3/4 superblock info
dumpe2fs /dev/sda1 # All superblock and block group info
104.2 Maintain the Integrity of Filesystems
# Check filesystem usage
df -h
df -T # Show filesystem type
df -i # Inode usage
# Check directory size
du -sh /home
du -sh * | sort -h # Size of each item, sorted
du -hc --max-depth=1 /home
# Check for errors
fsck
smartctl -a /dev/sda # S.M.A.R.T. disk health
badblocks -v /dev/sda # Scan for bad blocks
104.3 Control Mounting and Unmounting of Filesystems
# Mount
mount /dev/sda1 /mnt
mount -t ext4 /dev/sda1 /mnt
mount -o ro /dev/sda1 /mnt # Read-only
mount -o noexec /dev/sda1 /mnt # No execution
mount -o loop image.iso /mnt # Loop device (ISO)
# Unmount
umount /mnt
umount /dev/sda1
umount -l /mnt # Lazy unmount (when device busy)
# View mounts
mount
mount | grep /dev/sda
findmnt # Tree view
# /etc/fstab format
# <device> <mountpoint> <type> <options> <dump> <pass>
# /dev/sda1 / ext4 defaults 0 1
# UUID=xxx /boot ext4 defaults 0 2
# //server/share /mnt/smb cifs credentials=/etc/smb.txt,uid=1000 0 0
# 192.168.1.1:/export /mnt/nfs nfs4 defaults 0 0
# Mount all fstab entries
mount -a
# Check what's using a filesystem
fuser -v /mnt # Show processes using /mnt
lsof /mnt # List open files on /mnt
104.4 Manage Disk Quotas
# Enable quotas in fstab
# /dev/sda1 /home ext4 defaults,usrquota,grpquota 0 1
# Create quota files
quotacheck -avug
quotacheck -cvm /home # Create quota database
# Set quotas
edquota -u username
edquota -g groupname
edquota -p user1 user2 user3 # Copy quota profile
repquota -a # Report quota usage
# Quota commands
quota username
quota -v # Verbose
quotastats
104.5 Manage File Permissions and Ownership
# Permission notation
# rwx rwx rwx = 421 421 421
# user group other
chmod 755 file # rwxr-xr-x
chmod u+x file # Add execute for user
chmod g=rw file # Set group to rw
chmod o-r file # Remove read from others
chmod -R 755 dir/ # Recursive
chown user:group file
chown user file
chown :group file
chown -R user:group dir/
# Special permissions
chmod u+s file # SUID (4xxx) - execute as file owner
chmod g+s file # SGID (2xxx) - execute as group
chmod +t dir/ # Sticky bit (1xxx) - only owner can delete
chmod 1777 /tmp # rwxrwxrwt
chmod 4755 /usr/bin/sudo # rwsr-xr-x
# umask
umask # Show current mask
umask 022 # Default permissions: 755 for dirs, 644 for files
# umask subtracts from 777 (dirs) or 666 (files)
104.6 Create and Change Hard and Symbolic Links
# Hard link (same inode, same filesystem only)
ln target link_name
# Symbolic link (any filesystem, can point to directories)
ln -s target link_name
# Identify links
ls -li # Show inode number
stat file # Inode and link count
readlink link_name # Show symlink target
Key differences:
| Aspect | Hard Link | Symbolic Link |
|---|---|---|
| Inode | Same | Different |
| Cross-filesystem | No | Yes |
| Directory target | No | Yes |
| Broken target | Stays valid | Becomes broken |
| Size on disk | 0 | Path length |
rm target | Link stays | Link breaks |
104.7 Find System Files and Place Files in Correct Directories
Filesystem Hierarchy Standard (FHS):
| Directory | Purpose |
|---|---|
/ | Root filesystem |
/bin | Essential user binaries (symlink to /usr/bin in modern systems) |
/sbin | System binaries (symlink to /usr/sbin) |
/etc | Configuration files |
/home | User home directories |
/root | Root user home |
/var | Variable data (logs, spool, temporary) |
/tmp | Temporary files (deleted on boot) |
/boot | Boot loader files, kernel images |
/dev | Device files |
/proc | Process and kernel information (virtual) |
/sys | Device and driver information (virtual) |
/lib | Shared libraries (symlink to /usr/lib) |
/opt | Add-on application packages |
/srv | Service data (e.g., web server files) |
/media | Removable media mount points |
/mnt | Temporary mount points |
/usr | Secondary hierarchy (read-only user data) |
/usr/local | Locally compiled software |
# Find files
locate pattern
find / -name "filename"
which command_name
whereis command_name
# Library and system file search
ldconfig -p | grep library_name
dpkg -S filename # Which package installed this (Debian)
rpm -qf filename # Which package installed this (RHEL)
Exam Tips
- Run commands on a real system — reading is not enough. Set up a virtual machine and practice every command.
- Know your man pages —
man -k keyword(apropos) for finding commands,man 5 crontabfor configuration file formats. - Master the exam objectives — print the official LPI objectives list and check off each one.
- Time management — 90 minutes for 60 questions. Skip hard questions and return to them.
- Focus on commands, not GUIs — the exam tests command-line proficiency almost exclusively.
Test Your Knowledge with Practice Exams
Ready to put this knowledge to the test? Our LPI practice portal includes 200+ realistic questions covering LPIC-1, LPIC-2, LPIC-3, and DevOps Tools Engineer certifications. Study mode, timed exams, domain breakdowns, and weak-area analysis included.
Related Articles
- LPIC-1 102-500 Deep Dive — Covers shell scripting, user management, networking fundamentals, and security
- LPIC-1 Certification Guide — Overview of the full LPIC-1 certification path
- LPIC-2 201-450 Deep Dive — Advanced system administration topics
- LPIC-1 & LPIC-2 Command Cheat Sheet — Quick reference for essential commands
- 50 Free LPIC-1 Practice Questions — Test your knowledge across all LPIC-1 topics
- LPIC-1 101-500 vs 102-500: What's the Difference? — Exam comparison and study strategy
- Browse All LPI Resources — Full library of study guides, deep dives, and practice questions