ホームページ >運用・保守 >Nginx >Linux で ldd コマンドを使用してプロのようにパッケージの依存関係を管理する

Linux で ldd コマンドを使用してプロのようにパッケージの依存関係を管理する

王林
王林転載
2023-06-09 15:42:521723ブラウズ

依存関係の管理は、Linux システムを維持する上で重要な部分です。このソフトウェアは複雑で、多くの共有ライブラリとファイルに依存しています。場合によっては、アプリケーションに必要なファイルを追跡することが困難になることがあります。

ここで、Linux の ldd コマンドが役に立ちます。 Ldd は、共有オブジェクトに対するアプリケーションの依存関係を追跡するために使用できるフル機能のコマンドライン ツールです。

ldd コマンドの活用方法を学び、Linux での依存関係管理のエキスパートになりましょう!

像专业人士一样在 Linux 上使用 ldd 命令管理软件包依赖关系

#パッケージの依存関係とは何ですか?

このソフトウェアには、独立したソース コードが含まれているだけでなく、ローカル ソース コードと外部ライブラリで使用されるコードもまとめられています。システムにこれらのライブラリやその他の共有オブジェクトが存在しない場合、それらに依存するアプリケーションが誤動作したり、起動を拒否したりする可能性があります。

Linux システムでは、すべての共有ファイル、ソフトウェア パッケージ、ライブラリなどを総称して依存関係と呼びます。この短い定義では大まかなアイデアが得られますが、現実はそれよりも複雑であるため、パッケージの依存関係を深く理解することが重要です。

ldd コマンドとは何ですか?また、どのように機能しますか?

LDD は List Dynamic dependency の略称です。名前が示すように、ldd はアプリケーションに必要なすべての共有オブジェクトをリストします。

特別な環境変数を設定して動的リンカーを呼び出します。バイナリの場所を指定して ldd を実行すると、依存関係、その場所、メモリへのロードを表す 16 進値のリストを含む出力が返されます。

ldd コマンドを使用して共有オブジェクトの依存関係を検索する

ldd の基本概念を明確に理解できたので、実際に実践してその方法を学びましょう。ソフトウェアの依存関係を見つけるために使用します。

ldd の使用方法を学ぶ前に、システムに ldd がインストールされているかどうかを確認してください。インストールされている ldd のバージョンを印刷することで確認できます。 「コマンドが見つかりません」エラーが返される場合は、まず ldd をインストールする必要があります。

次のコマンドを実行して、Ubuntu および Debian ベースのシステムにインストールします。 像专业人士一样在 Linux 上使用 ldd 命令管理软件包依赖关系

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ ldd --version
Arch ベースのディストリビューションの場合:

┌──(linuxmi㉿linuxmi)-[~/www.linuxmi.com]└─$ sudo apt install libc-bin
RHEL および Fedora の場合:

sudo pacman -S glibc
ldd がインストールされているので、その使用方法の学習に集中できます。 ldd コマンドの基本構文は次のとおりです。

sudo dnf install glibc-common

バイナリ ファイルの場所がわからない場合は、Linux コマンド ラインのいずれかを利用できます。 ldd コマンドは、パッケージの依存関係を見つけるために結合されます。

ldd 二进制文件路径

ldd コマンドには、出力を変更するための 4 つの異なるオプションが用意されています。 像专业人士一样在 Linux 上使用 ldd 命令管理软件包依赖关系

-v: 各依存関係のバージョン情報を含む詳細な出力を出力します。

-u: すべての未使用の依存関係、つまりロードされているが実装されていない依存関係を出力します。 -d: 欠落しているオブジェクトを出力し、再配置を実行します

#-r: 欠落しているオブジェクトと関数を出力し、再配置を実行します
  • 指定されたオブジェクトかどうかを確認するには実行可能デーモンが TCP ラッパーをサポートしている場合は、次のコマンドを実行します:
ldd -flag $(which binary_name)
  • Linux システムでの管理パッケージの依存関係像专业人士一样在 Linux 上使用 ldd 命令管理软件包依赖关系

    ソフトウェア ツールとして ldd を使用すると、次のことが可能になります。アプリケーションに関連する共有オブジェクトの依存関係を解決します。

    さらに、ldd を介してライブラリのロード場所を出力することで、アプリケーションをデバッグし、特定のライブラリがどのように実装されているかをより深く理解することができます。 ldd は、アプリケーションで使用される共有ライブラリのバージョンも出力します。

    像专业人士一样在 Linux 上使用 ldd 命令管理软件包依赖关系この機能を使用すると、共有ライブラリの古いバージョンに関連する潜在的な脆弱性がないかアプリケーションをチェックできます。

    依存関係の管理は、Linux システムをスムーズに実行するために重要な重要なコア スキルです。すべての依存関係に問題がない場合でも、パッケージに問題が残る場合があります。したがって、壊れたパッケージを見つけて修復する方法を知ることが重要です。

    以上がLinux で ldd コマンドを使用してプロのようにパッケージの依存関係を管理するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

  • 声明:
    この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。