「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

ldconfig【コマンド】

pointこの用語のポイント

pointコマンドだよ

pointUNIX系で使えるよ

point共有ライブラリを認識させるよ

スポンサーリンク

簡単に書くよ

ldconfig【コマンド】とは

コンピュータさんに対する命令文(コマンド)のひとつ
であり

共有ライブラリ(いろいろなプログラムから使える、プログラムの部品)をコンピュータに教えてやるときに使うコマンド
です。


image piyo

詳しく書くよ

順番に見ていきましょう。
まずは予備知識として

共有
ライブラリ
共有ライブラリ
キャッシュ
キャッシュファイル
/etc/ld.so.conf
/etc/ld.so.cache


について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

共有は、今回は「一緒に使おうね~」の意味です。

ldconfig

ライブラリは「プログラムの部品をいっぱい集めて、ひとまとめにしたファイル」です。
いろいろできる便利な部品が詰まっています。

ldconfig2

共有ライブラリは「いろいろなプログラムから使えるライブラリ」です。
文字通り、共有して使えるライブラリです。

ldconfig3

キャッシュは「よく使うデータを取り出しやすいところに準備しておく仕組み」です。

ldconfig4

キャッシュファイルはキャッシュとしての役割で使われるファイル」です。

ldconfig5

あとは「/etc/ld.so.conf」と「/etc/ld.so.cache」の関係性も理解しておきましょう。

/etc/ld.so.conf」は「共有ライブラリの検索パス(共有ライブラリの探し場所)を書いておく設定ファイル」です。
「etc」ディレクトリの中の「ld.so.conf」ファイルで「/etc/ld.so.conf」ね。

ldconfig6

/etc/ld.so.cache」は「共有ライブラリの名前と実際のファイルの置き場所が書いてあるファイル」です。
「etc」ディレクトリの中の「ld.so.cache」ファイルで「/etc/ld.so.cache」ね。

ldconfig7

/etc/ld.so.conf」には共有ライブラリの置いてある場所を書きます。
人間様が編集するのは、このファイルです。

ただし、コンピュータさんは「/etc/ld.so.conf」を見ません。
/etc/ld.so.cache」を見て、お仕事をしています。

ldconfig8

そこで「/etc/ld.so.conf」を編集した後は中身を「/etc/ld.so.cache」に反映してあげる必要があります。

ldconfig9

以上を踏まえて

/etc/ld.so.conf」を「/etc/ld.so.cache」に反映するときに使うコマンド

が「ldconfig」コマンドです。

ldconfig10

コンピュータさんは「/etc/ld.so.cache」を見て「どんな共有ライブラリがあるかな~」を判断しています。
「ldconfig」コマンドを実行することによって「/etc/ld.so.conf」の内容をコンピュータさんに教えてあげるのです。

「ldconfig」コマンドはUNIXLinuxとかMacとか)で使えます。

書き方は

ldconfig [オプション]

です。
オプションは、あれやこれやとあります。

オプション説明
-c「使用する形式: new、old または compat(デフォルト)」らしい
-C【ファイル名】/etc/ld.so.cache」の代わりに指定したファイルを使う
-f【ファイル名】/etc/ld.so.conf」の代わりに指定したファイルを使う
-i「補助キャッシュファイルを無視しています」らしい
--ignore-aux-cache「補助キャッシュファイルを無視しています」らしい
-l「個々のライブラリを手動でリンクしてください」らしい
-nコマンドラインで指定されたディレクトリのみ処理します。キャッシュは作成しません。」らしい
-N「キャッシュの構築を行いません」らしい
-p/etc/ld.so.cache」の中身を表示する
--print-cache/etc/ld.so.cache」の中身を表示する
-r【パス】ルートディレクトリを指定したディレクトリに変える
-v詳細情報を表示する
--verbose詳細情報を表示する
-X「リンクを生成しません」らしい
-?ヘルプを表示する
--helpヘルプを表示する
--usage使い方を表示する
-Vバージョン情報を表示する
--versionバージョン情報を表示する

などです。

オプションを何も指定しないで

ldconfig

を実行すると、コンピュータさんは「/etc/ld.so.conf」の中に書いてある共有ライブラリの置き場所を見に行きます。
そして、そこで見つけた共有ライブラリを「/etc/ld.so.cache」に登録してくれます。
結果として「/etc/ld.so.conf」に書いた内容がコンピュータに反映される理屈です。

ldconfig11

あとは「-p」オプションも覚えておいてください。
「-p」オプションを指定して

ldconfig -p

を実行すると「/etc/ld.so.cache」の中身が表示されます。
私の環境CentOS 7)では以下の内容が表示されました。

320 個のライブラリがキャッシュ `/etc/ld.so.cache' 内で見つかりました
        p11-kit-trust.so (libc6,x86-64) => /lib64/p11-kit-trust.so
        libz.so.1 (libc6,x86-64) => /lib64/libz.so.1
        libxtables.so.10 (libc6,x86-64) => /lib64/libxtables.so.10
        libxshmfence.so.1 (libc6,x86-64) => /lib64/libxshmfence.so.1

(中略)

        libICE.so.6 (libc6,x86-64) => /lib64/libICE.so.6
        libGL.so.1 (libc6,x86-64) => /lib64/libGL.so.1
        libEGL.so.1 (libc6,x86-64) => /lib64/libEGL.so.1
        ld-linux-x86-64.so.2 (libc6,x86-64) => /lib64/ld-linux-x86-64.so.2


基本的な使い方は、そんなところです。
それ以外のオプションは、必要に応じて、情報を補完してください。


image piyo2

一言でまとめるよ

まぁ「ldconfig」ってコマンドが出てきたら「共有ライブラリ(いろいろなプログラムから使える、プログラムの部品)を認識させるときに使うんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像075
書籍画像034

おまけ

■訳してみるよ

「ld」は何の略でしょうね。
とりあえず、そのまま「ld」としておきます。
「config」は多分「configuration(コンフィグレーション)」の略です。
「configuration(コンフィグレーション)」の意味は「配置」とか「形状」とか「構成」とかです。
何となく くっつけると

ldの構成

となります。


■検索してみる?




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
実践サイバーセキュリティ入門講座 現場に残された痕跡からハッカーの攻撃を暴け
ウォーターサーバーのキャッチコピーを100本考える方法