依存関係の管理は、Linux システムを維持する上で重要な部分です。このソフトウェアは複雑で、多くの共有ライブラリとファイルに依存しています。場合によっては、アプリケーションに必要なファイルを追跡することが困難になることがあります。
ここで、Linux の ldd コマンドが役に立ちます。 Ldd は、共有オブジェクトに対するアプリケーションの依存関係を追跡するために使用できるフル機能のコマンドライン ツールです。
ldd コマンドの活用方法を学び、Linux での依存関係管理のエキスパートになりましょう!
このソフトウェアには、独立したソース コードが含まれているだけでなく、ローカル ソース コードと外部ライブラリで使用されるコードもまとめられています。システムにこれらのライブラリやその他の共有オブジェクトが存在しない場合、それらに依存するアプリケーションが誤動作したり、起動を拒否したりする可能性があります。
Linux システムでは、すべての共有ファイル、ソフトウェア パッケージ、ライブラリなどを総称して依存関係と呼びます。この短い定義では大まかなアイデアが得られますが、現実はそれよりも複雑であるため、パッケージの依存関係を深く理解することが重要です。
LDD は List Dynamic dependency の略称です。名前が示すように、ldd はアプリケーションに必要なすべての共有オブジェクトをリストします。
特別な環境変数を設定して動的リンカーを呼び出します。バイナリの場所を指定して ldd を実行すると、依存関係、その場所、メモリへのロードを表す 16 進値のリストを含む出力が返されます。
ldd の基本概念を明確に理解できたので、実際に実践してその方法を学びましょう。ソフトウェアの依存関係を見つけるために使用します。
ldd の使用方法を学ぶ前に、システムに ldd がインストールされているかどうかを確認してください。インストールされている ldd のバージョンを印刷することで確認できます。 「コマンドが見つかりません」エラーが返される場合は、まず ldd をインストールする必要があります。
次のコマンドを実行して、Ubuntu および Debian ベースのシステムにインストールします。
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ ldd --version
┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ sudo apt install libc-bin
sudo pacman -S glibc
sudo dnf install glibc-common
バイナリ ファイルの場所がわからない場合は、Linux コマンド ラインのいずれかを利用できます。 ldd コマンドは、パッケージの依存関係を見つけるために結合されます。
ldd 二进制文件路径
ldd コマンドには、出力を変更するための 4 つの異なるオプションが用意されています。
-v: 各依存関係のバージョン情報を含む詳細な出力を出力します。
-u: すべての未使用の依存関係、つまりロードされているが実装されていない依存関係を出力します。 -d: 欠落しているオブジェクトを出力し、再配置を実行します
#-r: 欠落しているオブジェクトと関数を出力し、再配置を実行しますldd -flag $(which binary_name)
Linux システムでの管理パッケージの依存関係
ソフトウェア ツールとして ldd を使用すると、次のことが可能になります。アプリケーションに関連する共有オブジェクトの依存関係を解決します。 さらに、ldd を介してライブラリのロード場所を出力することで、アプリケーションをデバッグし、特定のライブラリがどのように実装されているかをより深く理解することができます。 ldd は、アプリケーションで使用される共有ライブラリのバージョンも出力します。この機能を使用すると、共有ライブラリの古いバージョンに関連する潜在的な脆弱性がないかアプリケーションをチェックできます。
以上がLinux で ldd コマンドを使用してプロのようにパッケージの依存関係を管理するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。