日本語 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.4-RELEASE-K, 13.0-RELEASE-K から 13.3-RELEASE-K, 14.0-RELEASE-K から 14.1-RELEASE-K は、全翻訳済み)
13.3-STABLE-K, 15.0-CURRENT-K は現在、作成中で日々更新されています。
Table of Contents
AR(5) FreeBSD ファイルフォーマットマニュアル AR(5) 名称 ar -- ar(1) と ranlib(1) のためのアーカイブファイル形式 書式 #include <ar.h> 解説 ar(1) アーカイブは、ar(1) と ranlib(1) ユーティリティによって作成され管理 されます。これらのアーカイブは、通常プログラムオブジェクトのライブラリを 保持するためにプログラム開発の間に使用されます。ar(1) アーカイブは、単一 のオペレーティングシステムのファイルに含まれています。 このマニュアルページは、ar(1) アーカイブ形式の 2 つの変異型を文書化してい ます: BSD アーカイブ形式と SVR4/GNU アーカイブ形式です。 両方の変異型では、アーカイブファイルは、ASCII のラインフィード文字が続 く、7 つの ASCII 文字 `!<arch>' の識別バイトシーケンスで始まります (ヘッ ダファイル <ar.h> の定数 ``ARMAG'' を参照してください)。 アーカイブメンバは、初期の識別バイトシーケンスが続きます。各アーカイブメ ンバは、メンバに関連しているファイル属性を説明する固定サイズのヘッダが前 に置かれます。 アーカイブヘッダ アーカイブヘッダは、それに続くアーカイブメンバのためのファイル属性を説明 しています。ar 形式は、限られた数の属性のみをサポートしています: ファイル 名、ファイル作成のタイムスタンプ、クリエイタの uid と gid、ファイルモード とファイルサイズです。 アーカイブヘッダは、アーカイブファイルの偶数のバイトオフセットに置かれま す。アーカイブメンバのためのデータが奇数バイトで終わるなら、値 0x0A の詰 め物バイトは、偶数のバイトオフセットに次のアーカイブヘッダを位置付けるた めに使用されます。 アーカイブヘッダは、次の固定サイズのフィールドを構成します: ar_name (16 バイト) アーカイブメンバのファイル名。このフィールドの形 式は、BSD と SVR4/GNU 形式の間で異なり、下記のセクション 「ファイル名の表現」でより詳細に説明されています。 ar_date (12 バイト) 10 進数としてエンコードされた、(UNIX) 基準時点以 来の秒単位のメンバのためのファイル更新時刻。 ar_uid (6 バイト) uid は、10 進数としてエンコードされた、アーカイブ メンバに関連しています。 ar_gid (6 バイト) gid は、10 進数としてエンコードされた、アーカイブ メンバに関連しています。 ar_mode (8 バイト) 8 進数としてエンコードされた、アーカイブメンバのた めのファイルモード。 ar_size (10 バイト) SVR4/GNU アーカイブ形式では、このフィールドは、10 進数としてエンコードされた、アーカイブメンバのバイト単位のサ イズを保持しています。BSD アーカイブ形式で、短いファイル名に 関して、このフィールドは、10 進数としてエンコードされた、アー カイブメンバのバイト単位のサイズを保持しています。長いファイ ル名に関して、(下記の「ファイル名の表現」を参照) そのフィール ドは、10 進数としてエンコードされた、アーカイブメンバとその ファイル名の結合されたサイズを含んでいます。 ar_fmag (2 バイト) このフィールドは、ヘッダの終りをマークし、それぞ れ、値 0x96 と 0x0A がある 2 バイトを保持しています。 アーカイブヘッダのフィールドの未使用のバイトは、値 0x20 に設定されます。 ファイル名の表現 BSD と SVR4/GNU の変異型は、メンバのためのファイル名をエンコードするため に異なったスキーム (scheme) を使用します。 BSD 最大 16 バイト長で、埋め込まれた空白を含まないファイル名は、直 接アーカイブヘッダの ar_name フィールドに格納されます。16 バイ トより長いか、または埋め込まれた空白を含むファイル名は、アーカ イブヘッダの直後に格納され、アーカイブヘッダの ar_name フィール ドは、文字列 ``#1/'' に設定され、ファイル名に必要であるバイト数 の 10 進表現が続きます。さらに、アーカイブヘッダの ar_size フィールドは、アーカイブメンバとファイル名の結合したサイズの 10 進表現に設定されます。メンバのファイル内容は、さらなる詰め物な しで、ファイル名に続きます。 例として、メンバのためのファイル名が ``A B'' であり、その内容が 文字列 ``C D'' であったなら、ヘッダの ar_name フィールドは、 ``#1/3'' を含み、ヘッダの ar_size フィールドは、``6'' を含み、 ヘッダの直後に続くバイトは、0x41, 0x20, 0x42, 0x43, 0x20 と 0x44 (ASCII ``A BC D'') となるでしょう。 SVR4/GNU 最大 15 文字長のファイル名は、ヘッダの ar_name フィールドに直接 格納され、``/'' 文字で終了します。 ファイル名が ar_name フィールドのための空間に適合するより大きい なら、実際のファイル名は、アーカイブ文字列テーブル (下記の 「アーカイブシンボルテーブル」参照) に保持され、文字列テーブル でのファイル名の 10 進数オフセットは、``/'' 文字が前に置かれ た、ar_name フィールドに格納されます。 例として、実際のファイル名がアーカイブ文字列テーブルのオフセッ ト 768 に格納されているなら、ヘッダの ar_name フィールドは、文 字列 ``/768'' を含むます。 特別のアーカイブメンバ 次ののアーカイブメンバは、特別です。 ``/'' アーカイブ形式の SVR4/GNU 変異型では、名前 ``/'' があるアーカイブ メンバは、アーカイブシンボルテーブルを意味します。存在しているな ら、このメンバは、アーカイブの本当に最初のメンバになります。 ``//'' アーカイブ形式の SVR4/GNU 変異型では、名前 ``//'' があるアーカイ ブメンバは、アーカイブ文字列テーブルを意味します。この特別のメン バは、ヘッダのファイル名フィールドに底号しないファイル名を保持す るために使用されます (上記の「ファイル名の表現」を参照してくださ い。) 存在しているなら、このメンバは、アーカイブシンボルテーブル が存在しているなら、アーカイブシンボルテーブルの直後に続き、そう でなければ、最初のメンバです。 ``__.SYMDEF'' この特別のメンバは、アーカイブ形式の BSD 変異型のアーカイブシンボ ルテーブルを含みます。存在しているなら、このメンバは、アーカイブ の本当の最初のメンバとなります アーカイブ文字列テーブル アーカイブ文字列テーブルは、アーカイブヘッダの ar_name フィールドの制約に 適合することができない大きなファイル名を保持するために SVR4/GNU アーカイ ブ形式で使用されます。アーカイブ文字列テーブルは、ファイル名のシーケンス を含んでいます。アーカイブ文字列テーブルの各ファイル名は、バイト列 0x2F、 0x0A (ASCII 文字列 ``/\n'') で終了します。隣接したファイル名を区切るため の詰め物は、使用されません。 アーカイブシンボルテーブル アーカイブシンボルテーブルは、アーカイブと対応するアーカイブメンバで定義 されたプログラムシンボルの間のマッピングを提供することによってリンクの編 集を早くするために使用されます。アーカイブシンボルテーブルは、ranlib(1) ユーティリティによって管理されます。 アーカイブシンボルテーブルの形式は、次の通りです: BSD BSD アーカイブ形式では、アーカイブシンボルテーブルは、2 つの部 分から成っています: struct ranlib の配列を含む部分と、シンボル 文字列テーブルを含む部分が後に続きます。BSD 形式アーカイブシン ボルテーブルを構成する構造体のサイズと配置は、マシン依存です。 struct ranlib 記述子を含む部分は、C の long 値としてエンコード された struct ranlib 記述子の配列のバイト単位のサイズを含んでい るフィールドで始まります。 struct ranlib 記述子の配列が、サイズフィールドに続きます。各 struct ranlib 記述子は、1 つのシンボルを記述しています。 struct ranlib 記述子は、2 つのフィールドから成ります: ran_strx (C long) このフィールドは、シンボル文字列テーブル のシンボル名の 0 ベースのオフセットを含んでいま す。 ran_off (C long) このフィールドは、シンボルを定義するアー カイブメンバのためのアーカイブヘッダへのファイルの オフセットです。 シンボル文字列テーブルを含む部分は、C の long 値としてエンコー ドされた文字列テーブルのバイト単位のサイズを含むフィールドで始 まります。この文字列テーブルは、サイズフィールドに続き、シンボ ルテーブルのシンボルのためのヌル文字で終了する文字列を含んでい ます。 SVR4/GNU SVR4/GNU アーカイブ形式では、アーカイブシンボルテーブルは、アー カイブシンボルテーブルに含まれるエントリの数を含む 4 バイトのバ イナリ値で始まります。このエントリのカウントは、最初に最上位の バイトに格納されます。 次に、count の 4 バイトの数値、最初の各格納された最上位のバイト があります。各数値は、対応するシンボルテーブルエントリのための アーカイブファイルのメンバのためにアーカイブヘッダへのバイナリ のオフセットです。 バイナリのオフセット値の後に、対応するシンボルテーブルエントリ のためのシンボル名を保持している、count のヌル文字で終了する文 字列のシーケンスがあります。 規格の順守 ar(1) アーカイブ形式は、現在、規格によって明記されていません。 このマニュアルページは、4.4BSD と UNIX SVR4 オペレーティングシステムリ リースによって使用される ar(1) アーカイブ形式を文書化しています。 関連項目 ar(1), ld(1), ranlib(1), elf(3), elf_getarsym(3), elf_rand(3) FreeBSD 11.4 November 28, 2010 FreeBSD 11.4