102.3標準
testappを1回だけ起動する際、/opt/test/libを共有ライブラリ検索パスへ先に追加する。
システム全体の設定やキャッシュは変更しない。
適切なコマンドはどれか。
× 不正解
コマンド前のLD_LIBRARY_PATH代入は、その実行環境だけに検索ディレクトリを追加する。永続設定やキャッシュを変更しない。
詳細解説
誤り
PATH=/opt/test/lib ./testappPATHは実行コマンド検索用で、共有ライブラリ検索用ではない。
実行コマンド検索用である。
誤り
LIBRARY=/opt/test/lib ./testapp動的リンカーが標準的に使う変数名ではない。
標準変数名ではない。
誤り
ldconfig /opt/test/lib ./testapp一時環境変数による実行ではなく、構文も目的と一致しない。
一時実行の構文ではない。
正しい
LD_LIBRARY_PATH=/opt/test/lib ./testappそのコマンドの環境だけへ共有ライブラリ検索パスを設定する。
正解。その実行だけ検索パスを追加する。
実際に確かめる
一時的な検証環境で実行できる例です。
LD_LIBRARY_PATH=/opt/test/lib sh -c 'printf "%s\n" "$LD_LIBRARY_PATH"'期待される結果
/opt/test/lib理解のポイント
- LD_LIBRARY_PATHは動的ライブラリ用
- コマンド前代入は一時的
- 本番運用では乱用を避ける
確認時の注意
- 確認環境: Linux / POSIX shell・glibc dynamic linker
基礎のおさらい
コマンド前代入
NAME=value commandはそのコマンド環境だけに変数を渡す。
優先順位とリスク
意図しない同名ライブラリを読ませる危険があるため、範囲を限定して使う。
問題IDKP-102-188
確認環境Linux / POSIX shell・glibc dynamic linker
最終技術確認2026-08-12
誤り・権利侵害を報告