Table of Contents
What are package dependencies? " >What are package dependencies?
What is the ldd command and how does it work? " >What is the ldd command and how does it work?
Use the ldd command to find the dependencies of shared objects" >Use the ldd command to find the dependencies of shared objects
在 Linux 系统中管理软件包依赖关系" >在 Linux 系统中管理软件包依赖关系
Home System Tutorial LINUX ldd command on Linux: How to easily find and manage package dependencies

ldd command on Linux: How to easily find and manage package dependencies

Feb 10, 2024 pm 04:30 PM
linux linux tutorial linux system linux command shell script embeddedlinux Getting started with linux linux learning

If you are a Linux user, you may often need to install or uninstall various software packages. But, did you know that every software package depends on some shared object files, which are provided by other software packages? If these object files are missing or corrupted, your package may not work properly or even start. Therefore, knowing how to find and manage package dependencies is a very useful skill that can help you maintain and optimize your Linux system. This article will introduce a powerful command line tool called ldd, which allows you to manage software package dependencies on Linux using the ldd command like a professional.

What are package dependencies?

Software is not just independent source code, but a combination of local source code and code borrowed from external libraries. When these libraries and other shared objects are missing from your system, applications that depend on them may malfunction or even refuse to start.

All these shared files, packages, libraries, etc. are collectively called dependencies on Linux. While this short definition gives you a rough idea, the reality is more complex than that, which is why it's important to have a deep understanding of package dependencies.

What is the ldd command and how does it work?

ldd is the abbreviation of List Dynamic Dependencies. As the name suggests, ldd lists all the shared objects required by the application.

It calls the dynamic linker by setting special environment variables. When you run ldd with the location of the binary, it returns an output that contains a list of dependencies, their locations, and hexadecimal values ​​representing their loading into memory.

Use the ldd command to find the dependencies of shared objects

Now that you have a clear understanding of the basic concepts of ldd, let’s get hands-on and learn how to use it to find the dependencies of your software.

Before learning how to use ldd, please confirm whether your system has ldd installed. You can confirm by printing the installed ldd version:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ ldd --version
Copy after login
ldd command on Linux: How to easily find and manage package dependencies

If the "command not found" error is returned, you need to install ldd first.

Run the following commands to install on Ubuntu and Debian based systems:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ sudo apt install libc-bin
Copy after login

For Arch based distributions:

sudo pacman -S glibc
Copy after login

For RHEL and Fedora:

sudo dnf install glibc-common
Copy after login

With ldd installed, you can now focus on learning how to use it. The following is the basic syntax of the ldd command:

ldd 二进制文件路径
Copy after login
ldd command on Linux: How to easily find and manage package dependencies

If you don't know the location of the binaries, you can take advantage of one of the Linux command line operators and combine the output of the which command with the ldd command to find the dependencies of the package:

ldd -flag $(which binary_name)
Copy after login

The ldd command provides four different options to modify the output. They are:

  • -v: Print verbose output, including version information for each dependency
  • -u: Print all unused dependencies, i.e. dependencies that are loaded but not implemented
  • -d: Print missing objects and perform relocation
  • -r: Print missing objects and functions and perform relocation
ldd command on Linux: How to easily find and manage package dependencies

To determine whether a given executable daemon supports TCP Wrapper, run the following command.

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]
└─$ sudo ldd /usr/sbin/sshd | grep libwrap
Copy after login
ldd command on Linux: How to easily find and manage package dependencies

在 Linux 系统中管理软件包依赖关系

通过本文的介绍,我们了解了ldd命令的基本概念、用法和选项,以及如何利用它来查找和管理软件包依赖关系。ldd命令可以帮助我们识别应用程序所需的共享对象文件,它们的位置和版本,以及是否存在缺失或未使用的依赖项。ldd命令还可以帮助我们调试应用程序和库的问题,以及检查潜在的安全漏洞。ldd命令是一个简单而强大的工具,值得每个Linux用户掌握和使用。

The above is the detailed content of ldd command on Linux: How to easily find and manage package dependencies. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
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

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers Of The Witch Tree - How To Unlock The Grappling Hook
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1669
14
PHP Tutorial
1273
29
C# Tutorial
1256
24
Linux Architecture: Unveiling the 5 Basic Components Linux Architecture: Unveiling the 5 Basic Components Apr 20, 2025 am 12:04 AM

The five basic components of the Linux system are: 1. Kernel, 2. System library, 3. System utilities, 4. Graphical user interface, 5. Applications. The kernel manages hardware resources, the system library provides precompiled functions, system utilities are used for system management, the GUI provides visual interaction, and applications use these components to implement functions.

How to check the warehouse address of git How to check the warehouse address of git Apr 17, 2025 pm 01:54 PM

To view the Git repository address, perform the following steps: 1. Open the command line and navigate to the repository directory; 2. Run the "git remote -v" command; 3. View the repository name in the output and its corresponding address.

How to run java code in notepad How to run java code in notepad Apr 16, 2025 pm 07:39 PM

Although Notepad cannot run Java code directly, it can be achieved by using other tools: using the command line compiler (javac) to generate a bytecode file (filename.class). Use the Java interpreter (java) to interpret bytecode, execute the code, and output the result.

How to run sublime after writing the code How to run sublime after writing the code Apr 16, 2025 am 08:51 AM

There are six ways to run code in Sublime: through hotkeys, menus, build systems, command lines, set default build systems, and custom build commands, and run individual files/projects by right-clicking on projects/files. The build system availability depends on the installation of Sublime Text.

What is the main purpose of Linux? What is the main purpose of Linux? Apr 16, 2025 am 12:19 AM

The main uses of Linux include: 1. Server operating system, 2. Embedded system, 3. Desktop operating system, 4. Development and testing environment. Linux excels in these areas, providing stability, security and efficient development tools.

laravel installation code laravel installation code Apr 18, 2025 pm 12:30 PM

To install Laravel, follow these steps in sequence: Install Composer (for macOS/Linux and Windows) Install Laravel Installer Create a new project Start Service Access Application (URL: http://127.0.0.1:8000) Set up the database connection (if required)

git software installation git software installation Apr 17, 2025 am 11:57 AM

Installing Git software includes the following steps: Download the installation package and run the installation package to verify the installation configuration Git installation Git Bash (Windows only)

How to use sublime shortcut keys How to use sublime shortcut keys Apr 16, 2025 am 08:57 AM

Sublime Text provides shortcuts to improve development efficiency, including commonly used (save, copy, cut, etc.), editing (indentation, formatting, etc.), navigation (project panel, file browsing, etc.), and finding and replacing shortcuts. Proficiency in using these shortcut keys can significantly improve Sublime's efficiency.

See all articles