依存関係 (Dependency)

カテゴリ: パッケージ管理

依存関係(Dependency)とは、あるソフトウェアが正常に動作するために、別のソフトウェア(共有ライブラリなど)を必要とする関係性のことです。

共有ライブラリの仕組み

Linuxでは、多くのプログラムで共通して使われる機能(画面描画機能など)を「共有ライブラリ」として切り出し、複数のソフトで使い回します。これによりディスク容量やメモリを節約できますが、一方で「ライブラリが入っていないとソフトが動かない」という制約が生まれます。これが依存関係です。

パッケージマネージャーの役割

現代のパッケージマネージャー(yumやapt)は、ユーザーがソフトAをインストールしようとした時、自動的に「Aに必要なBとC」も一緒にダウンロードしてインストールしてくれます。