You installed a vendor application whose shared libraries live in /opt/vendor/lib. You added a line containing that directory to /etc/ld.so.conf.d/vendor.conf, but programs still cannot find the libraries. What is the missing step?
LPIC-1 Exam 101-500, objective 102. Linux installation and package management medium
Machine-checked — no person has signed for it. This question was read against the source cited below by an automated pass, which found no contradiction. That is a weaker claim than it sounds: the same kind of process wrote the question, so it can confirm its own mistake.
Treat it as a good draft rather than as settled fact, and read the source below before you rely on it. It is not used in mock exams here — only questions a person has signed for are.
How these questions are written — where each question comes from, what the verification ledger records, and what happens when one is found wrong.
The options
Correct Run ldconfig so the cache in /etc/ld.so.cache is rebuilt from the configured directories
Correct. The dynamic linker consults the binary cache /etc/ld.so.cache, not the text configuration, so a new directory takes effect only after ldconfig regenerates that cache.
Not correct Run ldd against the new directory to register its libraries
Wrong. ldd only reports the dependencies of a program or library you name; it registers nothing and cannot take a directory as a meaningful argument.
Not correct Reboot, because /etc/ld.so.conf is only read at boot time
Wrong. Nothing reads ld.so.conf at boot on your behalf; it is read by ldconfig whenever you run it. A reboot may appear to work only because distributions run ldconfig during startup or package installation.
Not correct Copy the libraries into /lib, because the dynamic linker only searches /lib
Wrong. The linker searches the cached directories, the paths in a binary's RPATH/RUNPATH, LD_LIBRARY_PATH, and the trusted defaults /lib and /usr/lib. Adding a directory is a supported alternative to copying files around.
Why
The search path for shared libraries is configured in /etc/ld.so.conf and the files it includes (typically /etc/ld.so.conf.d/*.conf), but the dynamic linker reads only the compiled cache /etc/ld.so.cache. ldconfig is the program that walks the configured directories and rebuilds that cache; run it as root after adding, removing, or updating libraries outside the package manager.
Where this comes from
- Cited
- LPI exam objective 102.3
- What it says
- Manage shared library configuration: /etc/ld.so.conf, ldconfig and the linker cache.
Practise this
Reading one question is not practice. The trainer will draw a short set from objective 102 and space the ones you get wrong.
More questions on this objective
- A mail server keeps filling its root filesystem because spooled mail and logs grow without bound, and when the disk fills the whole system becomes unusable. Which single change to the disk layout most directly contains that failure? machine-checked
- In LVM terminology, which object is created directly on a partition or whole disk so that its storage can be added to a pool? machine-checked
- You are laying out storage for a general-purpose Linux server. Which TWO of the following are genuine reasons to use LVM for the data filesystems rather than plain partitions? machine-checked
- Which file is the configuration file that GRUB 2 generates, and which administrators are told not to edit by hand on a typical Linux distribution? machine-checked
- You replaced the boot disk in a BIOS/MBR system and need to write the GRUB 2 boot loader into the master boot record of /dev/sda, installing the required GRUB modules under /boot. Which command does that? machine-checked
- On a GRUB 2 system whose configuration file is /boot/grub/grub.cfg, type the grub-mkconfig command — including the option and its argument — that regenerates that file. machine-checked