ldconfig(8)
๐ธ ldconfig(8) โ the glowy-up for your dynamic linker bindings ๐ธ
okay bestie, welcome to ldconfig, straight outta the System Manager's Manual. she configures your dynamic linker run-time bindings and she does NOT play. let's get into it ๐
โจ NAME โจ
ldconfig โ configure dynamic linker run-time bindings ๐ฆ
โจ SYNOPSIS โจ
/sbin/ldconfig [-nNvVX] [-C cache] [-f conf] [-r root] [-t tunconf]
directory ...
/sbin/ldconfig -l [-v] library ...
/sbin/ldconfig -p
three whole modes, she contains multitudes ๐
โจ DESCRIPTION โจ
so here's the tea ๐ซ ldconfig creates the necessary links and cache to the most recent shared libraries it finds in the directories you hand it on the command line, in the file /etc/ld.so.conf, and in the trusted directories, /lib and /usr/lib. iconic behavior fr fr.
on some 64-bit architectures โ think x86-64 โ /lib and /usr/lib are the trusted directories for 32-bit libraries, while /lib64 and /usr/lib64 are used for 64-bit libraries. the duality of woman ๐ญ
the cache is used by the run-time linker, ld.so or ld-linux.so. and when ldconfig is deciding which versions should have their links updated, it checks the header and filenames of the libraries it encounters. very demure, very mindful. it should normally be run by the superuser, because it may need write permission on some root owned directories and files ๐
also: ldconfig will look only at files that are named lib*.so* (for regular shared objects) or ld-*.so* (for the dynamic loader itself). everything else gets ignored, sorry not sorry ๐
and it expects a certain pattern to how the symbolic links are set up, like this example, where the middle file (libfoo.so.1 here) is the SONAME for the library:
libfoo.so -> libfoo.so.1 -> libfoo.so.1.12
not following that pattern may result in compatibility issues after an upgrade. like, actual chaos. respect the chain bestie โ๏ธ
if the file /etc/tunables.conf exists, it contains tunables to be applied to all processes. these tunables get stored in the cache and applied to every process at its startup. main character energy, applying herself to literally every process โจ
โจ OPTIONS โจ
--format=fmt,-c fmtโ (since glibc 2.2) use cache format fmt, which is one ofold,new, orcompat. since glibc 2.32, the default isnew. before that, it wascompat. glow-up timeline ๐-C cacheโ use cache instead of/etc/ld.so.cache.-f confโ use conf instead of/etc/ld.so.conf.--ignore-aux-cache,-iโ (since glibc 2.7) ignore the auxiliary cache file. out of sight, out of mind ๐ซถ-lโ (since glibc 2.2) interpret each operand as a library name and configure its links. intended for use only by experts. like, this is not a beginner slope, bestie ๐-nโ process only the directories specified on the command line; don't process the trusted directories, nor those specified in/etc/ld.so.conf. implies-N. tunnel vision, but make it intentional ๐-Nโ don't rebuild the cache. unless-Xis also specified, links are still updated.--print-cache,-pโ print the lists of directories and candidate libraries stored in the current cache. show me the receipts ๐-r rootโ change to and use root as the root directory.-t tunconfโ use tunconf instead of/etc/tunables.conf.--verbose,-vโ verbose mode. print current version number, the name of each directory as it is scanned, and any links that are created. overrides quiet mode. she's talking now and you WILL listen ๐ฃ๏ธ--version,-Vโ print program version. slay โจ-Xโ don't update links. unless-Nis also specified, the cache is still rebuilt.
โจ FILES โจ
/lib/ld.soโ is the run-time linker/loader. the one doing the actual running around here ๐โ๏ธ/etc/ld.so.confโ seeld.so.conf(5)./etc/tunables.confโ seetunables.conf(5)./etc/ld.so.cacheโ contains an ordered list of libraries found in the directories specified in/etc/ld.so.conf, as well as those found in the trusted directories, and any tunables listed in/etc/tunables.conf. the master list, the notes app of libraries ๐
โจ SEE ALSO โจ
ldd(1), ld.so(8), ld.so.conf(5) โ go read the whole friend group ๐
and that's the whole page bestie, no cap. this was Linux man-pages 6.20, dated 2026-08-03, serving ldconfig(8) realness. you ate that. periodt ๐
๐โจ
๐ฆ where this page comes from
- arch rolling: man-pages 6.20-1 ยท BSD-2-Clause AND BSD-3-Clause AND BSD-4.3TAHOE AND BSD-4-Clause-UC AND GPL-1.0-or-later AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND LGPL-3.0-linking-exception AND LGPL-3.0-or-later AND LicenseRef-Public-Domain AND LicenseRef-UltraPermissive AND Linux-man-pages-1-para AND Linux-man-pages-copyleft AND Linux-man-pages-copyleft-2-para AND Linux-man-pages-copyleft-var AND MIT AND Spencer-94
- nixpkgs unstable: man-pages 6.20
- ๐ the page's license: GPL-2.0-or-later
- Copyright 1999, SuSE GmbH
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms