この記事では、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 ldconfigLPIC で押さえるポイント
- 共有ライブラリは複数プログラムから利用されます。
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 では ldd と ldconfig の役割分担を押さえると十分です。
まとめ
共有ライブラリは、Linux のプログラム実行を支える基本要素です。LPIC では、.so、ldd、ldconfig、ライブラリ検索パスの関係を押さえると、実行時エラーの原因も読み解きやすくなります。
関連する記事
- LPIC 学習ノート – Linux 基礎とコマンド整理
LPIC 関連記事のハブです。 - LPIC /proc ディレクトリ – カーネルとプロセス情報を確認する
Linux 内部情報を確認する入口です。 - LPIC パッケージ管理の比較 – dpkg / rpm / apt / yum / dnf
ライブラリを提供するパッケージ管理と関係します。
参考書籍
参考
書籍
書籍
参考書籍
ストーリーで覚える Linux CLI 入門
Linux のコマンドライン操作を基礎から確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
LPIC 共有ライブラリ – ldd と ldconfig の基本

