FreeBSD 日本語マニュアル検索 (jman/japropos/jwhatis)


日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。

4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K, 12.1-RELEASE-K は、 プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.4-RELEASE-K, 8.0-RELEASE-K から 8.4-RELEASE-K, 9.0-RELEASE-K から 9.3-RELEASE-K, 10.0-RELEASE-K から 10.3-RELEASE-K, 11.0-RELEASE-K から 11.4-RELEASE-K, 12.0-RELEASE-K から 12.3-RELEASE-K, 13.0-RELEASE-K から 13.2-RELEASE-K は、全翻訳済み)

13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。



検索コマンド: man apropos whatis
コマンド/キーワード:
日本語マニュアル RELEASE :
セクション:
Table of Contents
名称 | 解説 | 直接の実行モード | 関連ファイル | 関連項目
RTLD(1)                 FreeBSD 一般コマンドマニュアル                 RTLD(1)

名称
     ld-elf.so.1, ld.so, rtld -- 実行時のリンクエディタ

解説
     ld-elf.so.1 ユーティリティは、プロセスのアドレス空間に共有オブジェクトを
     ロードしてリンクエディトするための実行時のサポートを提供する自己完結型の
     共有オブジェクトです。また、それは、動的なリンカとして一般的に知られてい
     ます。それは、どの共有ライブラリが必要かを決定するために動的にリンクされ
     たプログラム内に含まれるデータ構造体を使用し、mmap(2) システムコールを使
     用して、それらをロードします。

     すべての共有ライブラリが成功してロードされた後に、ld-elf.so.1 は、メイン
     プログラムとすべてロードされたオブジェクトの両方の外部参照を解決し続けま
     す。メカニズムは、適切なプログラムの実行が始まる前に、共有オブジェクトに
     あらゆる特別のセットアップを実行する機会を与え、基本オブジェクトごとに呼
     び出される初期設定ルーチンのために提供されています。これは、静的なコンス
     トラクタを含む C++ ライブラリのために役に立ちます。

     ロードされたオブジェクトのための依存状態を解決するとき、ld-elf.so.1 は、
     rpath と soname の動的なトークン文字列を変換します。静的なリンカの -z
     origin オプションがバイナリをリンクする時に設定されたなら、トークンの展開
     は、オブジェクトロード時に実行されます、ld(1) を参照。次の文字列が現在、
     認識されます:

     $ORIGIN    ロードされたオブジェクトのフルパスに変換されます。

     $OSNAME    オペレーティングシステム実装の名前に変換されます。

     $OSREL     オペレーティングシステムのリリースレベルに変換されます。

     $PLATFORM  マシンハードウェアプラットフォームに変換されます。

     ld-elf.so.1 ユーティリティ自体は、実行されることになっているあらゆる動的
     にリンクされたプログラムとともにカーネルによってロードされます。カーネル
     は、動的なリンカに制御を移します。動的なリンカは、プログラムとその必要と
     される共有されるオブジェクトをロードし、リロケーションし、初期化すること
     を終了した後に、プログラムのエントリポイントに制御を移します。次の検索順
     序は、必要な共有オブジェクトを見つけるために使用されます:

           1.   そのオブジェクトも DT_RUNPATH タグを含んでいないなら、参照する
                オブジェクトの DT_RPATH
           2.   参照するオブジェクトが DT_RUNPATH タグを含んでいなければ、プロ
                グラムの DT_RPATH
           3.   LD_LIBRARY_PATH 環境変数によって示されるパス
           4.   参照するオブジェクトの DT_RUNPATH
           5.   ldconfig(8) ユーティリティによって生成されたヒントファイル
           6.   参照されるオブジェクトが ``-z nodefaultlib'' オプションを使用
                して、リンクされなかったなら、/lib/usr/lib ディレクトリ。

     ld-elf.so.1 ユーティリティは、その振る舞いを修正するために使用することが
     できる多くの環境変数を認識します。64 ビットのアーキテクチャにおいて、32
     ビットのオブジェクトのためのリンカは、下記にリストされた環境変数をすべて
     認識しますが、LD_32_ が前に付けられます、例えば、次の通りです:
     LD_32_TRACE_LOADED_OBJECTS。

     LD_DUMP_REL_POST   設定されるなら、ld-elf.so.1 は、シンボル結合とリロケー
                        ションの後に、すべてのリロケーションを含んでいるテーブ
                        ルを印刷 (表示) します。

     LD_DUMP_REL_PRE    設定されるなら、ld-elf.so.1 は、シンボル結合とリロケー
                        ションの前に、すべてのリロケーションを含んでいるテーブ
                        ルを印刷 (表示) します。

     LD_LIBMAP          libmap.conf(5) と同じ形式のライブラリ置換リスト。便宜
                        上、空白と改行の代わりに文字 `=' と `,' を使用すること
                        ができます。この変数は、libmap.conf(5) の後に解析さ
                        れ、そのエントリを上書きします。この変数は、セットユー
                        ザ ID (set-user-ID) とセットグループ ID (set-group-ID)
                        プログラムのために未設定とされます。

     LD_LIBMAP_DISABLE  設定されるなら、libmap.conf(5) と LD_LIBMAP の使用を無
                        効とします。この変数は、セットユーザ ID (set-user-ID)
                        とセットグループ ID (set-group-ID) プログラムに対して
                        未設定とされます。

     LD_ELF_HINTS_PATH  この変数は、``hints'' ファイルのデフォルト位置を上書き
                        します。この変数は、セットユーザ ID (set-user-ID) と
                        セットグループ ID (set-group-ID) プログラムのために未
                        設定とされます。

     LD_LIBRARY_PATH    共有ライブラリのためにデフォルトの検索パスを上書きし
                        て、ディレクトリのコロンで区切られたリスト。この変数
                        は、セットユーザ ID (set-user-ID) とセットグループ ID
                        (set-group-ID) プログラムのために未設定とされます。

     LD_LIBRARY_PATH_RPATH
                        変数が指定され、'y'、'Y' または '1' シンボルのいずれか
                        で始まる値があるなら、LD_LIBRARY_PATH 変数によって指定
                        されたパスは、DT_RUNPATH タグを含んでいないバイナリの
                        ための DT_RPATH からのパスを無視することができます。そ
                        のようなバイナリに関して、変数 LD_LIBRARY_PATH_RPATH
                        が設定されるとき、``-z nodefaultlib'' のリンク時オプ
                        ションは、同様に無視されます。

     LD_PRELOAD         あらゆる他の共有ライブラリの前にリンクされるコロンまた
                        は空白類によって区切られる共有ライブラリのリスト。ディ
                        レクトリが指定されないなら、LD_LIBRARY_PATH によって指
                        定されるディレクトリが、最初に検索され、続いて組み込み
                        の標準ディレクトリの組が検索されます。この変数は、セッ
                        トユーザ ID (set-user-ID) とセットグループ ID (set
                        group-ID) プログラムのために未設定とされます。

     LD_LIBRARY_PATH_FDS
                        ライブラリのディレクトリのためのファイル記述子番号のコ
                        ロンで区切られたリスト。これは、ファイルシステムのよう
                        なグローバルな名前空間が利用不可能なとき、capsicum(4)
                        サンドボックス内の使用を目的としています。それは、
                        LD_LIBRARY_PATH の直後に調べられます。この変数は、セッ
                        トユーザ ID (set-user-ID) とセットグループ ID (set
                        group-ID) プログラムのために未設定とされます。

     LD_BIND_NOT        空でない文字列に設定されるとき、バインディングを行うと
                        き、PLT スロットの修正を防止します。結果として、PLT 解
                        決された関数の各呼び出しが解決されます。デバッグ出力と
                        の組み合わせで、これは、実行時にすべてのバインディング
                        のアクションの完全なアカウントを提供します。この変数
                        は、セットユーザ ID (set-user-ID) とセットグループ ID
                        (set-group-ID) プログラムに対して未設定とされます。

     LD_BIND_NOW        空でない文字列に設定されるとき、ld-elf.so.1 は、プログ
                        ラムの実行を開始する前に、すべての外部関数の呼び出しを
                        リロケーションします。通常、関数呼び出しは、各関数の最
                        初の呼び出しで、ゆるく結合 (bound lazily) されます。
                        LD_BIND_NOW は、プログラムの起動時間を増加させますが、
                        それは、未定義の関数によって引き起こされる実行時の予想
                        外の問題を回避します。

     LD_TRACE_LOADED_OBJECTS
                        空でない文字列に設定されるとき、ld-elf.so.1 は、共有さ
                        れるオブジェクトをロードし、すべてのオブジェクトの絶対
                        的なパス名を含んでいる要約を標準出力に印刷 (表示) した
                        後に、終了します。

     LD_TRACE_LOADED_OBJECTS_ALL
                        空でない文字列に設定されるとき、ld-elf.so.1 は、各オブ
                        ジェクトがロードを引き起こすオブジェクトを示す要約を展
                        開します。

     LD_TRACE_LOADED_OBJECTS_FMT1

     LD_TRACE_LOADED_OBJECTS_FMT2
                        設定されるとき、これらの変数は、トレース出力をカスタマ
                        イズする printf(3) の様式の書式文字列として解釈され、
                        ldd(1)-f オプションによって使用され、ldd(1) は、よ
                        り便利なフィルタとして操作できます。依存する名前が文字
                        列 lib で始まるなら、LD_TRACE_LOADED_OBJECTS_FMT1 が使
                        用されます、そうでなければ
                        LD_TRACE_LOADED_OBJECTS_FMT2 が使用されます。次の変換
                        を使用することができます:

                        %a    (``__progname'' の別名でも知られる) メインプログ
                              ラムの名前。

                        %A    環境変数 LD_TRACE_LOADED_OBJECTS_PROGNAME の値。
                              通常、ldd(1) を使用して検査されるプログラムの名
                              前と共有ライブラリの両方を印刷 (表示) するために
                              使用されます。

                        %o    ライブラリ名。

                        %p    rtld のライブラリ検索規則によって決定されるフル
                              パス名。

                        %x    ライブラリのロードアドレス。

                        さらに、`\n' と `\t' が、認識され、それらの通常の意味
                        があります。

     LD_UTRACE          設定されるなら、ld-elf.so.1 は、utrace(2) を通して共有
                        オブジェクトのロードとアンロードのようなイベントをログ
                        登録します。

     LD_LOADFLTR        設定されるなら、ld-elf.so.1 は、必要になるまで、それを
                        延期することの代わりに直ちにロードされたオブジェクトの
                        filtee の依存を処理します。通常、filtee は、フィルタオ
                        ブジェクトから最初のシンボルの解決時点で、オープンされ
                        ます。

