LPIC-1 Exam 101 問題集

Linux Professional Institute LPIC-1 101試験(101-500)対策公式 Exam Objectives Version 5.0(101-500)準拠

LPIC-1 Exam 101の日本語問題集。全180問に解説つき。

LPIC-1 Exam 101 無料問題 3 / 10 ・ 分野2: Linux Installation and Package Management

自作のアプリケーションの共有ライブラリを /opt/tool/lib に置いた。この場所を、再起動のあとも続けて動的リンカーに探させたい。手順として正しいものはどれか。

  1. /etc/ld.so.conf.d/ に /opt/tool/lib と書いた .conf を置き、ldconfig を実行する
  2. /etc/ld.so.cache に /opt/tool/lib と書き足し、ldconfig を実行する
  3. /etc/ld.so.conf.d/ に /opt/tool/lib と書いた .conf を置き、次にプログラムを起動するのを待つ
  4. /etc/ld.so.cache に /opt/tool/lib と書き足し、次にプログラムを起動するのを待つ
正解と解説を見る

正解: A

正解の理由
動的にリンクされたプログラムを起動すると、動的リンカー(ld.so・ld-linux.so)が共有ライブラリを探して結びつける。探す場所は /etc/ld.so.conf で決まり、いまはふつう、その中の include の行で /etc/ld.so.conf.d/ の .conf を読み込む形になっている。.conf には共有ライブラリのディレクトリを絶対パスで書く。ldconfig はこれらの設定を読んでライブラリへのリンクを作り直し、動的リンカーが使うキャッシュ /etc/ld.so.cache を書き直すので、設定を足したり変えたりしたあとは必ず ldconfig を実行する。

違う選択肢
「/etc/ld.so.conf.d/ に /opt/tool/lib と書いた .conf を置き、次にプログラムを起動するのを待つ」… 書く場所は合っているが、動的リンカーは設定のファイルを起動のたびに読むのではなく、ldconfig が作ったキャッシュを使う。ldconfig を実行するまで /opt/tool/lib はキャッシュに入らない。
「/etc/ld.so.cache に /opt/tool/lib と書き足し、ldconfig を実行する」… ldconfig を使う点は合っているが、/etc/ld.so.cache は ldconfig が作るキャッシュで、人が書き足すファイルではない。ldconfig を実行すると設定のファイルから作り直され、書き足した行は残らない。
「/etc/ld.so.cache に /opt/tool/lib と書き足し、次にプログラムを起動するのを待つ」… 書く場所も、反映させる手順も取り違えている。

押さえどころ
ldconfig は root 所有の /etc/ld.so.cache を書き換えるので、root で(または sudo を付けて)実行する。いまのキャッシュに何が入っているかは ldconfig -p、処理したディレクトリと作ったリンクを見ながら実行するなら ldconfig -v。ファイル名に正確な版を持つ共有ライブラリの実体を、版の短い名前(libc.so.6 など)のシンボリックリンクから指す作りが一般的で、そのリンクを整えるのも ldconfig の仕事。

LPIC-1 Exam 101の演習アプリ(無料10問・全問は解錠で)へ

問題集(note)を見る