The ldconfig utility is used to prepare a set of "hints" for use by the dynamic linker to facilitate quick lookup of shared libraries available in multiple directories. It scans a set of built-in system directories and any directories specified on the command line (in the given order) looking for shared libraries and stores the results in a system file to forestall the overhead that would otherwise result from the directory search operations the dynamic linker would have to perform to load the required shared libraries.
Files named on the command line are expected to contain directories to scan for shared libraries. Each directorys pathname must start on a new line. Blank lines and lines starting with the comment character # are ignored. Filenames must conform to the lib*.so.[0-9] pattern in order to be added to the hints file.
For security reasons, directories which are world or group-writable or which are not owned by root produce warning messages and are skipped, unless the -i option is present.
The shared libraries which are found will be automatically available for loading if needed by the program being prepared for execution. This obviates the need for storing search paths within the executable.
The LD_LIBRARY_PATH environment variable can be used to override the use of directories (or the order thereof) from the cache or to specify additional directories where shared libraries might be found. LD_LIBRARY_PATH is a ':' separated list of directory paths which are searched by the dynamic linker when it needs to load a shared library. It can be viewed as the run-time equivalent of the -L switch of ld(1).
The ldconfig utility is typically run as part of the boot sequence.
The following options are recognized by ldconfig: