手当たり次第に書くんだ

飽きっぽいのは本能

LPIC 共有ライブラリ – ldd と ldconfig の基本

LPIC 学習ノートへ戻る

この記事では、LPIC 学習向けに共有ライブラリを整理します。共有ライブラリは、複数のプログラムから共通利用されるライブラリで、Linux のコマンドやアプリケーション実行に深く関わります。

共有ライブラリとは

プログラムは、すべての処理を自分自身に含めているとは限りません。よく使う処理は共有ライブラリとして提供され、実行時に動的リンクされます。必要な共有ライブラリが見つからないと、コマンドやアプリケーションは起動できません。

要素意味
.so共有ライブラリの一般的な拡張子
ldd実行ファイルが必要とするライブラリを確認する
ldconfigライブラリキャッシュを更新・確認する
/etc/ld.so.confライブラリ検索パス設定
/etc/ld.so.cacheライブラリ検索用キャッシュ

必要なライブラリを確認する

ldd /bin/ls
ldd /usr/bin/ssh
ldconfig -p | head

ライブラリ検索パス

共有ライブラリは、標準のライブラリディレクトリや /etc/ld.so.conf/etc/ld.so.conf.d/ に基づいて検索されます。ライブラリを追加した後は、必要に応じて ldconfig でキャッシュを更新します。

cat /etc/ld.so.conf
ls /etc/ld.so.conf.d/
sudo ldconfig

LPIC で押さえるポイント

  • 共有ライブラリは複数プログラムから利用されます。
  • ldd で実行ファイルが必要とするライブラリを確認できます。
  • ldconfig はライブラリキャッシュに関係します。
  • ライブラリ不足は、コマンドが起動しない原因になります。

共有ライブラリ不足を切り分ける

共有ライブラリは、プログラムが実行時に読み込む共通部品です。ライブラリが見つからない場合、コマンドは起動できず、error while loading shared libraries のようなエラーになります。

確認したいことコマンド
必要なライブラリldd /path/to/binary
ライブラリキャッシュldconfig -p
設定ファイル/etc/ld.so.conf /etc/ld.so.conf.d/
実行ファイルの場所which command

確認例

which ssh
ldd /usr/bin/ssh
ldconfig -p | grep ssl
cat /etc/ld.so.conf
ls /etc/ld.so.conf.d/

共有ライブラリの問題は、パッケージ不足、検索パス不足、バージョン不整合として現れることがあります。LPIC では lddldconfig の役割分担を押さえると十分です。

まとめ

共有ライブラリは、Linux のプログラム実行を支える基本要素です。LPIC では、.solddldconfig、ライブラリ検索パスの関係を押さえると、実行時エラーの原因も読み解きやすくなります。

関連する記事

参考書籍

参考
書籍
参考書籍
ストーリーで覚える Linux CLI 入門

Linux のコマンドライン操作を基礎から確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。

Amazon で見る

このリンクは Amazon アソシエイトリンクです。

LPIC 共有ライブラリ – ldd と ldconfig の基本

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る