LPIC-1 102-500 study plan
LPIC-1 102-500 · Give each week a clear focus.
8 weeks · About 7 hours per week
Shells and Shell Scripting
Write and debug a bash script that uses positional parameters, exit codes, and if/case branching to validate its own arguments.
Configure and demonstrate shell environment behavior: export variables, set aliases, use command substitution, and explain the difference between login and non-login shell startup files.
Use redirection and pipelines (>, >>, 2>, |, tee, xargs) to filter and transform text from log files.
Practice interactive shell editing and history expansion: search history, recall arguments, and edit a long command line without a mouse.
Your checkpoint
A working script in ~/bin that takes at least two arguments, validates them, logs output to a file, and returns distinct exit codes; plus a one-page note mapping each bash startup file to when it is read.
Shells and Shell Scripting
Implement loops (for, while, until) and read input line-by-line from a file inside a script.
Use grep, sed, and awk with regular expressions to extract and rewrite fields in structured text.
Write a script that traps signals and cleans up temporary files it created with mktemp.
Debug a failing script using bash -x, set -e/-u, and shellcheck-style reasoning about quoting.
Your checkpoint
A log-summary script that reads a sample log, counts matching lines per pattern, prints a formatted report, and cleans up its temp files on exit.
Administrative Tasks
Schedule recurring and one-time jobs with cron and at, including user crontabs and /etc/cron.d entries, and verify they run.
Install, upgrade, and remove packages with dpkg and apt, and query package ownership of a file.
Create and restore backups with tar, including compressed archives and exclusion patterns.
Manage user accounts and groups: create, modify, lock, and inspect accounts with useradd, usermod, passwd, and getent.
Your checkpoint
A cron job that runs a tar backup of a chosen directory nightly, plus a written restore procedure you actually executed to recover one deleted file.
Administrative Tasks & Essential System Services
Locate and interpret system logs using journalctl filters (unit, priority, time range) and traditional log files under /var/log.
Configure and verify a systemd service unit, including enable/disable and inspecting status and dependencies.
Set the system time zone and configure NTP synchronization, then confirm the clock is synchronized.
Adjust system locale and keyboard settings and verify the change persists across reboot.
Your checkpoint
A custom systemd service you wrote, enabled at boot, whose log output you can show via journalctl, plus a screenshot-free written record of the unit file and its status output.
Essential System Services & Interfaces and Desktops
Set up and test a mail transfer agent locally so that a scheduled job's output is delivered to a local mailbox, and read it.
Configure a print queue with CUPS, submit a test job, and inspect/cancel it with lpstat and cancel.
Install and start an X server or Wayland session with a display manager, and switch between at least two desktop environments.
Configure accessibility and display settings (screen resolution, keyboard layout) and explain where each setting is stored.
Your checkpoint
A configured print queue and a mail delivery path from cron to a readable local mailbox, both verified with command output pasted into your notes.
Networking Fundamentals
Configure IPv4 addressing, netmask, gateway, and DNS on an interface using ip and the distribution's persistent network configuration.
Diagnose connectivity with ping, traceroute, ss, dig, and host, and interpret each tool's output correctly.
Resolve a hostname lookup problem by inspecting /etc/hosts, /etc/resolv.conf, and /etc/nsswitch.conf.
Explain and demonstrate the difference between a listening socket and an established connection using ss.
Your checkpoint
A troubleshooting log for three deliberately broken network scenarios (wrong gateway, wrong DNS server, blocked port) with the command that identified each fault and the fix applied.
Security
Set and audit file permissions including setuid, setgid, and sticky bits, and verify with find-based permission searches.
Configure sudo access for a non-root user with a limited command set and test both allowed and denied commands.
Generate and use SSH key pairs for passwordless login, and harden sshd configuration with a tested change.
Identify and explain common attack surfaces: world-writable files, unused services, and weak password policies; check them with concrete commands.
Your checkpoint
A hardening checklist applied to your lab host, with before/after command output for permissions, sudo rules, SSH key auth, and one disabled unnecessary service.
Shells and Shell Scripting & Interfaces and Desktops & Administrative Tasks & Essential System Services & Networking Fundamentals & Security
Re-run one hands-on task from each domain under time pressure to confirm retention.
Review every wrong answer from earlier practice and write the underlying command or concept for each.
Memorize the exact file paths and default locations tested most often (startup files, cron directories, log locations, network config).
Take two full-length timed practice sets and analyze errors by domain to target final review.
Your checkpoint
A one-page command reference in your own words covering all six domains, plus a scored practice-set log showing improvement between the two attempts.
Milestones
Week 2: You can write, debug, and explain a non-trivial bash script without looking up basic syntax.
Week 4: You can schedule a job, back up and restore data, and manage a systemd service from memory.
Week 6: You can configure and troubleshoot basic IPv4 networking and DNS on a host without notes.
Week 8: Timed practice scores are consistently above your target passing margin, with no single domain below 60 percent.