LDCONFIG(8) FreeBSD システム管理者マニュアル LDCONFIG(8)
名称
ldconfig − 共有ライブラリのキャッシュを設定する |
書式
ldconfig [−aout | −elf] [−Rimrsv] [−f hints_file] [directory | file ...] |
解説 |
ldconfig ユーティリティは、ダイナミックリンカが、複数のディレクトリから利 用可能な共有ライブラリを素早く捜し出すために使う ‘‘ヒント’’ の集合を準備 するために使われます。コマンドは、組み込みのシステムディレクトリとコマン ドラインで指定された任意の ディレクトリ (を指定された順番) で共有ライブラ リを探し、その結果をシステムファイルに保存します。これは、ダイナミックリ ンカが要求された共有ライブラリを読み込む際のディレクトリ検索操作オーバ ヘッドをあらかじめ払っていることになります。 コマンドラインにて指定するファイル名は共有ライブラリを検査するディレクト リを含むことが期待されます。各ディレクトリのパス名は行の先頭から始まる必 要があります。空行およびコメント文字 ‘#’ から始まる行は無視されます。ヒン トファイルに追加可能とするために、ファイル名は lib*.so.[0-9] というパター ンであることが必要です。 セキュリティ上の理由から、誰でも書き込み可能またはグループ書き込み可能な ディレクトリと、 root が所有しないディレクトリに対しては、警告メッセージ を生成してスキップします。ただし、 −i オプションが存在する場合は、例外で す。 共有ライブラリは、実行されようとするプログラムによって必要とされるなら ば、利用可能なものが自動的に読み込まれることになります。これは、実行形式 に検索パスを保存する必要性を無くします。 LD_LIBRARY_PATH 環境変数は、キャッシュから使用するディレクトリ (や、その 順序関係) を上書きしたり、共有ライブラリを探す追加のディレクトリを指定す るために使われます。 LD_LIBRARY_PATH は、共有ライブラリを読み込む必要があ る時、ダイナミックリンカによって検索されるディレクトリパスのリストをコロ ン ‘:’ で区切って指定します。これは、 ld(1) における −L オプションと、実 行時点では等価です。 ldconfig ユーティリティは典型的にはブート時の手続きのひとつとして実行され ます。 以下のオプションが ldconfig で認識されます。 |
−aout
a.out 形式の共有ライブラリに対するヒントを生成します。 −elf −R −f hints_file −i −m −r −s −v セキュリティ |
セット uid (set-user-Id) プログラムのアドレス空間に共有ライブラリを読み込 む時には、特別の注意をしなければなりません。そのようなプログラムがプログ ラムの所有者以外によって実行される時はいつでも、ダイナミックリンカはヒン トファイルからだけ共有ライブラリを読み込みます。特に、 LD_LIBRARY_PATH は、ライブラリを探すためには使われません。従って、ldconfig の役割には 2 つあります。素早い検索のためにヒント集合を作成することに加えて、共有オブ ジェクトが共有ライブラリを安全に読み込むことができるディレクトリの集まり を特定することも、その役割です。 |
環境変数
OBJFORMAT
/etc/objformat (後述) に優先し、 −aout と −elf のどちらがデ フォルトであるかを決定します。設定されている場合、値は ‘aout’ もしくは ‘elf’ のいずれかである必要があります。 関連ファイル |
/var/run/ld.so.hints
a.out ダイナミックリンカの標準ヒントファイ ル。 関連項目 |
歴史
ldconfig ユーティリティは SunOS 4.0 で初めて現れました。現在の形は、 FreeBSD 1.1 からです。 |
バグ
−aout 指定時には、実行されないセキュリティチェックがあります (例えば、追 加されたディレクトリの root の所有権)。 FreeBSD 10.0 October 3, 1993 FreeBSD 10.0 |