直接の実行モード
     ld-elf.so.1 は、通常、暗黙的に使用され、実行されたバイナリの PT_INTERP プ
     ログラムヘッダによって要求されるようにカーネルによってロードされます。ま
     た、FreeBSD は、動的なリンカのための直接の実行モードもサポートしていま
     す。このモードで、ユーザは、ld-elf.so.1 を明示的に実行し、引数としてリン
     クされ、実行されるプログラムのパスを提供します。このモードは、バイナリを
     変更せずに、またはインストールされた動的なリンカを変更せずに、プログラム
     の活性化のために、標準でない動的なリンカの使用を許可します。実行オプショ
     ンは、指定されます。

     直接的な呼び出しの構文は、次の通りです。

           /libexec/ld-elf.so.1 [-f fd] [-p] [--] image_path [image arguments]

     オプションは、次の通りです:

     -f fd   ファイル記述子 fd は、ld-elf.so.1 によって活性化されるバイナリを
             参照します。ld-elf.so.1 を実行するとき、プロセスで既にオープンさ
             れていなければなりません。このオプションが指定されるなら、
             image_path は、プログラムに argv[0] 値を提供するためだけに使用さ
             れます。

     -p      image_path 引数が、スラッシュ ``/'' 文字を含まない名前を指定する
             なら、ld-elf.so.1 は、実行するバイナリを見つけるために環境変数
             PATH によって提供された検索パスを使用します。

     --      ld-elf.so.1 オプションを終わります。-- に続く引数は、実行するバイ
             ナリのパスとして解釈されます。

     直接的な実行モードで、ld-elf.so.1 は、現在のユーザのためのバイナリ実行
     パーミッションの検証をエミュレートします。これは、単純に制限された実行環
     境のユーザ予想を壊すことを避けるために行われます。検証は、Unix の DACs の
     みを使用し、ACLs を無視し、もちろん競合状態になる傾向があります。そのよう
     な制限に依存している環境は、それ自体で弱く、壊れやすくなっています。

関連ファイル
     /var/run/ld-elf.so.hints    ヒントファイル。
     /var/run/ld-elf32.so.hints  64 ビットシステムで 32 ビットバイナリのための
                                 ヒントファイル。
     /etc/libmap.conf            libmap 設定ファイル。
     /etc/libmap32.conf          64 ビットシステムで 32 ビットバイナリのための
                                 libmap 設定ファイル。

関連項目
     ld(1), ldd(1), capsicum(4), elf(5), libmap.conf(5), ldconfig(8)

FreeBSD 11.2                     May 20, 2017                     FreeBSD 11.2

Table of Contents

FreeBSD マニュアル検索