LPIC-1 System Architecture Practice Question
Which directory contains the kernel modules for the currently running kernel?
⚠ Common exam trap
Candidates often confuse the location of kernel modules with the kernel image itself (/boot) or with configuration files (/etc/modprobe.d), failing to recognize that modules are version-specific and stored under /lib/modules.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
/lib/modules/$(uname -r)
The kernel modules for the currently running kernel are stored in /lib/modules/$(uname -r). The uname -r command returns the exact kernel release version, and the corresponding directory contains all loadable kernel modules (.ko files) compiled for that specific kernel. This is the standard location used by the kernel and tools like modprobe and insmod to locate and load modules.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
/boot
Why it's wrong here
/boot holds the kernel image, initramfs and bootloader files, not loadable modules; modules for the running kernel live under /lib/modules/$(uname -r). It is tempting because the kernel binary resides there, but /boot would be correct if the question asked where the kernel image itself is stored.
- ✗
/etc/modprobe.d
Why it's wrong here
/etc/modprobe.d stores configuration files controlling module loading options and blacklists; it contains no .ko module binaries. It is tempting because it governs module behaviour, making it correct when you need to pass parameters or block a driver, not when locating the modules themselves for the running kernel.
- ✗
/usr/src
Why it's wrong here
/usr/src holds kernel source trees, not loadable modules, so it cannot supply the running kernel's drivers. It is tempting because custom modules are often compiled against source found there, making it the right location when building a module rather than loading one already installed under /lib/modules/$(uname -r).
- ✓
/lib/modules/$(uname -r)
Why this is correct
Kernel modules are stored under /lib/modules, with a subdirectory named after the running kernel's release version. Using $(uname -r) resolves that exact version dynamically, satisfying the stem's constraint that the path must reference the currently running kernel.
Go deeper
Related to this question
About these practice questions
This LPIC-1 question is part of Courseiva's 402-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This LPIC-1 practice question is part of Courseiva's free LPI certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the LPIC-1 exam.