概要
共有ライブラリ(shared library)は、複数のプログラムから共通利用できるように分離されたライブラリ形式です。
やさしい説明
共有ライブラリは、必要な時に読み込んで使う共通部品です。
詳細解説
共有ライブラリ(shared library)は、実行ファイルの中へあらかじめ取り込むのではなく、実行時にローダーが読み込む前提で用意されたライブラリです。これにより、複数のプログラムが同じ機能を共有しやすくなり、ディスク使用量や更新管理を効率化できます。一方で、ライブラリの版違いや互換性の差が原因で、起動失敗や動作不整合が起こることもあります。Linuxで共有ライブラリを理解する時は、配置場所、検索経路、依存関係、ABI互換性をあわせて考えると整理しやすくなります。
この用語が重要な理由
共有ライブラリの仕組みを理解すると、更新時の影響範囲や起動時の依存関係問題を読み解きやすくなります。
この用語を知らないと困る場面
実行時エラーでライブラリ不足が出た時、パッケージ更新後の不具合を調べる時、静的リンクとの違いを考える時に重要です。
一番よくある誤解
共有ライブラリは静的ライブラリと同じではありません。共有ライブラリは実行時に読み込まれ、静的ライブラリはビルド時に実行ファイルへ取り込まれます。
理解チェック
要点を言い換えたり、関連例を思い出せたらチェックを入れてください。
-
共有ライブラリが何を表し、どこで使われるかを説明できれば理解は十分です。
用例
- 実行ファイルがどの共有ライブラリへ依存しているかを確認し、版の不一致がないかを調べる。
現場で見る場所
-
実行時依存、ライブラリ検索経路、パッケージ更新後の不具合
共有ライブラリと静的リンクの違いは何ですか?用語の正体と周辺の仕組みを意識しながら読むと、設定や出力の意味を取り違えにくくなります。
混同しやすい用語
-
ELF 共有ライブラリはELFと近い場面で登場しますが、同じ意味ではありません。共有ライブラリは複数の実行ファイルから共有して利用するライブラリです。一方、ELFはLinuxで一般的に使われる実行ファイルやオブジェクトファイルの形式です。
FAQ
-
Q. 共有ライブラリは実行時に読み込まれる共通部品で、静的リンクは必要なコードをビルド時に実行ファイルへ取り込みます。 A. 共有ライブラリが実行時に関係する理由を説明できるか
関連コマンド
資格試験との関連
-
LPIC-2 201 範囲: ビルド、リンク、実行形式、開発基盤の理解共有ライブラリはビルド、リンク、実行形式、開発基盤の理解に関わる語で、試験範囲の文章、設定、障害時の説明を読み解く土台になります。
-
LinuC レベル2 201 範囲: ビルド、リンク、実行形式、開発基盤の理解共有ライブラリはビルド、リンク、実行形式、開発基盤の理解に関わる語で、試験範囲の文章、設定、障害時の説明を読み解く土台になります。
参照リンク
- カテゴリー: Development Build
- レベル: Basic
- 対応試験: LinuC レベル2 201, LPIC-2 201