Home  >  Article  >  Operation and Maintenance  >  What is linux ldconfig

What is linux ldconfig

藏色散人
藏色散人Original
2023-03-28 09:56:112087browse

linux ldconfig is a dynamic link library management command; it is mainly used in the default search directories "/lib" and "/usr/lib" and the dynamic library configuration file "/etc/ld.so.conf" Search for shareable dynamic link libraries in the listed directories; ldconfig is usually run when the system starts, and when the user installs a new dynamic link library, the ldconfig command needs to be run manually.

What is linux ldconfig

#The operating environment of this tutorial: linux5.9.8 system, Dell G3 computer.

What is linux ldconfig?

ldconfig is a dynamic link library management command. The purpose of the command is mainly to search in the default search directories (/lib and /usr/lib) and dynamic library configuration files## In the directory listed in #/etc/ld.so.conf, search for a shareable dynamic link library (the format is as introduced before, lib*.so*), and then create a dynamic link library The connection and cache files required to load the program (ld.so). The cache file defaults to /etc/ld.so.cache. This file saves the sorted dynamics. Link library name list.

ldconfig is usually run when the system starts. When the user installs a new dynamic link library, this command needs to be run manually.

ldconfig command parameter description:

1, -v or –verbose: When using this option, ldconfig will display the directory being scanned and the dynamic link library searched, as well as The name of the connection it creates.

2, -n: When using this option, ldconfig only scans the directory specified on the command line, not the default directory (/lib,/usr/lib), nor the Directory listed in the configuration file /etc/ld.so.conf.

3, -N: This option instructs ldconfig not to rebuild the cache file (/etc/ld.so.cache). If -X is not used option, ldconfig updates the file connection as usual.

4, -X: This option instructs ldconfig not to update the file connection. If the -N option is not used, the cached file is updated normally.

5 , -f CONF: This option specifies the configuration file of the dynamic link library as CONF, the system default is /etc/ld.so.conf.

6, -C CACHE: This option specifies the generated cache file as CACHE The system default is /etc/ld.so.cache. This file stores a sorted list of shareable dynamic link libraries.

7. -r ROOT: This option changes the root of the application. The directory is ROOT (implemented by calling the chroot function). When selecting this option, the system default configuration file /etc/ld.so.conf actually corresponds to ROOT/etc/ld.so.conf. For example, use -r/ When usr/zzz is used, when the configuration file /etc/ld.so.conf is opened, the /usr/zzz/etc/ld.so.conf file is actually opened. Using this option can greatly increase the flexibility of dynamic link library management. .

8, -l: Normally, ldconfig will automatically establish a connection to the dynamic link library when searching for the dynamic link library. When this option is selected, the expert mode will be entered and the connection needs to be set manually. General users do not need to do this. Item.

9, -p or –print-cache: This option instructs ldconfig to print out the names of all shared libraries saved in the current cache file.

10, -c FORMAT or –format =FORMAT: This option is used to specify the format used for cache files. There are three types: ld (old format), new (new format) and compat (compatible format, this is the default format).

11. -V: This option prints out the version information of ldconfig, and then exits.

12, - or --help or –usage: These three options have the same effect, they all let ldconfig print out its help information, and then Exit.

Things to note with ldconfig:

1. Adding things to /lib and /usr/lib does not require modifying the /etc/ld.so.conf file. , but you need to call ldconfig after adding it, otherwise the added library will not be found.

2. If the added library is not in /lib and /usr/lib, you need to modify the /etc/ld.so.conf file, add the path of the library to the file, and then call it again. Run the ldconfig command. Or add the *.conf file under /etc/ld.so.conf.d/ and append the library path, and then execute ldconfig. For example, when installing MySQL, its library file /usr/local/mysql/lib needs to be appended to the /etc/ld.so.conf file. The command is as follows:

# echo "/usr/local/mysql/lib" >>/etc/ld.so.conf
# ldconfig -v | grep mysql
View all shared libraries saved in cache files

# ldconfig -p
3. If the added library is not under /lib or /usr/lib, and there is no permission to write /etc/ For the ld.so.conf file, you only need to put the path in

LD_LIBRARY_PATHEnvironment change.

You can use the command

export to take effect temporarily

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
The above method only temporarily sets the variable

LD_LIBRARY_PATH. This variable will be invalid next time the computer is turned on; how to How about writing this value continuously to LD_LIBRARY_PATH?

We can add the export statement in

~/.bashrc or ~/.bash_profile. The former is read once every time you log in and every time you open the shell. The latter is only read once at login. My habit is to add it to ~/.bashrc. At the end of the file, you can use the following statement to make the settings effective:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
The above is

bash The format of configuring environment variables csh is different:

setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:${my_HOME}/lib
After modification, remember to close the current terminal and reopen a new terminal to make the above configuration take effect.

Recommended learning: "linux video tutorial"

The above is the detailed content of What is linux ldconfig. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn