{"id":6633,"date":"2024-01-08T10:06:32","date_gmt":"2024-01-08T17:06:32","guid":{"rendered":"https:\/\/ioflood.com\/blog\/?p=6633"},"modified":"2024-01-08T10:09:32","modified_gmt":"2024-01-08T17:09:32","slug":"install-ldd-command-linux","status":"publish","type":"post","link":"https:\/\/ioflood.com\/blog\/install-ldd-command-linux\/","title":{"rendered":"How to Install and Use the &#8216;ldd&#8217; Command in Linux"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"alignright size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/ioflood.com\/blog\/wp-content\/uploads\/2024\/01\/Digital-illustration-of-a-Linux-terminal-depicting-the-installation-of-the-ldd-command-used-for-checking-dynamic-dependencies-of-executable-files-300x300.jpg\" alt=\"Digital illustration of a Linux terminal depicting the installation of the ldd command used for checking dynamic dependencies of executable files\" width=\"300\" height=\"300\" title=\"\"><\/figure>\n<\/div>\n<p>Are you looking to install the <code>ldd<\/code> command on your Linux system but finding it a bit complex? Sometimes the installation of Linux commands may seem daunting, however, <code>ldd<\/code> is worth learning to install and use. It enhances your understanding of library dependencies in Linux, making it easier to manage your system. It&#8217;s also readily available on most package management systems, simplifying the installation process once you understand it.<\/p>\n<p><strong>In this guide, we will navigate the process of installing the <code>ldd<\/code> command on your Linux system.<\/strong> We will provide you with installation instructions for APT-based distributions like Debian and Ubuntu, and YUM-based distributions like CentOS and AlmaLinux. We&#8217;ll delve into advanced topics like compiling from source, installing a specific version, and finally, we&#8217;ll guide you on how to use the <code>ldd<\/code> command and verify that the correct version is installed.<\/p>\n<p>Let&#8217;s get started with the step-by-step <code>ldd<\/code> installation on your Linux system!<\/p>\n<h2>TL;DR: How Do I Install and Use the &#8216;ldd&#8217; Command in Linux?<\/h2>\n<blockquote><p>\n  In most Linux distributions, the &#8216;ldd&#8217; command comes pre-installed, you can verify this with the command, <code>which ldd<\/code>. If it isn&#8217;t installed, you can add it with the commands, <code>sudo yum install glibc-common<\/code> or <code>sudo apt-get install libc6-dev<\/code>. The command to use depends on your Linux environment. To use &#8216;ldd&#8217;, simply type <code>ldd<\/code> followed by the name of the binary file you want to check, <code>ldd \/path\/to\/file<\/code>.\n<\/p><\/blockquote>\n<p>For example:<\/p>\n<pre><code class=\"language-bash line-numbers\">ldd \/bin\/ls\n\n# Output:\n# linux-vdso.so.1 (0x00007ffcc35db000)\n# libselinux.so.1 =&gt; \/lib\/x86_64-linux-gnu\/libselinux.so.1 (0x00007f1a8e8b4000)\n# libc.so.6 =&gt; \/lib\/x86_64-linux-gnu\/libc.so.6 (0x00007f1a8e4c3000)\n# \/lib64\/ld-linux-x86-64.so.2 (0x00007f1a8ed00000)\n# libpcre.so.3 =&gt; \/lib\/x86_64-linux-gnu\/libpcre.so.3 (0x00007f1a8e251000)\n# libdl.so.2 =&gt; \/lib\/x86_64-linux-gnu\/libdl.so.2 (0x00007f1a8e04d000)\n# libpthread.so.0 =&gt; \/lib\/x86_64-linux-gnu\/libpthread.so.0 (0x00007f1a8de2e000)\n<\/code><\/pre>\n<p>This command will display the shared libraries needed by the <code>\/bin\/ls<\/code> program. The output shows the library name, its location, and the memory address where it is loaded.<\/p>\n<p>This is just a basic way to use the <code>ldd<\/code> command in Linux, but there&#8217;s much more to learn about installing and using <code>ldd<\/code>. Continue reading for more detailed information and advanced usage scenarios.<\/p>\n<h2>Understanding and Installing the &#8216;ldd&#8217; Command in Linux<\/h2>\n<p>The <code>ldd<\/code> command in Linux is a handy tool that displays the shared libraries required by each program. It&#8217;s a crucial command for developers and system administrators, as it helps in debugging and managing system dependencies.<\/p>\n<h3>Installing &#8216;ldd&#8217; Command with APT<\/h3>\n<p>If you&#8217;re using a Debian-based Linux distribution such as Ubuntu, you can install the <code>ldd<\/code> command using the Advanced Packaging Tool (APT). In most cases, <code>ldd<\/code> comes pre-installed, but you can ensure it&#8217;s installed by running the following command:<\/p>\n<pre><code class=\"language-bash line-numbers\">sudo apt-get update\nsudo apt-get install libc6-dev\n\n# Output:\n# Reading package lists... Done\n# Building dependency tree\n# Reading state information... Done\n# ... (other output trimmed for brevity)\n<\/code><\/pre>\n<p>This command updates your package list and installs the <code>libc6-dev<\/code> package, which includes the <code>ldd<\/code> command.<\/p>\n<h3>Installing &#8216;ldd&#8217; Command with YUM<\/h3>\n<p>If you&#8217;re using a Red Hat-based Linux distribution such as CentOS, you can use the Yellowdog Updater, Modified (YUM) to install <code>ldd<\/code>. The command is included in the <code>glibc-common<\/code> package. To install it, run the following command:<\/p>\n<pre><code class=\"language-bash line-numbers\">sudo yum install glibc-common\n\n# Output:\n# Loaded plugins: fastestmirror, langpacks\n# Loading mirror speeds from cached hostfile\n# ... (other output trimmed for brevity)\n<\/code><\/pre>\n<p>This command installs the <code>glibc-common<\/code> package, which includes the <code>ldd<\/code> command. Now you&#8217;re ready to use <code>ldd<\/code> to explore library dependencies in Linux.<\/p>\n<h2>Installing &#8216;ldd&#8217; Command from Source Code<\/h2>\n<p>For those who prefer to compile from source code, you can obtain the <code>ldd<\/code> command from the GNU C Library (glibc) source code. Here&#8217;s an example of how to download, compile, and install it:<\/p>\n<pre><code class=\"language-bash line-numbers\">wget http:\/\/ftp.gnu.org\/gnu\/glibc\/glibc-2.33.tar.gz\n\n# Output:\n# --2022-01-01 00:00:00--  http:\/\/ftp.gnu.org\/gnu\/glibc\/glibc-2.33.tar.gz\n# Resolving ftp.gnu.org (ftp.gnu.org)... 209.51.188.20, 2001:4830:134:3::b\n# Connecting to ftp.gnu.org (ftp.gnu.org)|209.51.188.20|:80... connected.\n# HTTP request sent, awaiting response... 200 OK\n# Length: 17154692 (16M) [application\/x-gzip]\n# Saving to: \u2018glibc-2.33.tar.gz\u2019\n\n# glibc-2.33.tar.gz              100%[====================================================&gt;]  16.36M  1.67MB\/s    in 10s\n\n# 2022-01-01 00:00:10 (1.58 MB\/s) - \u2018glibc-2.33.tar.gz\u2019 saved [17154692\/17154692]\n\n<\/code><\/pre>\n<p>After downloading the source code, you can compile and install it:<\/p>\n<pre><code class=\"language-bash line-numbers\"># Extract the source code\n\ntar xzf glibc-2.33.tar.gz\n\ncd glibc-2.33\n\n# Compile and install\n\n.\/configure\nmake\nsudo make install\n\n# Output:\n# checking build system type... x86_64-pc-linux-gnu\n# checking host system type... x86_64-pc-linux-gnu\n# ... (other output trimmed for brevity)\n<\/code><\/pre>\n<h2>Installing Different Versions of &#8216;ldd&#8217; Command<\/h2>\n<h3>Installing from Source Code<\/h3>\n<p>To install different versions of the <code>ldd<\/code> command from source code, you simply need to change the version number in the URL when you download the source code. For example, to download version 2.32, you would use <code>http:\/\/ftp.gnu.org\/gnu\/glibc\/glibc-2.32.tar.gz<\/code>.<\/p>\n<h3>Using Package Managers<\/h3>\n<p>To install different versions using package managers like APT or YUM, you need to specify the version number when you install the package. For example, to install version 2.32 using APT, you would use <code>sudo apt-get install libc6-dev=2.32<\/code>.<\/p>\n<p>Here&#8217;s a comparison of the features and compatibilities of different versions:<\/p>\n<table>\n<thead>\n<tr>\n<th>Version<\/th>\n<th>Key Features<\/th>\n<th>Compatibility<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>2.31<\/td>\n<td>Improved performance<\/td>\n<td>Ubuntu 20.04<\/td>\n<\/tr>\n<tr>\n<td>2.32<\/td>\n<td>New features like safe-linking<\/td>\n<td>Ubuntu 20.10<\/td>\n<\/tr>\n<tr>\n<td>2.33<\/td>\n<td>Bug fixes and performance improvements<\/td>\n<td>Ubuntu 21.04<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Basic Usage of &#8216;ldd&#8217; Command<\/h2>\n<h3>Using the Command<\/h3>\n<p>To use the <code>ldd<\/code> command, you pass the name of the binary file you want to check. For example, to check the libraries needed by the <code>\/usr\/bin\/ssh<\/code> program, you would use <code>ldd \/usr\/bin\/ssh<\/code>.<\/p>\n<pre><code class=\"language-bash line-numbers\">ldd \/usr\/bin\/ssh\n\n# Output:\n# linux-vdso.so.1 (0x00007ffcc35db000)\n# libselinux.so.1 =&gt; \/lib\/x86_64-linux-gnu\/libselinux.so.1 (0x00007f1a8e8b4000)\n# libc.so.6 =&gt; \/lib\/x86_64-linux-gnu\/libc.so.6 (0x00007f1a8e4c3000)\n# \/lib64\/ld-linux-x86-64.so.2 (0x00007f1a8ed00000)\n# libpcre.so.3 =&gt; \/lib\/x86_64-linux-gnu\/libpcre.so.3 (0x00007f1a8e251000)\n# libdl.so.2 =&gt; \/lib\/x86_64-linux-gnu\/libdl.so.2 (0x00007f1a8e04d000)\n# libpthread.so.0 =&gt; \/lib\/x86_64-linux-gnu\/libpthread.so.0 (0x00007f1a8de2e000)\n<\/code><\/pre>\n<h3>Verifying Installation<\/h3>\n<p>To verify that the <code>ldd<\/code> command is installed correctly, you can use the <code>which<\/code> command. This command shows the path of the binary file for a command. For example, to check the <code>ldd<\/code> command, you would use <code>which ldd<\/code>.<\/p>\n<pre><code class=\"language-bash line-numbers\">which ldd\n\n# Output:\n# \/usr\/bin\/ldd\n<\/code><\/pre>\n<p>This command shows that the <code>ldd<\/code> command is installed correctly and its binary file is located in <code>\/usr\/bin\/ldd<\/code>.<\/p>\n<h2>Alternative Methods to Check Library Dependencies in Linux<\/h2>\n<p>While the <code>ldd<\/code> command is a powerful tool for examining library dependencies, there are alternative methods that can provide similar information. One such method is using the <code>objdump<\/code> command.<\/p>\n<h3>Using &#8216;objdump&#8217; Command<\/h3>\n<p>The <code>objdump<\/code> command is a part of the binutils package and is used to display various information about object files. You can use this command to display the dynamic section of an object file, which includes shared library dependencies.<\/p>\n<p>Here&#8217;s an example of how to use <code>objdump<\/code> to display the shared library dependencies of a program:<\/p>\n<pre><code class=\"language-bash line-numbers\">objdump -p \/usr\/bin\/ssh | grep NEEDED\n\n# Output:\n#  NEEDED               libcrypto.so.1.1\n#  NEEDED               libdl.so.2\n#  NEEDED               libz.so.1\n#  NEEDED               libresolv.so.2\n#  NEEDED               libc.so.6\n<\/code><\/pre>\n<p>This command displays the shared libraries needed by the <code>\/usr\/bin\/ssh<\/code> program. The output shows the library name, similar to the <code>ldd<\/code> command.<\/p>\n<h3>Advantages and Disadvantages of &#8216;objdump&#8217;<\/h3>\n<p>The <code>objdump<\/code> command has several advantages over the <code>ldd<\/code> command. First, it&#8217;s safer to use because it doesn&#8217;t actually run any code from the binary file. This makes it a better choice for examining suspicious binary files. Second, it&#8217;s part of the binutils package, which is installed on almost all Linux systems.<\/p>\n<p>However, <code>objdump<\/code> also has some disadvantages. It doesn&#8217;t show the full path of the shared libraries, and it doesn&#8217;t show the memory addresses where the libraries are loaded. These details can be useful for debugging and are provided by the <code>ldd<\/code> command.<\/p>\n<h3>Recommendations<\/h3>\n<p>While both <code>ldd<\/code> and <code>objdump<\/code> can be used to examine library dependencies, they each have their strengths and weaknesses. If you&#8217;re examining a trusted binary file and need detailed information, <code>ldd<\/code> is the better choice. If you&#8217;re dealing with a suspicious binary file and need to ensure safety, <code>objdump<\/code> is the way to go.<\/p>\n<h2>Troubleshooting Common &#8216;ldd&#8217; Command Issues<\/h2>\n<p>While the <code>ldd<\/code> command is a powerful tool, it is not without its quirks. Here are some common issues you may encounter when using the <code>ldd<\/code> command and tips on how to resolve them.<\/p>\n<h3>&#8216;ldd&#8217; Command Not Found<\/h3>\n<p>If you encounter an &#8216;ldd: command not found&#8217; error, it means the <code>ldd<\/code> command is not installed on your system or its path is not included in the PATH environment variable. You can verify this by using the <code>which<\/code> command:<\/p>\n<pre><code class=\"language-bash line-numbers\">which ldd\n\n# Output:\n# ldd not found\n<\/code><\/pre>\n<p>To resolve this issue, you need to install the <code>ldd<\/code> command or add its path to the PATH environment variable.<\/p>\n<h3>&#8216;ldd&#8217; Command Shows &#8216;not a dynamic executable&#8217;<\/h3>\n<p>If the <code>ldd<\/code> command shows &#8216;not a dynamic executable&#8217; error, it means the file you&#8217;re trying to check is not a dynamically linked executable. The <code>ldd<\/code> command only works on dynamically linked executables.<\/p>\n<p>Here&#8217;s an example of this error:<\/p>\n<pre><code class=\"language-bash line-numbers\">ldd \/bin\/date\n\n# Output:\n# not a dynamic executable\n<\/code><\/pre>\n<p>To resolve this issue, you need to check a dynamically linked executable. You can verify if a file is a dynamically linked executable by using the <code>file<\/code> command:<\/p>\n<pre><code class=\"language-bash line-numbers\">file \/bin\/date\n\n# Output:\n# \/bin\/date: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter \/lib64\/ld-linux-x86-64.so.2, for GNU\/Linux 3.2.0, BuildID[sha1]=4cf3bccc2e35cdad5a13c04a393b014040408df6, stripped\n<\/code><\/pre>\n<p>This command shows that the <code>\/bin\/date<\/code> file is a dynamically linked executable.<\/p>\n<h3>&#8216;ldd&#8217; Command Shows &#8216;no version information available&#8217;<\/h3>\n<p>If the <code>ldd<\/code> command shows &#8216;no version information available&#8217; warning, it means the shared library has a version number that is higher than the version number that the <code>ldd<\/code> command expects. This warning is generally harmless and can be ignored.<\/p>\n<p>Here&#8217;s an example of this warning:<\/p>\n<pre><code class=\"language-bash line-numbers\">ldd \/bin\/ls\n\n# Output:\n# \/usr\/bin\/ls: \/lib\/x86_64-linux-gnu\/libc.so.6: version `GLIBC_2.28' not found (required by \/usr\/bin\/ls)\n#         linux-vdso.so.1 (0x00007fff99dfa000)\n#         libselinux.so.1 =&gt; \/lib\/x86_64-linux-gnu\/libselinux.so.1 (0x00007f1a8e8b4000)\n#         libc.so.6 =&gt; \/lib\/x86_64-linux-gnu\/libc.so.6 (0x00007f1a8e4c3000)\n#         \/lib64\/ld-linux-x86-64.so.2 (0x00007f1a8ed00000)\n#         libpcre.so.3 =&gt; \/lib\/x86_64-linux-gnu\/libpcre.so.3 (0x00007f1a8e251000)\n#         libdl.so.2 =&gt; \/lib\/x86_64-linux-gnu\/libdl.so.2 (0x00007f1a8e04d000)\n#         libpthread.so.0 =&gt; \/lib\/x86_64-linux-gnu\/libpthread.so.0 (0x00007f1a8de2e000)\n<\/code><\/pre>\n<p>In this output, the <code>GLIBC_2.28' not found<\/code> warning indicates that the <code>libc.so.6<\/code> library has a version number that is higher than the version number that the <code>ldd<\/code> command expects.<\/p>\n<h2>Library Dependencies in Linux<\/h2>\n<p>Linux, like other operating systems, relies heavily on libraries. These libraries are collections of pre-compiled routines or data structures that a program can utilize. They provide a means to share code among multiple applications, thereby reducing redundancy, minimizing application size, and enhancing maintainability.<\/p>\n<h3>Static vs Dynamic Libraries<\/h3>\n<p>Libraries in Linux can be broadly categorized into static and dynamic libraries. Static libraries, as the name suggests, are linked to the program at compile time. They form part of the executable, leading to larger binary files. On the other hand, dynamic libraries are linked at runtime, meaning they are not included in the binary file. This results in smaller executables and improved memory efficiency, as multiple programs can share the same dynamic library loaded in memory.<\/p>\n<h3>Understanding &#8216;ldd&#8217; and Library Dependencies<\/h3>\n<p>The <code>ldd<\/code> command in Linux is a utility that prints the shared libraries required by each program. It&#8217;s a crucial tool for developers and system administrators to understand and manage library dependencies. For instance, if you&#8217;re developing a program that depends on a specific version of a library, you can use <code>ldd<\/code> to confirm that the correct version of the library is being used.<\/p>\n<p>Here&#8217;s an example of how to use <code>ldd<\/code> to display the shared libraries required by the <code>\/usr\/bin\/ssh<\/code> program:<\/p>\n<pre><code class=\"language-bash line-numbers\">ldd \/usr\/bin\/ssh\n\n# Output:\n# linux-vdso.so.1 (0x00007ffcc35db000)\n# libcrypto.so.1.1 =&gt; \/lib\/x86_64-linux-gnu\/libcrypto.so.1.1 (0x00007f1a8e8b4000)\n# libdl.so.2 =&gt; \/lib\/x86_64-linux-gnu\/libdl.so.2 (0x00007f1a8e04d000)\n# libresolv.so.2 =&gt; \/lib\/x86_64-linux-gnu\/libresolv.so.2 (0x00007f1a8de2e000)\n# libc.so.6 =&gt; \/lib\/x86_64-linux-gnu\/libc.so.6 (0x00007f1a8e4c3000)\n<\/code><\/pre>\n<p>This output lists the shared libraries needed by the <code>\/usr\/bin\/ssh<\/code> program, along with their paths. It&#8217;s an invaluable tool for diagnosing runtime problems related to libraries.<\/p>\n<h3>The Importance of Managing Library Dependencies<\/h3>\n<p>Managing library dependencies is critical in Linux system administration. Proper management ensures that all applications have access to the libraries they need to function correctly. It also prevents &#8216;dependency hell&#8217;, a situation where different applications require different versions of the same library, leading to conflicts and system instability.<\/p>\n<p>In conclusion, understanding and managing library dependencies are crucial aspects of Linux system administration. Tools like the <code>ldd<\/code> command provide a means to investigate and manage these dependencies, promoting system stability and efficient resource usage.<\/p>\n<h2>Exploring the Relevance of Library Management<\/h2>\n<p>Library management in Linux is not just about ensuring that your applications run smoothly. It plays a significant role in system administration and security as well. For instance, keeping your libraries updated can help protect your system from vulnerabilities that could be exploited by malicious actors.<\/p>\n<h3>Static and Dynamic Linking in Linux<\/h3>\n<p>As we&#8217;ve mentioned earlier, libraries in Linux can be either static or dynamic. Understanding the difference between these two types of linking is crucial for efficient system administration. Static linking results in larger binary files as all necessary libraries are included in the binary at compile time. This could be beneficial in situations where you want to ensure that your program runs the same way, regardless of the environment.<\/p>\n<p>On the other hand, dynamic linking creates smaller executables, as the libraries are linked at runtime. This means that multiple programs can share the same library, resulting in efficient memory usage. However, it also means that if a shared library is updated or changed, it could potentially affect all programs that depend on it.<\/p>\n<pre><code class=\"language-bash line-numbers\"># Example of static linking\n\ngcc -static myfile.c -o myfile\n\n# Example of dynamic linking\n\ngcc myfile.c -o myfile\n\n# Output:\n# myfile: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter \/lib64\/ld-linux-x86-64.so.2, for GNU\/Linux 3.2.0, not stripped\n<\/code><\/pre>\n<p>In the above example, the <code>-static<\/code> flag is used with the <code>gcc<\/code> command to create a statically linked executable. Without the <code>-static<\/code> flag, <code>gcc<\/code> creates a dynamically linked executable.<\/p>\n<h3>Further Resources for Mastering Library Management in Linux<\/h3>\n<p>If you&#8217;re interested in delving deeper into the topic of library management in Linux, here are some resources that can help you expand your knowledge:<\/p>\n<ol>\n<li><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/www.gnu.org\/software\/libc\/manual\/\" target=\"_blank\" rel=\"noopener\">GNU C Library Documentation<\/a>: This is the official documentation for the GNU C Library, which includes the <code>ldd<\/code> command. It provides in-depth information about how the library works and how to use its various commands and features.<\/p>\n<\/li>\n<li>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"http:\/\/www.linuxfromscratch.org\/\" target=\"_blank\" rel=\"noopener\">Linux From Scratch<\/a>: This project provides a step-by-step guide on how to build your own Linux system from scratch. It&#8217;s a great resource for understanding the inner workings of Linux, including library management.<\/p>\n<\/li>\n<li>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"http:\/\/advancedlinuxprogramming.ir\/\" target=\"_blank\" rel=\"noopener\">Advanced Linux Programming<\/a>: This online book covers a wide range of topics related to Linux programming, including static and dynamic libraries. It&#8217;s a great resource for anyone looking to deepen their understanding of Linux system administration.<\/p>\n<\/li>\n<\/ol>\n<p>By exploring these resources and understanding the concepts of library dependencies, static and dynamic linking, you can enhance your skills in Linux system administration and security.<\/p>\n<h2>Wrapping Up: Installing the &#8216;ldd&#8217; Command in Linux<\/h2>\n<p>Throughout this comprehensive guide, we&#8217;ve delved into the depths of installing and using the &#8216;ldd&#8217; command in Linux, a potent tool for managing library dependencies.<\/p>\n<p>We embarked on this journey with the basics of how to install and use the &#8216;ldd&#8217; command in Linux. We then progressed to more advanced topics, such as using different flags and options, and even compiling from the source. Along the way, we tackled common issues you might face when using the &#8216;ldd&#8217; command, such as &#8216;ldd: command not found&#8217; and &#8216;not a dynamic executable&#8217;, equipping you with the knowledge to resolve these challenges.<\/p>\n<p>We also explored alternative approaches to handle library dependencies, such as the &#8216;objdump&#8217; command. This gave you a broader perspective on managing libraries in Linux, allowing you to choose the method that best suits your needs.<\/p>\n<p>Here&#8217;s a quick comparison of these methods:<\/p>\n<table>\n<thead>\n<tr>\n<th>Method<\/th>\n<th>Pros<\/th>\n<th>Cons<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>ldd<\/td>\n<td>Detailed output, shows full path and memory addresses<\/td>\n<td>Runs code from the binary file<\/td>\n<\/tr>\n<tr>\n<td>objdump<\/td>\n<td>Safer, doesn&#8217;t run any code from the binary file<\/td>\n<td>Doesn&#8217;t show full path and memory addresses<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Whether you&#8217;re just starting out with the &#8216;ldd&#8217; command or you&#8217;re looking to enhance your system administration skills, we hope this guide has provided you with a thorough understanding of the &#8216;ldd&#8217; command and its capabilities.<\/p>\n<p>Understanding and managing library dependencies is a vital aspect of Linux system administration. With the knowledge you&#8217;ve gained from this guide, you&#8217;re well-equipped to navigate the world of library dependencies in Linux. Happy coding!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Are you looking to install the ldd command on your Linux system but finding it a bit complex? Sometimes the installation of Linux commands may seem daunting, however, ldd is worth learning to install and use. It enhances your understanding of library dependencies in Linux, making it easier to manage your system. It&#8217;s also readily [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":15468,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[124,3,9],"tags":[],"class_list":["post-6633","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bash","category-linux","category-sysadmin","cat-124-id","cat-3-id","cat-9-id","has_thumb"],"_links":{"self":[{"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/posts\/6633","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/comments?post=6633"}],"version-history":[{"count":7,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/posts\/6633\/revisions"}],"predecessor-version":[{"id":15545,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/posts\/6633\/revisions\/15545"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/media\/15468"}],"wp:attachment":[{"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/media?parent=6633"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/categories?post=6633"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ioflood.com\/blog\/wp-json\/wp\/v2\/tags?post=6633"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}