mgmmyBlog

Webエンジニア👩‍💻 Railsの話がメインです。

【LPIC101】Linuxのインストールとパッケージ管理:共有ライブラリの管理

f:id:mgmmy:20200531131858p:plain

LPICの勉強を兼ねて、Ping−tで学習したことをまとめています✍️

Linuxのインストールとパッケージ管理

共有ライブラリの管理

ライブラリとは

  • 汎用性の高いプログラムを再利用可能な形にしてまとめたもの。
  • 単独で実行することはなく、他のプログラムに組み込んで呼び出して利用する。
  • 複数のプログラムから参照して使えるようにしたものを 共有ライブラリ と呼ぶ。

etc/ld.so.conf ファイル

  • 共有ライブラリの検索パスが記述されている。

etc/ld.so.cashe ファイル

  • 共有ライブラリを検索するためのバイナリファイル。
  • バイナリファイルであるため、etc/ld.so.conf ファイルより早く検索できる。

ldconfig コマンド

  • 共有ライブラリのキャッシュファイルを更新する。
  • etc/ld.so.conf ファイルを参照し、etc/ld.so.cashe ファイルを更新(作成)する。

/lib/usr/lib ディレクト

  • 一般的に使用される共有ライブラリが格納される。
  • 64ビット版は /lib/64usr/lib64 に格納される。

共有ライブラリを /lib /usr/lib ディレクトリ以外に配置する場合は、以下のいずれかの方法で共有ライブラリの検索パスを設定する必要がある。

  • 環境変数 LD_LIBRARY_PATH に検索パスを追加する。
  • /etc/ld.so.conf ファイルに検索パスを追記して ldconfig コマンドで /etc/ld.so.cashe ファイルを更新(作成)する。

ldd コマンド

  • あるプログラム(コマンド)が必要としている共有ライブラリを表示する。
  • 書式:ldd コマンドのパス

例:/bin/cat コマンドが必要としている共有ライブラリを表示する場合

# 実行
ldd /bin/cat

# 結果
linux-gate.so.1 =>  (0x00e2b000)
libc.so.6 => /lib/libc.so.6 (0x00659000)
/lib/ld-linux.so.2 (0x00633000)