Shared Libraries
Most binaries are dynamically linked - they load shared libraries (.so files) at runtime.
| Command | Purpose |
|---|---|
ldd /path/to/binary | List libraries a binary needs |
ldconfig | Rebuild the linker cache after adding libs |
LD_LIBRARY_PATH | Env var adding extra library search dirs |
The dynamic linker reads /etc/ld.so.conf (+ /etc/ld.so.conf.d/) and caches results in /etc/ld.so.cache.
$ ldd /bin/ls
linux-vdso.so.1
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
Exam tip: Aerror while loading shared librariesmessage usually means a.soisn't on the search path - fix by adding its directory to/etc/ld.so.conf.d/and runningldconfig.