OSDN Git Service

Complete fanotify_mark.2, utimensat.2, iconv.1
authorAkihiro MOTOKI <amotoki@gmail.com>
Sun, 18 Jan 2015 10:35:34 +0000 (19:35 +0900)
committerAkihiro MOTOKI <amotoki@gmail.com>
Sun, 18 Jan 2015 10:35:34 +0000 (19:35 +0900)
Also updates fcntl.2, prctl.2, proc.5

19 files changed:
draft/man1/iconv.1 [new file with mode: 0644]
draft/man2/fanotify_mark.2 [new file with mode: 0644]
draft/man2/fcntl.2
draft/man2/prctl.2
draft/man2/utimensat.2 [new file with mode: 0644]
draft/man5/proc.5
po4a/intro/po/ja.po
po4a/locale/po/ja.po
po4a/notify/po/ja.po
po4a/signal/po/ja.po
po4a/time/po/ja.po
po4a/unistd/po/ja.po
stats/intro
stats/locale
stats/notify
stats/signal
stats/time
stats/unistd
untrans.html

diff --git a/draft/man1/iconv.1 b/draft/man1/iconv.1
new file mode 100644 (file)
index 0000000..e04e6d6
--- /dev/null
@@ -0,0 +1,136 @@
+.\" t -*- coding: UTF-8 -*-
+.\"
+.\" Copyright (C) 2014 Marko Myllynen <myllynen@redhat.com>
+.\"
+.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2 of
+.\" the License, or (at your option) any later version.
+.\"
+.\" The GNU General Public License's references to "object code"
+.\" and "executables" are to be interpreted as the output of any
+.\" document formatting or typesetting system, including
+.\" intermediate and printed output.
+.\"
+.\" This manual is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public
+.\" License along with this manual; if not, see
+.\" <http://www.gnu.org/licenses/>.
+.\" %%%LICENSE_END
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH ICONV 1 2014\-07\-08 GNU "Linux User Manual"
+.SH 名前
+iconv \- テキストをある文字符号化から別の文字符号化に変換する
+.SH 書式
+\fBiconv\fP [\fIoptions\fP] [\-f \fIfrom\-encoding\fP] [\-t \fIto\-encoding\fP]
+[\fIinputfile\fP]...
+.SH 説明
+\fBiconv\fP プログラムはある符号化 (encoding) からテキストを読み出し、 別の符号化でそのテキストを出力する。
+入力が指定されなかった場合、 もしくは入力ファイルとしてダッシュ (\-) が指定された場合、 \fBiconv\fP は標準入力から入力を行う。
+出力が指定されなかった場合、 \fBiconv\fP は標準出力に出力する。
+.PP
+\fIfrom\-encoding\fP が指定されなかった場合、 デフォルトは現在のロケールの文字符号化から取得される。 \fIto\-encoding\fP
+が指定されなかった場合、 デフォルトは現在のロケールの文字符号化から取得される。
+.SH オプション
+.TP 
+\fB\-f\fP\fI from\-encoding\fP\fB, \-\-from\-code=\fP\fIfrom\-encoding\fP
+文字入力に \fIfrom\-encoding\fP を使用する。
+.TP 
+\fB\-t\fP\fI to\-encoding\fP\fB, \-\-to\-code=\fP\fIto\-encoding\fP
+文字出力に \fIto\-encoding\fP を使用する。
+
+\fIto\-encoding\fP の後ろに文字列 \fB//IGNORE\fP が付いていた場合、 変換できなかった文字は破棄され、 変換後にエラーが表示される。
+
+\fIto\-encoding\fP の後ろに文字列 \fB//TRANSLIT\fP が付いていた場合、 変換される文字の書き直し (transliterate)
+が必要で可能な場合、書き直しが行われる。 変換先の文字集合で文字が表現できない場合、 変換先の文字集合の文字に近似されることを意味する (1
+文字の場合も複数文字の場合もある)。 変換先の文字集合外の文字で、書き直しもできない文字は、 出力では疑問符 (?) に置き換えられる。
+.TP 
+\fB\-l\fP, \fB\-\-list\fP
+認識するすべての文字集合符号化のリストを表示する。
+.TP 
+\fB\-c\fP
+変換できない文字があった場合に、 変換を終了するのではなく、 その文字を黙って破棄する。
+.TP 
+\fB\-o\fP\fI outputfile\fP\fB, \-\-output=\fP\fIoutputfile\fP
+出力に \fIoutputfile\fP を使用する。
+.TP 
+\fB\-s\fP, \fB\-\-silent\fP
+このオプションは無視される。 互換性のためだけに存在する。
+.TP 
+\fB\-\-verbose\fP
+複数のファイルを処理する際に進捗情報を標準エラーに出力する。
+.TP 
+\fB\-?\fP, \fB\-\-help\fP
+使用方法を表示し、終了する。
+.TP 
+\fB\-\-usage\fP
+簡潔な使用方法を出力し、終了する。
+.TP 
+\fB\-V\fP, \fB\-\-version\fP
+\fBiconv\fP のバージョン番号、 ライセンス、 保証免責を表示する。
+.SH 終了ステータス
+成功すると 0 で、 エラーの場合 0 以外。
+.SH 環境変数
+内部では、 \fBiconv\fP プログラムは \fBiconv\fP(3) 関数を使用する。 \fBiconv\fP(3) 関数は順に \fIgconv\fP モジュール
+(動的にロードされる共有ライブラリ) を使って、 変換元、変換先の文字集合を取り扱う。 \fBiconv\fP(3) を呼び出す前に、 \fBiconv\fP
+プログラムは最初に \fBiconv_open\fP(3) を使って変換ディスクリプターを割り当てる。 \fBiconv_open\fP(3) の動作は
+\fBGCONV_PATH\fP 環境変数の設定の影響を受ける。
+.IP * 3
+\fBGCONV_PATH\fP が設定されていない場合、 \fBiconv_open\fP(3) は \fBiconvconfig\fP(8)
+により作成されたシステムの gconv モジュール設定キャッシュファイルを読み込み、 それからこの設定に基づき、 変換を行うのに必要な gconv
+モジュールをロードする。 システムの gconv モジュール設定キャッシュファイルが利用できない場合、 システムの gconv
+モジュール設定ファイルが使用される。
+.IP *
+\fBGCONV_PATH\fP (コロン区切りのパス名のリスト) が定義されている場合、 システムの gconv モジュール設定キャッシュは使用されない。
+代わりに \fBiconv_open\fP(3) は最初に \fBGCONV_PATH\fP に指定されたディレクトリを順番に検索して設定ファイルの読み出しを試み、
+その後でシステムのデフォルトの gconv モジュール設定ファイルをロードする。 ディレクトリに gconv モジュール設定ファイルがない場合、
+そのディレクトリにある gconv モジュールは無視される。 ディレクトリに gconv モジュール設定ファイルがあり、
+そのディレクトリに現在の変換に必要なモジュールがあると判断した場合、 必要なモジュールがこのディレクトリからロードされる。 \fBGCONV_PATH\fP
+で最初に見つかった適切なモジュールが使用される。 これにより、 ユーザーが独自のモジュールを使用し、 \fBGCONV_PATH\fP
+ディレクトリにそれらのモジュールを置くことでシステムが提供するモジュールを置き換えることができる。
+.SH ファイル
+.TP 
+\fI/usr/lib/gconv\fP
+通常のデフォルトの gconv モジュールのパス。
+.TP 
+\fI/usr/lib/gconv/gconv\-modules\fP
+通常のデフォルトの gconv モジュールのシステム設定ファイル。
+.TP 
+\fI/usr/lib/gconv/gconv\-modules.cache\fP
+通常のデフォルトの gconv モジュールのシステム設定キャッシュ。
+.SH 準拠
+POSIX.1\-2001.
+.SH 例
+テキストを ISO 8859\-15 文字符号化から UTF\-8 に変換する。
+
+.in +4n
+.nf
+$ \fBiconv \-f ISO\-8859\-15 \-t UTF\-8 < input.txt > output.txt\fP
+.fi
+.in
+.PP
+以下の例は UTF\-8 から ASCII への変換を行い、 可能であれば書き直し (transliterate) を行う。
+
+.in +4n
+.nf
+$ \fBecho abc ß α € àḃç | iconv \-f UTF\-8 \-t ASCII//TRANSLIT\fP
+abc ss ? EUR abc
+.fi
+.in
+.SH 関連項目
+\fBlocale\fP(1), \fBiconv\fP(3), \fBnl_langinfo\fP(3), \fBcharsets\fP(7),
+\fBiconvconfig\fP(8)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.77 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。
diff --git a/draft/man2/fanotify_mark.2 b/draft/man2/fanotify_mark.2
new file mode 100644 (file)
index 0000000..3fdee9c
--- /dev/null
@@ -0,0 +1,195 @@
+.\" Copyright (C) 2013,  Heinrich Schuchardt <xypron.glpk@gmx.de>
+.\"
+.\" %%%LICENSE_START(VERBATIM)
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of
+.\" this manual under the conditions for verbatim copying, provided that
+.\" the entire resulting derived work is distributed under the terms of
+.\" a permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date.  The author(s) assume.
+.\" no responsibility for errors or omissions, or for damages resulting.
+.\" from the use of the information contained herein.  The author(s) may.
+.\" not have taken the same level of care in the production of this.
+.\" manual, which is licensed free of charge, as they might when working.
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH FANOTIFY_MARK 2 2014\-10\-02 Linux "Linux Programmer's Manual"
+.SH 名前
+fanotify_mark \- ファイルシステムオブジェクトへの fanotify マークの追加、削除、変更
+.SH 書式
+.nf
+\fB#include <sys/fanotify.h>\fP
+.sp
+\fBint fanotify_mark(int \fP\fIfanotify_fd\fP\fB, unsigned int \fP\fIflags\fP\fB,\fP
+\fB                  uint64_t \fP\fImask\fP\fB, int \fP\fIdirfd\fP\fB, const char *\fP\fIpathname\fP\fB);\fP
+.fi
+.SH 説明
+fanotify API の概要については \fBfanotify\fP(7) を参照。
+.PP
+\fBfanotify_mark\fP(2) はファイルシステムオブジェクトに対する fanotify マークの追加、削除、変更を行う。
+呼び出し元はマークを付けるファイルシステムオブジェクトに対する読み出し許可を持っていなければならない。
+.PP
+\fIfanotify_fd\fP 引き数は \fBfanotify_init\fP(2) で返されたファイルディスクリプターである。
+.PP
+\fIflags\fP は実行する操作内容を示すビットマスクである。 以下の値のいずれか一つだけを指定しなければならない。
+.TP 
+\fBFAN_MARK_ADD\fP
+\fImask\fP のイベントを mark マスク (もしくは ignore マスク) に追加する。 \fImask\fP は空であってはいけない。
+空の場合はエラー \fBEINVAL\fP が発生する。
+.TP 
+\fBFAN_MARK_REMOVE\fP
+引き数 \fImask\fP のイベントを mark マスク (もしくは ignore マスク) から削除する。 \fImask\fP は空であってはいけない。
+空の場合はエラー \fBEINVAL\fPが発生する。
+.TP 
+\fBFAN_MARK_FLUSH\fP
+fanotify グループから全てのマウント mark か全てのマウント以外の mark を削除する。 \fIflag\fP に
+\fBFAN_MARK_MOUNT\fP が含まれる場合、 マウントに対する全ての mark がそのグループから削除される。 含まれない場合は、
+ディレクトリとファイルに対する全ての mark が削除される。 \fBFAN_MARK_MOUNT\fP 以外のフラグを \fBFAN_MARK_FLUSH\fP
+と組み合わせて使うことはできない。 \fImask\fP は無視される。
+.PP
+上記のどの値も指定されなかった場合、 または 2 つ以上の値が指定された場合、 呼び出しはエラー \fBEINVAL\fP で失敗する。
+.PP
+これに加えて、 \fIflags\fP に以下の値を 0 個以上ビット単位の論理和 (OR) で指定できる。
+.TP 
+\fBFAN_MARK_DONT_FOLLOW\fP
+\fIpathname\fP がシンボリックリンクの場合、 リンクが参照するファイルではなく、 リンク自身にマークを付ける (デフォルトでは
+\fBfanotify_mark\fP() は \fIpathname\fP がシンボリックリンクの場合シンボリックリンクの展開を行う)。
+.TP 
+\fBFAN_MARK_ONLYDIR\fP
+マークが付けられたファイルシステムオブジェクトがディレクトリでない場合、 エラー \fBENOTDIR\fP が発生する。
+.TP 
+\fBFAN_MARK_MOUNT\fP
+\fIpathname\fP で指定されたマウントポイントにマークを付ける。 \fIpathname\fP がマウントポイント自身ではない場合、
+\fIpathname\fP を含むマウントポイントがマークされる。 マウントポイントに含まれる全てのディレクトリ、 サブディレクトリ、
+その中のファイルが監視される。
+.TP 
+\fBFAN_MARK_IGNORED_MASK\fP
+\fImask\fP のイベントの ignore マスクへの追加、もしくは削除を行う。
+.TP 
+\fBFAN_MARK_IGNORED_SURV_MODIFY\fP
+ignore マスクは変更イベントが発生しても残り続ける。 このフラグがセットされていない場合、
+無視するファイルやディレクトリに対して変更イベントが発生した際に ignore マスクはクリアされる。
+.PP
+\fImask\fP はどのイベントに対して通知を受けるか (もしくはどのイベントを無視するか) を定義する。  以下の値から構成されるビットマスクである。
+.TP 
+\fBFAN_ACCESS\fP
+ファイルやディレクトリへのアクセス (読み出し) があった際にイベントを作成する (「バグ」も参照)。
+.TP 
+\fBFAN_MODIFY\fP
+ファイルが変更された (書き込み) 際にイベントを作成する。
+.TP 
+\fBFAN_CLOSE_WRITE\fP
+書き込み可能ファイルがクローズされた際にイベントを作成する。
+.TP 
+\fBFAN_CLOSE_NOWRITE\fP
+読み出し専用のファイルやディレクトリがクローズされた際にイベントを作成する。
+.TP 
+\fBFAN_OPEN\fP
+ファイルやディレクトリがオープンされた際にイベントを作成する。
+.TP 
+\fBFAN_OPEN_PERM\fP
+ファイルやディレクトリをオープンするアクセス許可が要求された際にイベントを作成する。 fanotify ファイルディスクリプターが
+\fBFAN_CLASS_PRE_CONTENT\fP か \fBFAN_CLASS_CONTENT\fP を指定されて作成されている必要がある。
+.TP 
+\fBFAN_ACCESS_PERM\fP
+ファイルやディレクトリを読み出すアクセス許可が要求された際にイベントを作成する。 fanotify ファイルディスクリプターが
+\fBFAN_CLASS_PRE_CONTENT\fP か \fBFAN_CLASS_CONTENT\fP を指定されて作成されている必要がある。
+.TP 
+\fBFAN_ONDIR\fP
+ディレクトリに対するイベントを作成する。 例えば \fBopendir\fP(3)、 \fBreaddir\fP(3) (ただし「バグ」も参照)、
+\fBclosedir\fP(3) が呼び出された場合。 このフラグが指定されなかった場合、 ファイルに対するイベントだけが作成される。
+.TP 
+\fBFAN_EVENT_ON_CHILD\fP
+マークされたディレクトリの直下のエントリーに対してイベントを作成する。 このフラグはマウントにマークを付ける際には効果はない。
+マークされたディレクトリのサブディレクトリのエントリーに対してはイベントが作成されない点に注意すること。 ディレクトリツリー全体を監視するには、
+関連するマウントにマークを付ける必要がある。
+.PP
+以下の組み合わせ値が定義されている。
+.TP 
+\fBFAN_CLOSE\fP
+ファイルがクローズされた (\fBFAN_CLOSE_WRITE\fP|\fBFAN_CLOSE_NOWRITE\fP)。
+.PP
+マークを付けるファイルシステムオブジェクトは、 ファイルディスクリプター \fIdirfd\fP と \fIpathname\fP
+で指定されたパス名から決定される。
+.IP * 3
+\fIpathname\fP が NULL の場合、 \fIdirfd\fP でマークを付けるファイルシステムオブジェクトが定義される。
+.IP *
+\fIpathname\fP が NULL で、 \fIdirfd\fP が特別な値 \fBAT_FDCWD\fP の場合、
+カレントワーキングディレクトリがマークされる。
+.IP *
+\fIpathname\fP が絶対パスの場合、 そのパス名によりマークを付けるファイルシステムオブジェクトが定義され、 \fIdirfd\fP は無視される。
+.IP *
+\fIpathname\fP が相対パスで、 \fIdirfd\fP が \fBAT_FDCWD\fP でない場合、 マークを付けるファイルシステムオブジェクトは
+\fIdirfd\fP が参照するディレクトリに対する相対パス \fIpathname\fP を解釈して決定される。
+.IP *
+\fIpathname\fP が相対パスで、 \fIdirfd\fP が \fBAT_FDCWD\fP の場合、
+マークを付けるファイルシステムオブジェクトはカレントワーキングディレクトリに対する相対パス \fIpathname\fP を解釈して決定される。
+.SH 返り値
+成功すると \fBfanotify_mark\fP() は 0 を返す。 エラーの場合、 \-1 を返し、 \fIerrno\fP にエラーの原因を示す値を設定する。
+.SH エラー
+.TP 
+\fBEBADF\fP
+無効なファイルディスクリプターが \fIfanotify_fd\fP で渡された。
+.TP 
+\fBEINVAL\fP
+無効な値が \fIflags\fP か \fImask\fP に指定されたか、 \fIfanotify_fd\fP が fanotify
+ファイルディスクリプターでなかった。
+.TP 
+\fBEINVAL\fP
+fanotify ファイルディスクリプターが \fBFAN_CLASS_NOTIF\fP でオープンされたが、 アクセス許可イベント
+(\fBFAN_OPEN_PERM\fP か \fBFAN_ACCESS_PERM\fP) のフラグがマスクに含まれている。
+.TP 
+\fBENOENT\fP
+\fIdirfd\fP と \fIpathname\fP で指定されたファイルシステムオブジェクトが存在しない。
+このエラーはマークされていないオブジェクトからマークを削除しようとした場合にも発生する。
+.TP 
+\fBENOMEM\fP
+必要なメモリを割り当てできなかった。
+.TP 
+\fBENOSPC\fP
+マークの数が 8192 の上限を超過し、 \fBfanotify_init\fP(2) で fanotify ファイルディスクリプターが作成された際に
+\fBFAN_UNLIMITED_MARKS\fP フラグが指定されていなかった。
+.TP 
+\fBENOSYS\fP
+このカーネルでは \fBfanotify_mark\fP() が実装されていない。 fanotify API が利用できるのは、 カーネルで
+\fBCONFIG_FANOTIFY\fP が有効になっている場合だけである。
+.TP 
+\fBENOTDIR\fP
+\fIflags\fP に \fBFAN_MARK_ONLYDIR\fP が含まれているが、 \fIdirfd\fP と \fIpathname\fP
+がディレクトリを指定していない。
+.SH バージョン
+\fBfanotify_mark\fP() は Linux カーネルのバージョン 2.6.36 で導入され、 バージョン 2.6.37 で有効になった。
+.SH 準拠
+このシステムコールは Linux 独自である。
+.SH バグ
+バージョン 3.16 より前の Linux カーネルでは以下のバグが存在した。
+.IP * 3
+.\" Fixed by commit 0a8dd2db579f7a0ac7033d6b857c3d5dbaa77563
+\fIflags\fP に \fBFAN_MARK_FLUSH\fP が指定されている場合、 たとえそのオブジェクトが使用されない場合であっても、
+\fIdirfd\fP と \fIpathname\fP には有効なファイルシステムオブジェクトを指定しなければならない。
+.IP *
+.\" Fixed by commit d4c7cf6cffb1bc711a833b5e304ba5bcfe76398b
+\fBreaddir\fP(2) は \fBFAN_ACCESS\fP イベントを生成しない。
+.IP *
+.\" Fixed by commit cc299a98eb13a9853675a9cbb90b30b4011e1406
+\fBfanotify_mark\fP(2) が \fBFAN_MARK_FLUSH\fP 付きで呼び出された場合、 \fIflags\fP
+の値が無効かはチェックされない。
+.SH 関連項目
+\fBfanotify_init\fP(2), \fBfanotify\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.77 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。
index 5c2813b..4e404f0 100644 (file)
@@ -101,11 +101,9 @@ fcntl \- ファイルディスクリプタの操作を行う
 に \fIarg\fP という名前を使っている)。引き数が必要ない場合には \fIvoid\fP が指定さ
 れている。
 
-Certain of the operations below are supported only since a particular Linux
-kernel version.  The preferred method of checking whether the host kernel
-supports a particular operation is to invoke \fBfcntl\fP()  with the desired
-\fIcmd\fP value and then test whether the call failed with \fBEINVAL\fP,
-indicating that the kernel does not recognize this value.
+下記のいくつかの操作は特定のバージョンの Linux カーネルでのみサポートされている。
+ホストカーネルが特定の操作をサポートしているかを確認する推奨の方法は、 \fBfcntl\fP() を所望の \fIcmd\fP 値で呼び出し、 \fBEINVAL\fP
+で失敗するかを検査することである。 \fBEINVAL\fP が返った場合、カーネルがこの値を認識していないことを示す。
 .SS ファイルディスクリプタの複製
 .TP 
 \fBF_DUPFD\fP (\fIint\fP)
@@ -155,10 +153,9 @@ indicating that the kernel does not recognize this value.
 \fBO_NOCTTY\fP, \fBO_TRUNC\fP)  に関するビットは無視される。 Linux では、このコマンドで変更できるのは
 \fBO_APPEND\fP, \fBO_ASYNC\fP, \fBO_DIRECT\fP, \fBO_NOATIME\fP, \fBO_NONBLOCK\fP
 フラグだけである。フラグ \fBO_DSYNC\fP, \fBO_SYNC\fP を変更することはできない。下記の「バグ」を参照。
-.SS "Advisory record locking"
-Linux implements traditional ("process\-associated") UNIX record locks, as
-standardized by POSIX.  For a Linux\-specific alternative with better
-semantics, see the discussion of open file description locks below.
+.SS アドバイザリーレコードロック
+Linux は昔からある (「プロセスに関連付けられる」) UNIX のレコードロックを実装している。 このレコードロックは POSIX
+で標準化されている。 Linux 固有のより良い動作を行うロックについては、下記のオープンファイル記述ロックの議論を参照のこと。
 
 \fBF_SETLK\fP, \fBF_SETLKW\fP, \fBF_GETLK\fP は、レコードロックの獲得/解放/テストのために使用する
 (レコードロックは、バイト範囲ロック、ファイルセグメントロック、ファイル領域ロックとも呼ばれる)。 三番目の引き数 \fIlock\fP
@@ -207,13 +204,11 @@ POSIX.1\-2001 では、負の値の \fIl_len\fP をサポートする実装を
 (新規のロックで指定されたバイト範囲が既存ロックの範囲と一致する場合以外では、 変換の過程で既存のロックの分割、縮小、結合が行われることがある)。
 .TP 
 \fBF_SETLK\fP (\fIstruct flock *\fP)
-Acquire a lock (when \fIl_type\fP is \fBF_RDLCK\fP or \fBF_WRLCK\fP)  or release a
-lock (when \fIl_type\fP is \fBF_UNLCK\fP)  on the bytes specified by the
-\fIl_whence\fP, \fIl_start\fP, and \fIl_len\fP fields of \fIlock\fP.  If a conflicting
-lock is held by another process, this call returns \-1 and sets \fIerrno\fP to
-\fBEACCES\fP or \fBEAGAIN\fP.  (The error returned in this case differs across
-implementations, so POSIX requires a portable application to check for both
-errors.)
+(\fIl_type\fP が \fBF_RDLCK\fP か \fBF_WRLCK\fP の場合は) ロックの獲得を、 (\fBF_UNLCK\fP の場合は)
+ロックの解放を、 \fIflock\fP 構造体のフィールド \fIl_whence\fP, \fIl_start\fP, \fIl_len\fP
+で指定された範囲のバイトに対して行う。 指定されたロックが他のプロセスが設定しているロックと衝突する場合は、 \-1 を返し、 \fIerrno\fP に
+\fBEACCES\fP か \fBEAGAIN\fP を設定する。 (この場合に返されるエラーは実装により異なる。 そのため、 POSIX
+では移植性が必要なアプリケーションでは、 これらの両方のエラーをチェックすることが必要としている。)
 .TP 
 \fBF_SETLKW\fP (\fIstruct flock *\fP)
 \fBF_SETLK\fP と同様だが、こちらではそのファイルに対して衝突するロックが 適用されていた場合に、そのロックが解放されるのを待つ点が異なる。
@@ -221,19 +216,15 @@ errors.)
 \fBEINTR\fP が設定される; \fBsignal\fP(7)  参照)。
 .TP 
 \fBF_GETLK\fP (\fIstruct flock *\fP)
-On input to this call, \fIlock\fP describes a lock we would like to place on
-the file.  If the lock could be placed, \fBfcntl\fP()  does not actually place
-it, but returns \fBF_UNLCK\fP in the \fIl_type\fP field of \fIlock\fP and leaves the
-other fields of the structure unchanged.
-
-If one or more incompatible locks would prevent this lock being placed, then
-\fBfcntl\fP()  returns details about one of those locks in the \fIl_type\fP,
-\fIl_whence\fP, \fIl_start\fP, and \fIl_len\fP fields of \fIlock\fP.  If the conflicting
-lock is a traditional (process\-associated) record lock, then the \fIl_pid\fP
-field is set to the PID of the process holding that lock.  If the
-conflicting lock is an open file description lock, then \fIl_pid\fP is set to
-\-1.  Note that the returned information may already be out of date by the
-time the caller inspects it.
+このコールの呼び出し時には、 \fIlock\fP にはそのファイルに適用しようとするロックに関する情報が入っている。 ロックを適用できる場合には、
+\fBfcntl\fP()  は実際にはロックを行わず、 構造体 \fIlock\fP の \fIl_type\fP フィールドに \fBF_UNLCK\fP を返し、
+他のフィールドは変更しない。
+
+違う種別のロックが (一つもしくは複数) 適用されていてロックを適用できないような場合には、 \fBfcntl\fP() は、
+原因となったロックの一つについての詳細を、 \fIlock\fP のフィールド \fIl_type\fP, \fIl_whence\fP, \fIl_start\fP,
+\fIl_len\fP で返す。 衝突するロックが昔からある (プロセスに関連付けられる) レコードロックの場合、 \fIl_pid\fP
+フィールドにロックを保持しているプロセスの PID が設定される。 衝突するロックがオープンファイル記述ロックの場合、 \fIl_pid\fP に \-1
+が設定される。 呼び出し元がその内容を参照した時点では、 返された情報はすでに古いものとなっている可能性がある点に注意すること。
 .P
 読み出しロックを適用するには、 \fIfd\fP は読み出し用にオープンされていなければならない。 書き込みロックを適用するには、 \fIfd\fP
 は書き込み用にオープンされていなければならない。 読み書き両方のロックを適用するには、読み書き両用で ファイルをオープンしなければならない。
@@ -253,34 +244,29 @@ involving more than two processes are also detected.  Note, however, that
 there are limitations to the kernel's deadlock\-detection algorithm; see
 BUGS.
 
-As well as being removed by an explicit \fBF_UNLCK\fP, record locks are
-automatically released when the process terminates.
+ろコードロックは \fBF_UNLCK\fP で明示的に削除されるだけでなく、 そのプロセスが終了した際には自動的に解放される。
 .P
 レコードのロックは \fBfork\fP(2)  で作成された子プロセスには継承されないが、 \fBexecve\fP(2)  の前後では保存される。
 .P
 \fBstdio\fP(3)  ではバッファリングが行われるので、 stdio 関連の関数ではレコードのロックの使用は回避される; 代わりに
 \fBread\fP(2)  や \fBwrite\fP(2)  を使用すること。
 
-The record locks described above are associated with the process (unlike the
-open file description locks described below).  This has some unfortunate
-consequences:
+上記で説明したレコードロックはプロセスと関連付けられる (以下で説明するオープンファイル記述ロックと異なる点である)。 そのため、
+残念ながら以下のようなことが起こる。
 .IP * 3
 .\" (Additional file descriptors referring to the same file
 .\" may have been obtained by calls to
 .\" .BR open "(2), " dup "(2), " dup2 "(2), or " fcntl ().)
-If a process closes \fIany\fP file descriptor referring to a file, then all of
-the process's locks on that file are released, regardless of the file
-descriptor(s) on which the locks were obtained.  This is bad: it means that
-a process can lose its locks on a file such as \fI/etc/passwd\fP or
-\fI/etc/mtab\fP when for some reason a library function decides to open, read,
-and close the same file.
+プロセスがロックが適用されているファイルを参照しているファイルディスクリプターの「いずれか」をクローズした場合、
+そのファイルに対するそのプロセスのすべてのロックが解放される。 この動作はまずい。 あるプロセスが \fI/etc/passwd\fP や
+\fI/etc/mtab\fP といったファイルにロックを適用しているときに、 あるライブラリ関数が何かの理由で同じファイルを open, read,
+close すると、そのファイルへのロックが失われることになる。
 .IP *
-The threads in a process share locks.  In other words, a multithreaded
-program can't use record locking to ensure that threads don't simultaneously
-access the same region of a file.
+1 つのプロセス内のスレッドはロックを共有する。 言い換えると、 マルチスレッドのプログラムで、 レコードロックを使って、 複数のスレッドが同時に 1
+つのファイルの同じ領域にアクセスしないようにすることはできないということだ。
 .PP
-Open file description locks solve both of these problems.
-.SS "Open file description locks (non\-POSIX)"
+オープンファイル記述ロックを使うとこれらの問題が解決できる。
+.SS "オープンファイル記述ロック (非 POSIX)"
 Open file description locks are advisory byte\-range locks whose operation is
 in most respects identical to the traditional record locks described above.
 This lock type is Linux\-specific, and available since Linux 3.15.  For an
@@ -322,11 +308,10 @@ The commands for working with open file description locks are analogous to
 those used with traditional locks:
 .TP 
 \fBF_OFD_SETLK\fP (\fIstruct flock *\fP)
-Acquire an open file description lock (when \fIl_type\fP is \fBF_RDLCK\fP or
-\fBF_WRLCK\fP)  or release an open file description lock (when \fIl_type\fP is
-\fBF_UNLCK\fP)  on the bytes specified by the \fIl_whence\fP, \fIl_start\fP, and
-\fIl_len\fP fields of \fIlock\fP.  If a conflicting lock is held by another
-process, this call returns \-1 and sets \fIerrno\fP to \fBEAGAIN\fP.
+(\fIl_type\fP が \fBF_RDLCK\fP か \fBF_WRLCK\fP の場合は) オープンファイル記述のロックの獲得を、 (\fBF_UNLCK\fP
+の場合は) オープンファイル記述のロックの解放を、 \fIflock\fP 構造体のフィールド \fIl_whence\fP, \fIl_start\fP,
+\fIl_len\fP で指定された範囲のバイトに対して行う。 指定されたロックが他のプロセスが設定しているロックと衝突する場合は、 \-1 を返し、
+\fIerrno\fP に \fBEAGAIN\fP を設定する。
 .TP 
 \fBF_OFD_SETLKW\fP (\fIstruct flock *\fP)
 \fBF_OFD_SETLK\fP と同様だが、こちらではそのファイルに対して衝突するロックが
@@ -335,13 +320,10 @@ process, this call returns \-1 and sets \fIerrno\fP to \fBEAGAIN\fP.
 参照)。
 .TP 
 \fBF_OFD_GETLK\fP (\fIstruct flock *\fP)
-On input to this call, \fIlock\fP describes an open file description lock we
-would like to place on the file.  If the lock could be placed, \fBfcntl\fP()
-does not actually place it, but returns \fBF_UNLCK\fP in the \fIl_type\fP field of
-\fIlock\fP and leaves the other fields of the structure unchanged.  If one or
-more incompatible locks would prevent this lock being placed, then details
-about one of these locks are returned via \fIlock\fP, as described above for
-\fBF_GETLK\fP.
+このコールの呼び出し時には、 \fIlock\fP にはそのファイルに適用しようとするロックに関する情報が入っている。 ロックを適用できる場合には、
+\fBfcntl\fP()  は実際にはロックを行わず、 構造体 \fIlock\fP の \fIl_type\fP フィールドで \fBF_UNLCK\fP を返し、
+他のフィールドは変更しない。 違う種別のロックが (一つもしくは複数) 適用されていてロックを適用できないような場合には、
+原因となったロックの一つについての詳細が \fIlock\fP で返される。 詳細は上記の \fBF_GETLK\fP を参照。
 .PP
 .\" commit 57b65325fe34ec4c917bc4e555144b4a94d9e1f7
 .\"
@@ -351,19 +333,15 @@ locks, for which the kernel does perform deadlock detection.)
 .SS "強制ロック (mandatory locking)"
 \fI警告\fP: Linux の強制ロックの実装は信頼性に欠けるものである。 下記の「バグ」の節を参照のこと。
 
-By default, both traditional (process\-associated) and open file description
-record locks are advisory.  Advisory locks are not enforced and are useful
-only between cooperating processes.
+デフォルトでは、 昔からある (プロセスに関連付けられる) レコードロックも、 オープンファイル記述のろコードロックも、 アドバイザリーロックである。
+アドバイザリーロックに強制力はなく、協調して動作するプロセス間でのみ有効である。
 
-Both lock types can also be mandatory.  Mandatory locks are enforced for all
-processes.  If a process tries to perform an incompatible access (e.g.,
-\fBread\fP(2)  or \fBwrite\fP(2))  on a file region that has an incompatible
-mandatory lock, then the result depends upon whether the \fBO_NONBLOCK\fP flag
-is enabled for its open file description.  If the \fBO_NONBLOCK\fP flag is not
-enabled, then the system call is blocked until the lock is removed or
-converted to a mode that is compatible with the access.  If the
-\fBO_NONBLOCK\fP flag is enabled, then the system call fails with the error
-\fBEAGAIN\fP.
+両方のタイプのロックも強制ロックにすることもできる。 強制ロックは全てのプロセスに対して効果がある。
+あるプロセスが互換性のない強制ロックが適用されたファイル領域に対して (\fBread\fP(2)  や \fBwrite\fP(2)  により)
+互換性のないアクセスを実行しようとした場合、 アクセスの結果は そのファイルのオープンファイル記述で \fBO_NONBLOCK\fP
+フラグが有効になっているかにより決まる。 \fBO_NONBLOCK\fP フラグが有効になっていないときは、ロックが削除されるか、
+ロックがアクセスと互換性のあるモードに変換されるまで、 システムコールは停止 (block) される。 \fBO_NONBLOCK\fP
+フラグが有効になっているときは、システムコールはエラー \fBEAGAIN\fP で失敗する。
 
 強制ロックを使用するためには、ロック対象のファイルが含まれるファイルシステム
 と、ロック対象のファイル自身の両方について、強制ロックが有効になっていなけれ ばならない。ファイルシステムについて強制ロックを有効にするには、
@@ -371,9 +349,8 @@ converted to a mode that is compatible with the access.  If the
 フラグを指定する。ファイルについて強制ロックを有効にするには、 そのファイルのグループ実行許可 (group execute permission)
 を無効とし、 かつ set\-group\-ID 許可ビットを有効にする (\fBchmod\fP(1)  と \fBchmod\fP(2)  を参照)。
 
-Mandatory locking is not specified by POSIX.  Some other systems also
-support mandatory locking, although the details of how to enable it vary
-across systems.
+強制ロックは POSIX では規定されていない。 他のいくつかのシステムでも強制ロックはサポートされているが、
+強制ロックをどのようにして有効にするかの詳細はシステムより異なる。
 .SS シグナルの管理
 \fBF_GETOWN\fP, \fBF_SETOWN\fP, \fBF_GETOWN_EX\fP, \fBF_SETOWN_EX\fP, \fBF_GETSIG\fP,
 \fBF_SETSIG\fP は、I/O が利用可能になったことを示すシグナルを管理するために使用される。
@@ -605,26 +582,25 @@ lease holder への通知に使われるデフォルトのシグナルは \fBSIG
 .PD 0
 .TP  12
 \fBDN_ACCESS\fP
-A file was accessed (\fBread\fP(2), \fBpread\fP(2), \fBreadv\fP(2), and similar)
+ファイルへのアクセスがあった (\fBread\fP(2), \fBpread\fP(2), \fBreadv\fP(2) や同様のシステムコール)
 .TP 
 \fBDN_MODIFY\fP
-A file was modified (\fBwrite\fP(2), \fBpwrite\fP(2), \fBwritev\fP(2),
-\fBtruncate\fP(2), \fBftruncate\fP(2), and similar).
+ファイルの内容が変更された (\fBwrite\fP(2), \fBpwrite\fP(2), \fBwritev\fP(2), \fBtruncate\fP(2),
+\fBftruncate\fP(2) や同様のシステムコール)
 .TP 
 \fBDN_CREATE\fP
-A file was created (\fBopen\fP(2), \fBcreat\fP(2), \fBmknod\fP(2), \fBmkdir\fP(2),
-\fBlink\fP(2), \fBsymlink\fP(2), \fBrename\fP(2)  into this directory).
+ファイルが作成された (\fBopen\fP(2), \fBcreat\fP(2), \fBmknod\fP(2), \fBmkdir\fP(2), "
+"\fBlink\fP(2), \fBsymlink\fP(2), このディレクトリへの \fBrename\fP(2))
 .TP 
 \fBDN_DELETE\fP
-A file was unlinked (\fBunlink\fP(2), \fBrename\fP(2)  to another directory,
-\fBrmdir\fP(2)).
+ファイルが削除 (unlink) された (\fBunlink\fP(2), 別のディレクトリへの \fBrename\fP(2), \fBrmdir\fP(2))
 .TP 
 \fBDN_RENAME\fP
-A file was renamed within this directory (\fBrename\fP(2)).
+ディレクトリ内でのファイル名の変更があった (\fBrename\fP(2))
 .TP 
 \fBDN_ATTRIB\fP
-The attributes of a file were changed (\fBchown\fP(2), \fBchmod\fP(2),
-\fButime\fP(2), \fButimensat\fP(2), and similar).
+ファイル属性が変更された (\fBchown\fP(2), \fBchmod\fP(2), \fButime\fP(2), \fButimensat\fP(2)
+や同様のシステムコール)
 .PD
 .RE
 .IP
@@ -639,15 +615,12 @@ The attributes of a file were changed (\fBchown\fP(2), \fBchmod\fP(2),
 \fBF_NOTIFY\fP 要求は積算されていく。つまり、 \fIarg\fP で指定されたイベントがすでにモニタされている イベント集合に加算される形になる。
 すべてのイベントの通知を無効にするには、 \fIarg\fP に 0 を指定して \fBF_NOTIFY\fP を呼び出す必要がある。
 
-Notification occurs via delivery of a signal.  The default signal is
-\fBSIGIO\fP, but this can be changed using the \fBF_SETSIG\fP command to
-\fBfcntl\fP().  (Note that \fBSIGIO\fP is one of the nonqueuing standard signals;
-switching to the use of a real\-time signal means that multiple notifications
-can be queued to the process.)  In the latter case, the signal handler
-receives a \fIsiginfo_t\fP structure as its second argument (if the handler was
-established using \fBSA_SIGINFO\fP)  and the \fIsi_fd\fP field of this structure
-contains the file descriptor which generated the notification (useful when
-establishing notification on multiple directories).
+通知はシグナルの配送で行われる。 デフォルトのシグナルは \fBSIGIO\fP だが、 \fBfcntl\fP()  の \fBF_SETSIG\fP
+コマンドで変更することができる。 (\fBSIGIO\fP はキューイングされない標準のシグナルの一つである点に注意。
+リアルタイムシグナルを使うように変更すると、 複数の通知がそのプロセス宛のキューに入ることがあることを意味する。) 後者の場合には、
+(\fBSA_SIGINFO\fP フラグ付きでシグナルハンドラが設定されている場合には)  ハンドラの第二引き数として \fIsiginfo_t\fP
+構造体が渡され、この構造体の \fIsi_fd\fP フィールドには通知の行われたファイルディスクリプタが入っている
+(この機能は複数のディレクトリに対して通知を設定する場合に有用である)。
 
 特に \fBDN_MULTISHOT\fP を使う場合は、通知にはリアルタイムシグナルを使うべきである。
 それは、リアルタイムシグナルを使うことで、複数の通知をキューに入れる ことができるからである。
@@ -658,19 +631,21 @@ establishing notification on multiple directories).
 .SS パイプの容量の変更
 .TP 
 \fBF_SETPIPE_SZ\fP (\fIint\fP; Linux 2.6.35 以降)
-Change the capacity of the pipe referred to by \fIfd\fP to be at least \fIarg\fP
-bytes.  An unprivileged process can adjust the pipe capacity to any value
-between the system page size and the limit defined in
-\fI/proc/sys/fs/pipe\-max\-size\fP (see \fBproc\fP(5)).  Attempts to set the pipe
-capacity below the page size are silently rounded up to the page size.
-Attempts by an unprivileged process to set the pipe capacity above the limit
-in \fI/proc/sys/fs/pipe\-max\-size\fP yield the error \fBEPERM\fP; a privileged
-process (\fBCAP_SYS_RESOURCE\fP)  can override the limit.  When allocating the
-buffer for the pipe, the kernel may use a capacity larger than \fIarg\fP, if
-that is convenient for the implementation.  The actual capacity that is set
-is returned as the function result.  Attempting to set the pipe capacity
-smaller than the amount of buffer space currently used to store data
-produces the error \fBEBUSY\fP.
+\fIfd\fP が参照するパイプの容量を少なくとも \fIarg\fP バイトに変更する。
+非特権プロセスは、パイプの容量として、
+システムのページサイズと \fI/proc/sys/fs/pipe\-max\-size\fP で定義される
+上限値 (\fBproc\fP(5) 参照) の間の任意の値を設定できる。
+パイプの容量をページサイズよりも小さな値に設定しようとした場合は、
+暗黙のうちにページサイズに切り上げられる。
+非特権プロセスがパイプの容量を \fI/proc/sys/fs/pipe\-max\-size\fP で定義
+された上限より大きな値に設定しようとした場合は、エラー \fBEPERM\fP が
+発生する。特権プロセス (\fBCAP_SYS_RESOURCE\fP ケーパビリティを持つ
+プロセス) はこの上限を上書きできる。
+パイプにバッファを割り当てる場合、実装側の都合に応じて、
+カーネルは \fIarg\fP よりも大きな容量を割り当ててもよい。
+実際に設定された大きさが関数の返り値として返される。
+パイプの容量を現在データを格納するのに使用されているバッファの
+サイズよりも小さくしようとした場合は、エラー \fBEBUSY\fP が発生する。
 .TP 
 \fBF_GETPIPE_SZ\fP (\fIvoid\fP; Linux 2.6.35 以降)
 \fIfd\fP が参照するパイプの容量を (関数の結果として) 返す。
@@ -726,15 +701,15 @@ produces the error \fBEBUSY\fP.
 上でロックする場合) に起こる。 しかしローカルでも起こる場合がある。
 .TP 
 \fBEINVAL\fP
-The value specified in \fIcmd\fP is not recognized by this kernel.
+カーネルが認識しない値が \fIcmd\fP で指定された。
 .TP 
 \fBEINVAL\fP
 \fBF_DUPFD\fPで、 \fIarg\fP が負か、もしくは許される最大値よりも大きい。 \fBF_SETSIG\fP の場合、 \fIarg\fP
 が利用可能なシグナル番号ではない。
 .TP 
 \fBEINVAL\fP
-\fIcmd\fP is \fBF_OFD_SETLK\fP, \fBF_OFD_SETLKW\fP, or \fBF_OFD_GETLK\fP, and \fIl_pid\fP
-was not specified as zero.
+\fIcmd\fP が \fBF_OFD_SETLK\fP, \fBF_OFD_SETLKW\fP, \fBF_OFD_GETLK\fP のいずれかで、 \fIl_pid\fP に
+0 が指定されなかった。
 .TP 
 \fBEMFILE\fP
 \fBF_DUPFD\fPで、 プロセスがすでに最大数までファイルディスクリプタをオープンしている。
@@ -744,8 +719,7 @@ was not specified as zero.
 上のロック) が失敗した。
 .TP 
 \fBENOTDIR\fP
-\fBF_NOTIFY\fP was specified in \fIcmd\fP, but \fIfd\fP does not refer to a
-directory.
+\fBF_NOTIFY\fP が \fIcmd\fP に指定されたが、 \fIfd\fP がディレクトリを参照していない。
 .TP 
 \fBEPERM\fP
 追加専用属性が設定されたファイルの \fBO_APPEND\fP フラグをクリアしようと試みた。
@@ -754,10 +728,9 @@ SVr4, 4.3BSD, POSIX.1\-2001.  POSIX.1\-2001 で規定されている操作は、
 \fBF_DUPFD\fP, \fBF_GETFD\fP, \fBF_SETFD\fP, \fBF_GETFL\fP, \fBF_SETFL\fP,
 \fBF_GETLK\fP, \fBF_SETLK\fP, \fBF_SETLKW\fP だけである。
 
-\fBF_GETOWN\fP and \fBF_SETOWN\fP are specified in POSIX.1\-2001.  (To get their
-definitions, define either \fB_BSD_SOURCE\fP, or \fB_XOPEN_SOURCE\fP with the
-value 500 or greater, or \fB_POSIX_C_SOURCE\fP with the value 200809L or
-greater.)
+\fBF_GETOWN\fP と \fBF_SETOWN\fP は POSIX.1\-2001 で規定されている。 (これら定義するには、
+\fB_BSD_SOURCE\fP を定義するか、 \fB_XOPEN_SOURCE\fP を 500 以上の値で定義するか、 \fB_POSIX_C_SOURCE\fP
+を 200809L 以上の値で定義するか、 のいずれが必要である。)
 
 \fBF_DUPFD_CLOEXEC\fP は POSIX.1\-2008 で規定されている。
 (これら定義するには、
@@ -771,9 +744,8 @@ greater.)
 \fBF_SETSIG\fP, \fBF_NOTIFY\fP, \fBF_GETLEASE\fP, \fBF_SETLEASE\fP は Linux 固有である
 (これらの定義を有効にするには \fB_GNU_SOURCE\fP マクロを定義すること)。
 
-\fBF_OFD_SETLK\fP, \fBF_OFD_SETLKW\fP, and \fBF_OFD_GETLK\fP are Linux\-specific (and
-one must define \fB_GNU_SOURCE\fP to obtain their definitions), but work is
-being done to have them included in the next version of POSIX.1.
+\fBF_OFD_SETLK\fP, \fBF_OFD_SETLKW\fP, \fBF_OFD_GETLK\fP は Linux 固有だが (これらの定義を得るには
+\fB_GNU_SOURCE\fP を定義しなければならない)、 POSIX.1 の次のバージョンに含めようという活動が進められている。
 .SH 注意
 .\"
 エラーの際の返り値が \fBdup2\fP(2)  と \fBF_DUPFD\fP では異なっている。
@@ -789,7 +761,7 @@ being done to have them included in the next version of POSIX.1.
 利用できる場合はそれを利用するようになっているからである。
 
 エラーの際の返り値が \fBdup2\fP(2)  と \fBF_DUPFD\fP では異なっている。
-.SS "Record locks"
+.SS レコードロック
 カーネル 2.0 以降では、 \fBflock\fP(2)  と \fBfcntl\fP()  が設定するロック種別の間に相互作用はない。
 
 .\" e.g., Solaris 8 documents this field in fcntl(2), and Irix 6.5
@@ -808,7 +780,7 @@ being done to have them included in the next version of POSIX.1.
 しかし、 glibc を使うアプリケーションではこれらの詳細を無視することが
 できる。 glibc の \fBfcntl\fP のラッパー関数は新しいシステムコールが
 利用できる場合はそれを利用するようになっているからである。
-.SS "Record locking and NFS"
+.SS "レコードロックと NFS"
 .\"
 .\" Neil Brown: With NFSv3 the failure mode is the reverse.  If
 .\"     the server loses contact with a client then any lock stays in place
@@ -823,25 +795,20 @@ being done to have them included in the next version of POSIX.1.
 .\"     client gets a RENEW in there within that window, its lease will be
 .\"     renewed and its state preserved.
 .\"
-Before Linux 3.12, if an NFSv4 client loses contact with the server for a
-period of time (defined as more than 90 seconds with no communication), it
-might lose and regain a lock without ever being aware of the fact.  (The
-period of time after which contact is assumed lost is known as the NFSv4
-leasetime.  On a Linux NFS server, this can be determined by looking at
-\fI/proc/fs/nfsd/nfsv4leasetime\fP, which expresses the period in seconds.  The
-default value for this file is 90.)  This scenario potentially risks data
-corruption, since another process might acquire a lock in the intervening
-period and perform file I/O.
+Linux 3.12 より前では、 NFSv4 クライアントが一定時間サーバーと通信がなかった場合 (90 秒間通信がない場合と定義されている)、
+クライアントが気付かずにロックを失い再獲得する場合がある。 (通信がなくなったみなす時間は NFSv4 leastime と呼ばれる。 Linux
+NFS サーバーでは、 この値は \fI/proc/fs/nfsd/nfsv4leasetime\fP を見て決定される。 このファイルの値の単位は秒であり、
+このファイルのデフォルト値は 90 である。) この状況では潜在的にデータ破壊が起こる危険性がある。
+通信がなかった間に他のプロセスがロックを獲得しファイル入出力を行う場合があるからである。
 
 .\" commit ef1820f9be27b6ad158f433ab38002ab8131db4d
 .\" commit f6de7a39c181dfb8a2c534661a53c73afb3081cd
-Since Linux 3.12, if an NFSv4 client loses contact with the server, any I/O
-to the file by a process which "thinks" it holds a lock will fail until that
-process closes and reopens the file.  A kernel parameter,
-\fInfs.recover_lost_locks\fP, can be set to 1 to obtain the pre\-3.12 behavior,
-whereby the client will attempt to recover lost locks when contact is
-reestablished with the server.  Because of the attendant risk of data
-corruption, this parameter defaults to 0 (disabled).
+Linux 3.12 以降、 NFSv4 クライアントがサーバーと通信がなかった場合、
+ロックを持っていると「思っている」プロセスがそのファイルに入出力を行うと失敗する。
+そのプロセスがそのファイルをいったんクローズし再オープンするまでは入出力は失敗する。 カーネルパラメーター
+\fInfs.recover_lost_locks\fP を 1 に設定すると、 Linux 3.12 より前の動作にすることができる。 この場合、
+サーバーとの通信が再確立された場合、 クライアントがは失われたロックを回復しようとする。 データ破壊が起こる危険性があるため、
+このパラメーターはデフォルトでは 0 (無効) になっている。
 .SH バグ
 .SS F_SETFL
 .\" FIXME . According to POSIX.1-2001, O_SYNC should also be modifiable
@@ -869,17 +836,13 @@ Linux 2.4 以前では、非特権プロセスが \fBF_SETOWN\fP を使って、
 (やプロセスグループ) を指定すると 発生するバグがある。この場合、 呼び出し元が所有者として指定したプロセス (やプロセスグループ) に
 シグナルを送る許可を持っていたとしても、 \fBfcntl\fP()  が \-1 を返し \fIerrno\fP に \fBEPERM\fP を設定することがある。
 このエラーが返ったにもかかわらず、ファイルディスクリプタの所有者 は設定され、シグナルはその所有者に送られる。
-.SS "Deadlock detection"
+.SS デッドロックの検出
 .\"
-The deadlock\-detection algorithm employed by the kernel when dealing with
-\fBF_SETLKW\fP requests can yield both false negatives (failures to detect
-deadlocks, leaving a set of deadlocked processes blocked indefinitely)  and
-false positives (\fBEDEADLK\fP errors when there is no deadlock).  For example,
-the kernel limits the lock depth of its dependency search to 10 steps,
-meaning that circular deadlock chains that exceed that size will not be
-detected.  In addition, the kernel may falsely indicate a deadlock when two
-or more processes created using the \fBclone\fP(2)  \fBCLONE_FILES\fP flag place
-locks that appear (to the kernel) to conflict.
+\fBF_SETLKW\fP 要求を処理する際にカーネルが使用するデッドロック検出アルゴリズムは、 false negative になる場合
+(デッドロックを検出できず、 デッドロックになったプロセスは無限に停止する) も false positive になる場合 (デッドロックがない場合でも
+\fBEDEADLK\fP エラーとなる) もある。 例えば、 カーネルは依存関係の検索を行うロックの深さを 10 ステップに限定しているが、
+このためこれよりも長い循環するデッドロックは検出されない。 また、 \fBclone\fP(2) の \fBCLONE_FILES\fP フラグを使って作成された
+2 つ以上のプロセスが (カーネルにとって) 衝突するように見えるロックを適用した場合、 カーネルはデッドロックを誤って検出する。
 .SS "強制ロック (mandatory locking)"
 .\" http://marc.info/?l=linux-kernel&m=119013491707153&w=2
 .\"
@@ -889,13 +852,10 @@ locks that appear (to the kernel) to conflict.
 .\"     Newsgroups: gmane.linux.file-systems
 .\"     Date: 2014-04-28 10:07:57 GMT
 .\"     http://thread.gmane.org/gmane.linux.file-systems/84481/focus=84518
-The Linux implementation of mandatory locking is subject to race conditions
-which render it unreliable: a \fBwrite\fP(2)  call that overlaps with a lock
-may modify data after the mandatory lock is acquired; a \fBread\fP(2)  call
-that overlaps with a lock may detect changes to data that were made only
-after a write lock was acquired.  Similar races exist between mandatory
-locks and \fBmmap\fP(2).  It is therefore inadvisable to rely on mandatory
-locking.
+Linux の強制ロックの実装は、 競合条件下で強制ロックが不完全になるような場合がある。 ロックと重なって実行された \fBwrite\fP(2)
+の呼び出しは強制ロックが獲得された後にもデータを変更することができる。 ロックと重なって実行された \fBread\fP(2)
+の呼び出しは強制ロックが獲得された後になって行われたデータの変更を 検出することができる。 同様の競合条件が強制ロックと \fBmmap\fP(2)
+の間にも存在する。それゆえ、強制ロックに頼るのはお薦めできない。
 .SH 関連項目
 \fBdup2\fP(2), \fBflock\fP(2), \fBopen\fP(2), \fBsocket\fP(2), \fBlockf\fP(3),
 \fBcapabilities\fP(7), \fBfeature_test_macros\fP(7)
index 562bd9a..2c003e7 100644 (file)
@@ -177,14 +177,11 @@ ID の変更が行われた場合、「ケーパビリティ保持」フラグ
 .TP 
 \fBPR_SET_NAME\fP (Linux 2.6.9 以降)
 .\" TASK_COMM_LEN in include/linux/sched.h
-Set the name of the calling thread, using the value in the location pointed
-to by \fI(char\ *) arg2\fP.  The name can be up to 16 bytes long, including the
-terminating null byte.  (If the length of the string, including the
-terminating null byte, exceeds 16 bytes, the string is silently truncated.)
-This is the same attribute that can be set via \fBpthread_setname_np\fP(3)  and
-retrieved using \fBpthread_getname_np\fP(3).  The attribute is likewise
-accessible via \fI/proc/self/task/[tid]/comm\fP, where \fItid\fP is the name of
-the calling thread.
+呼び出し元スレッドのプロセス名を \fI(char\ *) arg2\fP が指す場所に格納された値を使って設定する。 名前は終端の NULL
+バイトを含めて最大で 16 バイトである (終端の NULL バイトを含めた文字列の長さが 16 バイトを超える場合、 文字列は黙って切り詰められる)。
+これは、 \fBpthread_setname_np\fP(3) で設定でき、 \fBpthread_getname_np\fP(3)
+で取得できるのと同じ属性である。 同様に、 \fItid\fP が呼び出し元スレッドの ID の場合、 この属性は
+\fI/proc/self/task/[tid]/comm\fP 経由でもアクセス可能である。
 .TP 
 \fBPR_GET_NAME\fP (Linux 2.6.11 以降)
 呼び出し元スレッドの名前を \fI(char\ *) arg2\fP が指す場所に格納して返す。 バッファは最大で 16
@@ -236,27 +233,22 @@ effectively disabled for the calling process.
 .\" See http://thread.gmane.org/gmane.linux.kernel/542632
 .\" [PATCH 0 of 2] seccomp updates
 .\" andrea@cpushare.com
-Set the secure computing (seccomp) mode for the calling thread, to limit the
-available system calls.  The more recent \fBseccomp\fP(2)  system call provides
-a superset of the functionality of \fBPR_SET_SECCOMP\fP.
+呼び出したスレッドのセキュアコンピューティング (seccomp) モードを設定する。 最近の \fBseccomp\fP(2) システムコールは
+\fBPR_SET_SECCOMP\fP の上位互換の機能を提供する。
 
-The seccomp mode is selected via \fIarg2\fP.  (The seccomp constants are
-defined in \fI<linux/seccomp.h>\fP.)
+seccomp モードは \fIarg2\fP で指定できる (seccomp 定数は \fI<linux/seccomp.h>\fP
+で定義されている)。
 
-With \fIarg2\fP set to \fBSECCOMP_MODE_STRICT\fP, the only system calls that the
-thread is permitted to make are \fBread\fP(2), \fBwrite\fP(2), \fB_exit\fP(2), and
-\fBsigreturn\fP(2).  Other system calls result in the delivery of a \fBSIGKILL\fP
-signal.  Strict secure computing mode is useful for number\-crunching
-applications that may need to execute untrusted byte code, perhaps obtained
-by reading from a pipe or socket.  This operation is available only if the
-kernel is configured with \fBCONFIG_SECCOMP\fP enabled.
+\fIarg2\fP を \fBSECCOMP_MODE_STRICT\fP に設定すると、 そのスレッドが呼び出しを許可されるシステムコールは
+\fBread\fP(2), \fBwrite\fP(2), \fB_exit\fP(2), \fBsigreturn\fP(2) だけになる。
+それ以外のシステムコールを呼び出すと、シグナル \fBSIGKILL\fP が配送される。 パイプやソケットから読み込んだ、
+信頼できないバイトコードを実行する必要がある大量の演算を行うアプリケーションにおいて、 strict secure computing モードは役立つ。
+この操作は利用できるのは、 カーネルが \fBCONFIG_SECCOMP\fP を有効にして作成されている場合だけである。
 
-With \fIarg2\fP set to \fBSECCOMP_MODE_FILTER\fP (since Linux 3.5), the system
-calls allowed are defined by a pointer to a Berkeley Packet Filter passed in
-\fIarg3\fP.  This argument is a pointer to \fIstruct sock_fprog\fP; it can be
-designed to filter arbitrary system calls and system call arguments.  This
-mode is available only if the kernel is configured with
-\fBCONFIG_SECCOMP_FILTER\fP enabled.
+\fIarg2\fP を \fBSECCOMP_MODE_FILTER\fP (Linux 3.5 以降) に設定すると、 許可されるシステムコールは
+\fIarg3\fP で渡された Berkeley Packet Filter へのポインターで定義される。 この引き数は \fIstruct
+sock_fprog\fP へのポインターである。 これは任意のシステムコールやシステムコール引き数をフィルタリングするために設計された。
+このモードはカーネルで \fBCONFIG_SECCOMP_FILTER\fP が有効になっている場合にのみ利用可能である。
 
 \fBSECCOMP_MODE_FILTER\fP フィルターで \fBfork\fP(2) が許可されている場合、 seccomp モードは \fBfork\fP(2)
 で作成された子プロセスに継承される。 \fBexecve\fP(2) が許可されている場合、 seccomp モードは \fBexecve\fP(2)
@@ -266,18 +258,14 @@ mode is available only if the kernel is configured with
 詳しい情報は、カーネルソースファイル \fIDocumentation/prctl/seccomp_filter.txt\fP を参照。
 .TP 
 \fBPR_GET_SECCOMP\fP (Linux 2.6.23 以降)
-Return (as the function result)  the secure computing mode of the calling
-thread.  If the caller is not in secure computing mode, this operation
-returns 0; if the caller is in strict secure computing mode, then the
-\fBprctl\fP()  call will cause a \fBSIGKILL\fP signal to be sent to the process.
-If the caller is in filter mode, and this system call is allowed by the
-seccomp filters, it returns 2; otherwise, the process is killed with a
-\fBSIGKILL\fP signal.  This operation is available only if the kernel is
-configured with \fBCONFIG_SECCOMP\fP enabled.
+呼び出したスレッドの secure computing モードを (関数の結果として) 返す。 呼び出したスレッドが secure computing
+モードでなかった場合、 この操作は 0 を返し、 呼び出したスレッドが strict secure computing モードの場合、
+\fBprctl\fP()  を呼び出すとシグナル \fBSIGKILL\fP がそのプロセスに送信される。 呼び出したスレッドがフィルタモードで、
+このシステムコールが seccomp フィルタにより許可されている場合、 2 を返し、 そうでない場合プロセスは \fBSIGKILL\fP シグナルで
+kill されづ。 この操作が利用できるのは、カーネルが \fBCONFIG_SECCOMP\fP を有効にして作成されている場合だけである。
 
-Since Linux 3.8, the \fISeccomp\fP field of the \fI/proc/[pid]/status\fP file
-provides a method of obtaining the same information, without the risk that
-the process is killed; see \fBproc\fP(5).
+Linux 3.8 以降では、 \fI/proc/[pid]/status\fP の \fIseccomp\fP フィールドからも同じ情報を取得できる。
+この方法の場合はプロセスが kill される危険はない。 \fBproc\fP(5) を参照。
 .TP 
 \fBPR_SET_SECUREBITS\fP (Linux 2.6.26 以降)
 呼び出したスレッドの "securebits" フラグを \fIarg2\fP で渡された値に設定する。 \fBcapabilities\fP(7)  参照。
@@ -483,7 +471,7 @@ Return the current per\-process machine check kill policy.  All unused
 この動作は、 システム管理者が、 システムで動作するすべてのプロセスが行う、 普通でないシンボリックリンクの変更を監視するのを楽にする。
 .RE
 .TP 
-\fBPR_MPX_ENABLE_MANAGEMENT\fP, \fBPR_MPX_DISABLE_MANAGEMENT\fP (since Linux 3.19
+\fBPR_MPX_ENABLE_MANAGEMENT\fP, \fBPR_MPX_DISABLE_MANAGEMENT\fP (Linux 3.19 以降
 .\" commit fe3d197f84319d3bce379a9c0dc17b1f48ad358c
 .\" See also http://lwn.net/Articles/582712/
 .\" See also https://gcc.gnu.org/wiki/Intel%20MPX%20support%20in%20the%20GCC%20compiler
@@ -529,8 +517,7 @@ The child of a \fBfork\fP(2)  inherits the state of MPX management.  During
 \fBPR_MPX_DISABLE_MANAGEMENT\fP had been called.
 
 .\"
-For further information on Intel MPX, see the kernel source file
-\fIDocumentation/x86/intel_mpx.txt\fP.
+Intel MPX についての詳しい情報は、カーネルソースファイル \fIDocumentation/x86/intel_mpx.txt\fP を参照。
 .SH 返り値
 成功すると、 \fBPR_GET_DUMPABLE\fP, \fBPR_GET_KEEPCAPS\fP, \fBPR_GET_NO_NEW_PRIVS\fP,
 \fBPR_GET_THP_DISABLE\fP, \fBPR_CAPBSET_READ\fP, \fBPR_GET_TIMING\fP,
@@ -543,9 +530,8 @@ For further information on Intel MPX, see the kernel source file
 \fIarg2\fP が不正なアドレスである。
 .TP 
 \fBEFAULT\fP
-\fIoption\fP is \fBPR_SET_SECCOMP\fP, \fIarg2\fP is \fBSECCOMP_MODE_FILTER\fP, the
-system was built with \fBCONFIG_SECCOMP_FILTER\fP, and \fIarg3\fP is an invalid
-address.
+\fIoption\fP が \fBPR_SET_SECCOMP\fP で、 \fIarg2\fP が \fBSECCOMP_MODE_FILTER\fP で、 カーネルが
+\fBCONFIG_SECCOMP_FILTER\fP を有効にして作成されており、 \fIarg3\fP が無効なアドレスである。
 .TP 
 \fBEINVAL\fP
 \fIoption\fP の値が理解できない。
@@ -562,8 +548,8 @@ address.
 を有効にして作成されていなかった。
 .TP 
 \fBEINVAL\fP
-\fIoption\fP is \fBPR_SET_SECCOMP\fP, \fIarg2\fP is \fBSECCOMP_MODE_FILTER\fP, and the
-kernel was not configured with \fBCONFIG_SECCOMP_FILTER\fP.
+\fIoption\fP が \fBPR_SET_SECCOMP\fP で、 \fIarg2\fP が \fBSECCOMP_MODE_FILTER\fP で、 カーネルが
+\fBCONFIG_SECCOMP\fP を有効にして作成されていなかった。
 .TP 
 \fBEINVAL\fP
 \fIoption\fP が \fBPR_SET_MM\fP で、以下のいずれかが真である。
@@ -646,9 +632,8 @@ PID のいずれでもない。
 で渡されたファイルディスクリプタが有効ではない。
 .TP 
 \fBENXIO\fP
-\fIoption\fP was \fBPR_MPX_ENABLE_MANAGEMENT\fP or \fBPR_MPX_DISABLE_MANAGEMENT\fP
-and the kernel or the CPU does not support MPX management.  Check that the
-kernel and processor have MPX support.
+\fIoption\fP が \fBPR_MPX_ENABLE_MANAGEMENT\fP か \fBPR_MPX_DISABLE_MANAGEMENT\fP で、
+カーネルか CPU が MPX の管理をサポートしていない。 カーネルとプロセスが MPX をサポートしているか確認すること。
 .SH バージョン
 .\" The library interface was added in glibc 2.0.6
 \fBprctl\fP()  システムコールは Linux 2.1.57 で導入された。
diff --git a/draft/man2/utimensat.2 b/draft/man2/utimensat.2
new file mode 100644 (file)
index 0000000..2fe3bad
--- /dev/null
@@ -0,0 +1,382 @@
+.\" Copyright (C) 2008, Linux Foundation, written by Michael Kerrisk
+.\" <mtk.manpages@gmail.com>
+.\"
+.\" %%%LICENSE_START(VERBATIM)
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date.  The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein.  The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH UTIMENSAT 2 2014\-01\-24 Linux "Linux Programmer's Manual"
+.SH 名前
+utimensat, futimens \- ファイルのタイムスタンプをナノ秒精度で変更する
+.SH 書式
+.nf
+\fB#include <fcntl.h> /* AT_* 定数の定義 */\fP
+\fB#include <sys/stat.h>\fP
+.sp
+\fBint utimensat(int \fP\fIdirfd\fP\fB, const char *\fP\fIpathname\fP\fB,\fP
+\fB              const struct timespec \fP\fItimes\fP\fB[2], int \fP\fIflags\fP\fB);\fP
+
+\fBint futimens(int \fP\fIfd\fP\fB, const struct timespec \fP\fItimes\fP\fB[2]);\fP
+.fi
+.sp
+.in -4n
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
+.in
+.ad l
+.PD 0
+.sp
+\fButimensat\fP():
+.RS 4
+.TP  4
+Since glibc 2.10:
+_XOPEN_SOURCE\ >=\ 700 || _POSIX_C_SOURCE\ >=\ 200809L
+.TP 
+Before glibc 2.10:
+_ATFILE_SOURCE
+.RE
+.PP
+\fBfutimens\fP():
+.RS 4
+.TP 
+Since glibc 2.10:
+_XOPEN_SOURCE\ >=\ 700 || _POSIX_C_SOURCE\ >=\ 200809L
+.TP 
+Before glibc 2.10:
+_GNU_SOURCE
+.RE
+.PD
+.ad
+.SH 説明
+\fButimensat\fP() と \fBfutimens\fP() はファイルのタイムスタンプをナノ秒精度で更新する。
+ファイルのタイムスタンプをセットする際に、 昔からある \fButime\fP(2) と \fButimes\fP(2)
+で指定できるのはそれぞれ秒精度とマイクロ秒精度であり、 この点が異なる点である。
+
+\fButimensat\fP() では、 ファイルは \fIpathname\fP で渡されるパス名で指定される。 \fBfutimens\fP() では、
+タイムスタンプを更新するファイルはオープンしたファイルディスクリプター \fIfd\fP で指定される。
+
+どちらのシステムコールでも、 ファイルの新しいタイムスタンプは配列 \fItimes\fP で指定される。 \fItimes\fP[0]
+は新しい「最終アクセス時刻」 (\fIatime\fP) を指定し、 \fItimes\fP[1] は新しい「最終修正時刻」 (\fImtime\fP) を指定する。
+\fItimes\fP の各要素では、 時刻を、 紀元 (Epoch; 1970\-01\-01 00:00:00 +0000 (UTC))
+からの秒数とナノ秒として指定する。 この情報は以下の形式の構造体で渡す。
+.in +4n
+.nf
+
+struct timespec {
+    time_t tv_sec;        /* 秒 */
+    long   tv_nsec;       /* ナノ秒 */
+};
+.fi
+.in
+.PP
+ファイルの更新後のタイムスタンプは、 指定された時刻を超えないファイルシステムがサポートする最大の値に設定される。
+
+.\" 2.6.22 was broken: it is not ignored
+それぞれの \fItimespec\fP 構造体の \fItv_nsec\fP フィールドには \fBUTIME_NOW\fP を指定することができ、
+その場合はファイルの対応するタイムスタンプは現在時刻に設定される。 \fItimespec\fP 構造体の \fItv_nsec\fP フィールドには
+\fBUTIME_OMIT\fP を指定することができ、 その場合はファイルの対応するタイムスタンプは変更されないままとなる。 このどちらの場合も、 対応する
+\fItv_sec\fP フィールドの値は無視される。
+
+.\"
+\fItimes\fP が NULL の場合、 両方のタイムスタンプが現在時刻に設定される。
+.SS アクセス許可の要件
+ファイルの両方のタイムスタンプを現在時刻に設定するためには (すなわち \fItimes\fP が NULL か、 両方の \fItv_nsec\fP フィールドに
+\fBUTIME_NOW\fP が指定するためには)、 以下のいずれかが必要である。
+.IP 1. 3
+.\" 2.6.22 was broken here -- for futimens() the check is
+.\" based on whether or not the file descriptor is writable,
+.\" not on whether the caller's effective UID has write
+.\" permission for the file referred to by the descriptor.
+呼び出し元がファイルに対する書き込み許可を持っている。
+.IP 2.
+呼び出し元の実効ユーザー ID がファイルの所有者と一致している。
+.IP 3.
+呼び出し元が適切な特権を持っている。
+.PP
+.\" 2.6.22 was broken here:
+.\" both must be something other than *either* UTIME_OMIT *or* UTIME_NOW.
+両方のタイムスタンプを現在時刻に設定する以外の変更するには (\fItimes\fP が NULL 以外、 または
+どちらの \fItv_nsec\fP フィールドも \fBUTIME_NOW\fP でなくどちらの \fItv_nsec\fP フィールドも \fBUTIME_OMIT\fP
+でもない場合)、 上記の条件 2 か条件 3 が必要である。
+
+.\"
+.\"
+両方の \fItv_nsec\fP フィールドに \fBUTIME_OMIT\fP が指定された場合、 ファイルの所有権やアクセス許可のチェックは行われず、
+ファイルのタイムスタンプは変更されないが、 それ以外のエラー条件はこの場合も検出される。
+.SS "utimensat() 固有の内容"
+.\" FIXME . Say something about O_SEARCH?  (But it's not in current
+.\" glibc (Mar 08), or kernel 2.6.25.)
+\fIpathname\fP が相対パスの場合、 デフォルトでは、 オープンしたファイルディスクリプター \fIdirfd\fP
+が参照するディレクトリに対する相対パスと解釈される (\fButimes\fP(2)
+のようにカレントワーキングディレクトリに対する相対パスと解釈されるわけではない)。 なぜこのシステムコールが役に立つのかの説明は
+\fBopenat\fP(2) を参照。
+
+\fIpathname\fP が相対パスで \fIdirfd\fP が特別な値 \fBAT_FDCWD\fP の場合、 \fIpathname\fP は
+(\fButimes\fP(2) 同様) 呼び出したプロセスのカレントワーキングディレクトリに対する相対パスと解釈される。
+
+\fIpathname\fP が絶対パスの場合、 \fIdirfd\fP は無視される。
+
+\fIflags\fP フィールドはビットマスクで、 0 か \fI<fcntl.h>\fP で定義されている以下の定数を指定できる。
+.TP 
+\fBAT_SYMLINK_NOFOLLOW\fP
+\fIpathname\fP がシンボリックリンクの場合に、 リンクが参照するファイルではなくリンク自身のタイムスタンプを更新する。
+.SH 返り値
+成功すると、 \fButimensat\fP() と \fBfutimens\fP() は 0 を返す。 エラーの場合、 \-1 を返し、 \fIerrno\fP
+にエラーを示す値を設定する。
+.SH エラー
+.TP 
+\fBEACCES\fP
+\fItimes\fP が NULL か両方の \fItv_nsec\fP の値が \fBUTIME_NOW\fP で、 以下のいずれかにあてはまる。
+.PD 0
+.RS
+.IP * 2
+.\" But Linux 2.6.22 was broken here.
+.\" Traditionally, utime()/utimes() gives the error EACCES for the case
+.\" where the timestamp pointer argument is NULL (i.e., set both timestamps
+.\" to the current time), and the file is owned by a user other than the
+.\" effective UID of the caller, and the file is not writable by the
+.\" effective UID of the program.  utimensat() also gives this error in the
+.\" same case.  However, in the same circumstances, when utimensat() is
+.\" given a 'times' array in which both tv_nsec fields are UTIME_NOW, which
+.\" provides equivalent functionality to specifying 'times' as NULL, the
+.\" call succeeds.  It should fail with the error EACCES in this case.
+.\"
+.\" POSIX.1-2008 has the following:
+.\" .TP
+.\" .B EACCES
+.\" .RB ( utimensat ())
+.\" .I fd
+.\" was not opened with
+.\" .B O_SEARCH
+.\" and the permissions of the directory to which
+.\" .I fd
+.\" refers do not allow searches.
+呼び出し元の実効ユーザー ID がファイルの所有者と一致せず、 呼び出し元がそのファイルに対する書き込みアクセス許可を持っておらず、
+呼び出し元が特権を持っていない (Linux では、ケーパビリティー \fBCAP_FOWNER\fP か \fBCAP_DAC_OVERRIDE\fP
+を持っていない)。
+.IP *
+.\" EXT2_IMMUTABLE_FL and similar flags for other filesystems.
+ファイルが immutable (変更不可) の属性が付いている (\fBchattr\fP(1) 参照)。
+.RE
+.PD
+.TP 
+\fBEBADF\fP
+(\fBfutimens\fP()) \fIfd\fP が有効なファイルディスクリプターでない。
+.TP 
+\fBEBADF\fP
+(\fButimensat\fP()) \fIpathname\fP が相対パスだが、 \fIdirfd\fP が \fBAT_FDCWD\fP
+でも有効なファイルディスクリプターでもない。
+.TP 
+\fBEFAULT\fP
+\fItimes\fP が無効なアドレスを指している。 \fIdirfd\fP が \fBAT_FDCWD\fP で \fIpathname\fP が NULL
+か無効なアドレスである。
+.TP 
+\fBEINVAL\fP
+\fIflags\fP に無効な値が指定された。
+.TP 
+\fBEINVAL\fP
+\fItv_nsec\fP フィールドの一つが無効な値である (0 から 999,999,999 までの値の範囲外の値で、 \fBUTIME_NOW\fP でも
+\fBUTIME_NOW\fP でもない)。 \fItv_sec\fP フィールドの一つが無効な値である。
+.TP 
+\fBEINVAL\fP
+.\" SUSv4 does not specify this error.
+\fIpathname\fP が NULL で、 \fIdirfd\fP が \fBAT_FDCWD\fP ではなく、 \fIflags\fP に
+\fBAT_SYMLINK_NOFOLLOW\fP が指定されている。
+.TP 
+\fBELOOP\fP
+(\fButimensat\fP()) \fIpathname\fP を解決する際に遭遇したシンボリックリンクが多すぎた。
+.TP 
+\fBENAMETOOLONG\fP
+(\fButimensat\fP()) \fIpathname\fP が長すぎる。
+.TP 
+\fBENOENT\fP
+(\fButimensat\fP()) \fIpathname\fP の構成要素が存在するディレクトリかファイルを参照していない。 \fIpathname\fP
+が空文字列である。
+.TP 
+\fBENOTDIR\fP
+(\fButimensat\fP()) \fIpathname\fP が相対パスだが、 \fIdirfd\fP が \fBAT_FDCWD\fP
+でもディレクトリを参照するファイルディスクリプターでもない。 \fIpathname\fP の構成要素のディレクトリ部分がディレクトリではない。
+.TP 
+\fBEPERM\fP
+呼び出し元がタイムスタンプの一方もしくは両方を現在時刻以外の値に更新しようとしたか、
+もしくはタイムスタンプの一方を現在時刻に変更し、もう一方は変更しないままにしようとした (すなわち \fItimes\fP が NULL 以外で、 どちらの
+\fItv_nsec\fP フィールドも \fBUTIME_NOW\fP でもなく、 どちらの \fItv_nsec\fP フィールドも \fBUTIME_OMIT\fP
+でもない) 場合で、 以下のいずれかにあてはまる。
+.PD 0
+.RS
+.IP * 2
+呼び出し元の実効ユーザー ID がファイルの所有者と一致せず、 呼び出し元が特権を持っていない (Linux では、ケーパビリティー
+\fBCAP_FOWNER\fP を持っていない)。
+.IP *
+.\" Linux 2.6.22 was broken here:
+.\" it was not consistent with the old utimes() implementation,
+.\" since the case when both tv_nsec fields are UTIME_NOW, was not
+.\" treated like the (times == NULL) case.
+.\" EXT2_IMMUTABLE_FL EXT_APPPEND_FL and similar flags for
+.\" other filesystems.
+.\"
+.\" Why the inconsistency (which is described under NOTES) between
+.\" EACCES and EPERM, where only EPERM tests for append-only.
+.\" (This was also so for the older utimes() implementation.)
+ファイルに追記のみか変更不可 (immutable) の属性が付いている (\fBchattr\fP(1) 参照)。
+.RE
+.PD
+.TP 
+\fBEROFS\fP
+ファイルが読み込み専用のファイルシステム上にある。
+.TP 
+\fBESRCH\fP
+(\fButimensat\fP()) \fIpathname\fP の構成要素のディレクトリ部分のいずれかで検索許可がなかった。
+.SH バージョン
+\fButimensat\fP() はカーネル 2.6.22 で Linux に追加された。 glibc のサポートはバージョン 2.6 で追加された。
+
+\fBfutimens\fP() のサポートは glibc 2.6 で初めて登場した。
+.SH 準拠
+\fBfutimens\fP() と \fButimensat\fP() は POSIX.1\-2008 で規定されている。
+.SH 注意
+\fButimensat\fP() が登場した結果、 \fBfutimesat\fP(2) は非推奨となった。
+
+Linux では、 変更不可 (immutable) の属性が付いたファイルのタイムスタンプを変更することはできず、
+また、 追記のみ (append\-only) の属性が付いたファイルで可能な変更は、 タイムスタンプを現在時刻に設定することだけである。 (これは
+Linux の \fButime\fP(2) や \fButimes\fP() の昔からの動作と一貫性がある動作である)。
+
+Linux では、 \fBfutimens\fP() は \fButimensat\fP() システムコールを使って実装されているライブラリ関数である。
+これを可能にするため、 Linux の \fButimensat\fP() システムコールは非標準の機能を実装している。 \fIpathname\fP が NULL
+の場合、 呼び出しはファイルディスクリプター \fIdirfd\fP が参照するファイルのタイムスタンプを変更する
+(ファイルディスクリプターはどのタイプのファイルを参照していてもよい)。 この機能を利用して、 \fIfutimens(fd,\ times)\fP
+は以下のように実装されている。
+.nf
+
+    utimensat(fd, NULL, times, 0);
+.fi
+.SH バグ
+カーネル 2.6.26 より前では \fButimensat\fP() と \fBfutimens\fP() にはいくつかの悩ましいバグがあった。 これらのバグは、
+ドラフト版の POSIX.1 規格との不整合や、 以前からの Linux での動作との違いである。
+.IP * 2
+POSIX.1 では、 \fItv_nsec\fP フィールドの一つが \fBUTIME_NOW\fP か \fBUTIME_OMIT\fP の場合、 対応する
+\fItv_sec\fP フィールドは無視されると規定されている。 しかし、 \fItv_sec\fP フィールドの値を 0 にする必要があった
+(さもなければエラー \fBEINVAL\fP となった)。
+.IP *
+.\" Below, the long description of the errors from the previous bullet
+.\" point (abridged because it's too much detail for a man page).
+.\" .IP *
+.\" If one of the
+.\" .I tv_nsec
+.\" fields is
+.\" .BR UTIME_OMIT
+.\" and the other is
+.\" .BR UTIME_NOW ,
+.\" then the error
+.\" .B EPERM
+.\" should occur if the process's effective user ID does not match
+.\" the file owner and the process is not privileged.
+.\" Instead, the call successfully changes one of the timestamps.
+.\" .IP *
+.\" If file is not writable by the effective user ID of the process and
+.\" the process's effective user ID does not match the file owner and
+.\" the process is not privileged,
+.\" and
+.\" .I times
+.\" is NULL, then the error
+.\" .B EACCES
+.\" results.
+.\" This error should also occur if
+.\" .I times
+.\" points to an array of structures in which both
+.\" .I tv_nsec
+.\" fields are
+.\" .BR UTIME_NOW .
+.\" Instead the call succeeds.
+.\" .IP *
+.\" If a file is marked as append-only (see
+.\" .BR chattr (1)),
+.\" then Linux traditionally
+.\" (i.e.,
+.\" .BR utime (2),
+.\" .BR utimes (2)),
+.\" permits a NULL
+.\" .I times
+.\" argument to be used in order to update both timestamps to the current time.
+.\" For consistency,
+.\" .BR utimensat ()
+.\" and
+.\" .BR futimens ()
+.\" should also produce the same result when given a
+.\" .I times
+.\" argument that points to an array of structures in which both
+.\" .I tv_nsec
+.\" fields are
+.\" .BR UTIME_NOW .
+.\" Instead, the call fails with the error
+.\" .BR EPERM .
+.\" .IP *
+.\" If a file is marked as immutable (see
+.\" .BR chattr (1)),
+.\" then Linux traditionally
+.\" (i.e.,
+.\" .BR utime (2),
+.\" .BR utimes (2)),
+.\" gives an
+.\" .B EACCES
+.\" error if
+.\" .I times
+.\" is NULL.
+.\" For consistency,
+.\" .BR utimensat ()
+.\" and
+.\" .BR futimens ()
+.\" should also produce the same result when given a
+.\" .I times
+.\" that points to an array of structures in which both
+.\" .I tv_nsec
+.\" fields are
+.\" .BR UTIME_NOW .
+.\" Instead, the call fails with the error
+.\" .BR EPERM .
+いくつかのバグのため、 アクセス許可のチェックにおいて、両方の \fItv_nsec\fP フィールドが \fBUTIME_NOW\fP に設定された場合が、 常に
+\fItimes\fP に NULL が設定された場合と同じに扱われるわけではなく、 \fItv_nsec\fP の一つが \fBUTIME_NOW\fP でもう一方が
+\fBUTIME_OMIT\fP の場合が、 \fItimes\fP に任意の値が入った構造体の配列へのポインターが指定された場合と
+同じように扱われるわけではない。 その結果、いくつかの場合では、 a) ファイルのタイムスタンプが、
+更新を実行する許可を持たないプロセスによって更新されることがある、 b) ファイルのタンプスタンプが、
+更新を実行する許可を持つプロセスによって更新できないことがある、 c) エラーの場合に間違った \fIerrno\fP 値が返る。
+.IP *
+.\" This means that a process with a file descriptor that allows
+.\" writing could change the timestamps of a file for which it
+.\" does not have write permission;
+.\" conversely, a process with a read-only file descriptor won't
+.\" be able to update the timestamps of a file,
+.\" even if it has write permission on the file.
+POSIX.1 では、 \fIファイルの書き込み許可を持つ\fPプロセス (a process that has \fIwrite access to the
+file\fP) は、そのファイルに対して \fItimes\fP に NULL や 両方の \fItv_nsec\fP フィールドが \fBUTIME_NOW\fP
+の構造体の配列を指定して呼び出しを行い、 両方のタイムスタンプを現在時刻に更新することができると規定されている。 しかし、 \fBfutimens\fP()
+では、 \fIファイルディスクリプターのアクセス許可が書き込みを許可しているか\fP (\fIaccess mode of the file
+descriptor allows writing\fP)のチェックが行われる。
+.SH 関連項目
+\fBchattr\fP(1), \fBfutimesat\fP(2), \fBopenat\fP(2), \fBstat\fP(2), \fButimes\fP(2),
+\fBfutimes\fP(3), \fBpath_resolution\fP(7), \fBsymlink\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.77 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。
index e26a431..be829b2 100644 (file)
@@ -660,7 +660,7 @@ device /dev/sda7 mounted on /home with fstype ext3 [statistics]
 .IP
 このファイルはプロセスの所有者だけが読み出すことができる。
 
-See \fBnamespaces\fP(7)  for more information.
+詳しい情報は \fBnamespaces\fP(7) を参照。
 .TP 
 \fI/proc/[pid]/ns/\fP (Linux 3.0 以降)
 .\" See commit 6b4e306aa3dc94a0545eb9279475b1ab6209a31f
@@ -762,41 +762,36 @@ Writing to \fI/proc/[pid]/oom_score_adj\fP or \fI/proc/[pid]/oom_adj\fP will
 change the other with its scaled value.
 .TP 
 \fI/proc/[pid]/pagemap\fP (Linux 2.6.25 以降)
-This file shows the mapping of each of the process's virtual pages into
-physical page frames or swap area.  It contains one 64\-bit value for each
-virtual page, with the bits set as follows:
+このファイルは、 プロセスの各仮想ページの物理ページフレームやスワップ領域へのマッピングを表示する。
+各仮想ページに 64 ビットの値 1 つが対応し、 各ビットは以下のとおりである。
 .RS 12
 .TP 
 63
-If set, the page is present in RAM.
+セットされている場合、 このページは RAM に存在する。
 .TP 
 62
-If set, the page is in swap space
+セットされている場合、 このページはスワップ領域に存在する。
 .TP 
 61 (Linux 3.5 以降)
-The page is a file\-mapped page or a shared anonymous page.
+このページはファイルマップされたページか共有無名ページである。
 .TP 
 60\-56 (Linux 3.11 以降)
 .\" Not quite true; see commit 541c237c0923f567c9c4cabb8a81635baadc713f
-Zero
+ゼロ。
 .TP 
 55 (Linux 3.11 以降)
-PTE is soft\-dirty (see the kernel source file
-\fIDocumentation/vm/soft\-dirty.txt\fP).
+PTE が soft\-dirty である (カーネルのソースファイル \fIDocumentation/vm/soft\-dirty.txt\fP を参照)。
 .TP 
 54\-0
-If the page is present in RAM (bit 63), then these bits provide the page
-frame number, which can be used to index \fI/proc/kpageflags\fP and
-\fI/proc/kpagecount\fP.  If the page is present in swap (bit 62), then bits 4\-0
-give the swap type, and bits 54\-5 encode the swap offset.
+このページが RAM に存在する場合 (ビット 63)、 これらのビットはページフレーム番号を示す。 このページフレーム番号は
+\fI/proc/kpageflags\fP と \fI/proc/kpagecount\fP のインデックスに使用できる。 このページがスワップに存在する場合
+(ビット 62)、 ビット 4\-0 はスワップ種別を示し、 ビット 54\-5 はスワップオフセットを示す。
 .RE
 .IP
-Before Linux 3.11, bits 60\-55 were used to encode the base\-2 log of the page
-size.
+Linux 3.11 より前では、 ビット 60\-55 はページサイズの基数 2 の log を示すのに使われていた。
 .IP
-To employ \fI/proc/[pid]/pagemap\fP efficiently, use \fI/proc/[pid]/maps\fP to
-determine which areas of memory are actually mapped and seek to skip over
-unmapped regions.
+\fI/proc/[pid]/pagemap\fP を効率的に活用するには、 \fI/proc/[pid]/maps\fP
+を使ってメモリーのどの領域が実際にマップされているかを判断し、 seek でマップされていない領域をスキップするのがよい。
 .IP
 \fI/proc/[pid]/pagemap\fP ファイルが存在するのは、カーネルのコンフィギュレーション・オプション
 \fBCONFIG_PROC_PAGE_MONITOR\fP を有効にした場合だけである。
@@ -938,38 +933,38 @@ kernel stack.  This file is provided only if the kernel was built with the
 プロセスの状態を示す、以下のいずれか 1 文字。
 .RS
 .IP R 3
-Running
+実行中 (Running)
 .IP S
 Sleeping in an interruptible wait
 .IP D
 Waiting in uninterruptible disk sleep
 .IP Z
-Zombie
+ゾンビ (Zombie)
 .IP T
-Stopped (on a signal) or (before Linux 2.6.33) trace stopped
+(シグナルでの) 停止、または (Linux 2.6.33 より前では) トレースによる停止
 .IP t
 .\" commit 44d90df6b757c59651ddd55f1a84f28132b50d29
-Tracing stop (Linux 2.6.33 onward)
+トレースによる停止 (Tracing stop) (Linux 2.6.33 以降)
 .IP W
-Paging (only before Linux 2.6.0)
+ページング中 (Linux 2.6.0 より前のみ)
 .IP X
-Dead (from Linux 2.6.0 onward)
+死亡 (Dead) (Linux 2.6.0 以降)
 .IP x
 .\" commit 44d90df6b757c59651ddd55f1a84f28132b50d29
 .\" commit 74e37200de8e9c4e09b70c21c3f13c2071e77457
-Dead (Linux 2.6.33 to 3.13 only)
+死亡 (Dead) (Linux 2.6.33 から 3.13 までのみ)
 .IP K
 .\" commit 44d90df6b757c59651ddd55f1a84f28132b50d29
 .\" commit 74e37200de8e9c4e09b70c21c3f13c2071e77457
-Wakekill (Linux 2.6.33 to 3.13 only)
+Wakekill (Linux 2.6.33 から 3.13 までのみ)
 .IP W
 .\" commit 44d90df6b757c59651ddd55f1a84f28132b50d29
 .\" commit 74e37200de8e9c4e09b70c21c3f13c2071e77457
-Waking (Linux 2.6.33 to 3.13 only)
+Waking (Linux 2.6.33 から 3.13 までのみ)
 .IP P
 .\" commit f2530dc71cf0822f90bb63ea4600caaef33a66bb
 .\" commit 74e37200de8e9c4e09b70c21c3f13c2071e77457
-Parked (Linux 3.9 to 3.13 only)
+Parked (Linux 3.9 から 3.13 までのみ)
 .RE
 .TP 
 (4) \fIppid\fP \ %d
@@ -1166,23 +1161,23 @@ Address above which program heap can be expanded with \fBbrk\fP(2).
 .TP 
 (48) \fIarg_start\fP \ %lu \ (Linux 3.5 以降)
 .\" commit 5b172087f99189416d5f47fd7ab5e6fb762a9ba3
-Address above which program command\-line arguments (\fIargv\fP)  are placed.
+プログラムのコマンドライン引き数 (\fIargv\fP) が置かれる開始アドレス。
 .TP 
 (49) \fIarg_end\fP \ %lu \ (Linux 3.5 以降)
 .\" commit 5b172087f99189416d5f47fd7ab5e6fb762a9ba3
-Address below program command\-line arguments (\fIargv\fP)  are placed.
+プログラムのコマンドライン引き数 (\fIargv\fP) が置かれる終了アドレス。
 .TP 
 (50) \fIenv_start\fP \ %lu \ (Linux 3.5 以降)
 .\" commit 5b172087f99189416d5f47fd7ab5e6fb762a9ba3
-Address above which program environment is placed.
+プログラムの環境 (environment) が置かれる開始アドレス。
 .TP 
 (51) \fIenv_end\fP \ %lu \ (Linux 3.5 以降)
 .\" commit 5b172087f99189416d5f47fd7ab5e6fb762a9ba3
-Address below which program environment is placed.
+プログラムの環境 (environment) が置かれる終了アドレス。
 .TP 
 (52) \fIexit_code\fP \ %d \ (Linux 3.5 以降)
 .\" commit 5b172087f99189416d5f47fd7ab5e6fb762a9ba3
-The thread's exit status in the form reported by \fBwaitpid\fP(2).
+\fBwaitpid\fP(2) が報告する形式のスレッドの終了ステータス。
 .RE
 .TP 
 \fI/proc/[pid]/statm\fP
@@ -1613,8 +1608,7 @@ SMP マシンでは各 CPU についての情報が書かれている。 \fBlscp
 \fI/proc/fs\fP
 .\" FIXME Much more needs to be said about /proc/fs
 .\"
-Contains subdirectories that in turn contain files with information about
-(certain) mounted filesystems.
+マウントされているファイルシステムに関する情報を提供するファイルが入ったサブディレクトリが入っている。
 .TP 
 \fI/proc/ide\fP
 このディレクトリは IDE バスをもつシステムに存在する。 各 IDE チャネルとそれに取り付けられている各デバイスごとにディレクトリがあり、
@@ -1670,17 +1664,15 @@ Linux 2.4 における I/O メモリマップ。
 このファイルの中の情報は \fBdmesg\fP(1)  によって表示される。
 .TP 
 \fI/proc/kpagecount\fP (Linux 2.6.25 以降)
-This file contains a 64\-bit count of the number of times each physical page
-frame is mapped, indexed by page frame number (see the discussion of
-\fI/proc/[pid]/pagemap\fP).
+このファイルには、 各物理ページフレームがマッピングされた回数が 64 ビットカウンターとして入っている。 インデックスはページフレーム番号である
+(\fI/proc/[pid]/pagemap\fP の議論を参照)。
 .IP
 \fI/proc/kpagecount\fP ファイルが存在するのは、カーネルのコンフィギュレーション・オプション
 \fBCONFIG_PROC_PAGE_MONITOR\fP を有効にした場合だけである。
 .TP 
 \fI/proc/kpageflags\fP (Linux 2.6.25 以降)
-This file contains 64\-bit masks corresponding to each physical page frame;
-it is indexed by page frame number (see the discussion of
-\fI/proc/[pid]/pagemap\fP).  The bits are as follows:
+このファイルには、 各物理ページフレームに対応する 64 ビットマスクが入っている。 インデックスはページフレーム番号である
+(\fI/proc/[pid]/pagemap\fP の議論を参照)。 各ビットは以下のとおりである。
 
      0 \- KPF_LOCKED
      1 \- KPF_ERROR
@@ -1708,10 +1700,9 @@ it is indexed by page frame number (see the discussion of
 
 .\" commit ad3bdefe877afb47480418fdb05ecd42842de65e
 .\" commit e07a4b9217d1e97d2f3a62b6b070efdc61212110
-For further details on the meanings of these bits, see the kernel source
-file \fIDocumentation/vm/pagemap.txt\fP.  Before kernel 2.6.29,
-\fBKPF_WRITEBACK\fP, \fBKPF_RECLAIM\fP, \fBKPF_BUDDY\fP, and \fBKPF_LOCKED\fP did not
-report correctly.
+これらのビットの意味の詳しい説明は、 カーネルのソースファイル \fIDocumentation/vm/pagemap.txt\fP を参照。 カーネル
+2.6.29 より前では、 \fBKPF_WRITEBACK\fP, \fBKPF_RECLAIM\fP, \fBKPF_BUDDY\fP, \fBKPF_LOCKED\fP
+は正しい値を返さなかった。
 .IP
 \fI/proc/kpageflags\fP ファイルが存在するのは、カーネルのコンフィギュレーション・オプション
 \fBCONFIG_PROC_PAGE_MONITOR\fP を有効にした場合だけである。
@@ -1893,7 +1884,7 @@ vmalloc 領域の未使用の連続するブロックの最大サイズ。
 .TP 
 \fIAnonHugePages\fP %lu (Linux 2.6.38 以降)
 (\fBCONFIG_TRANSPARENT_HUGEPAGE\fP が必要)
-ユーザー空間ページテーブルにマッピングされているファイルと関連付けられていないページ。
\83¦ã\83¼ã\82¶ã\83¼ç©ºé\96\93ã\83\9aã\83¼ã\82¸ã\83\86ã\83¼ã\83\96ã\83«ã\81«ã\83\9eã\83\83ã\83\94ã\83³ã\82°ã\81\95ã\82\8cã\81¦ã\81\84ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\81¨é\96¢é\80£ä»\98ã\81\91ã\82\89ã\82\8cã\81¦ã\81\84ã\81ªã\81\84ã\83\92ã\83¥ã\83¼ã\82¸ã\83\9aã\83¼ã\82¸ã\80\82
 .TP 
 \fIHugePages_Total\fP %lu
 (\fBCONFIG_HUGETLB_PAGE\fP が必要) ヒュージページのプールサイズ。
@@ -2054,9 +2045,8 @@ UNIX ドメインソケットのリスト。 フォーマットは以下のと
 St はソケットの内部状態で、Path は(もしあれば) ソケットのパス名である。
 .TP 
 \fI/proc/net/netfilter/nfnetlink_queue\fP
-This file contains information about netfilter userspace queueing, if used.
-Each line represents a queue.  Queues that have not been subscribed to by
-userspace are not shown.
+このファイルは netfilter ユーザー空間キューイングが使用されている場合 netfilter ユーザー空間キューイングの情報を表示する。
+各行が各キューの情報を表示する。 ユーザー空間で購読されていないキューは表示されない。
 .nf
 
    1   4207     0  2 65535     0     0        0  1
@@ -2067,42 +2057,35 @@ userspace are not shown.
 .RS 7
 .TP  5
 (1)
-The ID of the queue.  This matches what is specified in the \fB\-\-queue\-num\fP
-or \fB\-\-queue\-balance\fP options to the \fBiptables\fP(8)  NFQUEUE target.  See
-\fBiptables\-extensions\fP(8)  for more information.
+キューの ID。 これは \fBiptables\fP(8) NFQUEUE ターゲットの \fB\-\-queue\-num\fP や
+\fB\-\-queue\-balance\fP オプションで指定された値と一致する。 詳しい情報は \fBiptables\-extensions\fP(8) を参照。
 .TP 
 (2)
-The netlink port id subscribed to the queue.
+キューを購読している netlink ポート ID。
 .TP 
 (3)
-The number of packets currently queued and waiting to be processed by the
-application.
+現在キューに入っていてアプリケーションが処理するのを待っているパケット数。
 .TP 
 (4)
-The copy mode of the queue. It is either 1 (metadata only) or 2 (also copy
-payload data to userspace).
+キューのコピーモード。 値は 1 (メタデータのみ) か 2 (ペイロードデータもユーザー空間にコピーする) のいずれかである。
 .TP 
 (5)
-Copy range, i.e. how many bytes of packet payload should be copied to
-userspace at most.
+コピーする範囲。 つまり、 最大で何バイトのパケットペイロードをユーザー空間にコピーする必要があるかを示す。
 .TP 
 (6)
-queue dropped.  Number of packets that had to be dropped by the kernel
-because too many packets are already waiting for userspace to send back the
-mandatory accept/drop verdicts.
+キューでの破棄数。 すでに多数のパケットがユーザー空間が必ず必要な受け入れ/破棄の判定を送り返すのを待っていたため、
+カーネルがドロップする必要があったパケット数。
 .TP 
 (7)
-queue user dropped.  Number of packets that were dropped within the netlink
-subsystem.  Such drops usually happen when the corresponding socket buffer
-is full, i.e.  userspace is not able to read messages fast enough.
+キューのユーザーでのドロップ数。 netlink サブシステム内で破棄されたパケット数。 このようなパケットの破棄が通常起こるのは、
+対応するソケットバッファが一杯の場合、 つまり、 ユーザー空間がメッセージを十分な速度で読み出せない場合である。
 .TP 
 (8)
-sequence number. Every queued packet is associated with a (32\-bit)
-monotonically\-increasing sequence number.  This shows the ID of the most
-recent packet queued.
+シーケンス番号。 キューに入ったすべてのパケットには 32 ビットの単調増加のシーケンス番号が関連付けられる。 これは一番最近キューに入ったパケットの
+ID となる。
 .RE
 .IP
-The last number only exists for compatibility reasons and is always 1.
+最後の数字は互換性のためだけに存在し、 常に 1 である。
 .TP 
 \fI/proc/partitions\fP
 各パーティションのメジャー番号とマイナー番号が書かれている。 さらに、 1024 バイトブロック数とパーティション名も書かれている。
@@ -2371,18 +2354,17 @@ Linux 2.4 以降では、 inode 数の静的な上限はなくなり、 この
 このファイルには、 \fIinode\-state\fP の最初の 2 つの値が書かれている。
 .TP 
 \fI/proc/sys/fs/inode\-state\fP
-This file contains seven numbers: \fInr_inodes\fP, \fInr_free_inodes\fP,
-\fIpreshrink\fP, and four dummy values (always zero).
+このファイルには 7 つの数字が入っている。 \fInr_inodes\fP, \fInr_free_inodes\fP, \fIpreshrink\fP と 4
+つのダミーの値 (常に 0) である。
 
 .\" This can be slightly more than
 .\" .I inode-max
 .\" because Linux allocates them one page full at a time.
-\fInr_inodes\fP is the number of inodes the system has allocated.
-\fInr_free_inodes\fP represents the number of free inodes.
+\fInr_inodes\fP はシステムが割り当て済みの inode 数である。 \fInr_free_inodes\fP は未使用の inode 数である。
 
-\fIpreshrink\fP is nonzero when the \fInr_inodes\fP > \fIinode\-max\fP and the
-system needs to prune the inode list instead of allocating more; since Linux
-2.4, this field is a dummy value (always zero).
+\fIpreshrink\fP は、 \fInr_inodes\fP > \fIinode\-max\fP で、 システムがさらに inode
+を割り当てるのではなく inode リストを刈り取る (余分なものを回収する) 必要がある場合に、 0 以外になる。 Linux 2.4 以降では、
+このフィールドはダミーの値 (常に 0) である。
 .TP 
 \fI/proc/sys/fs/inotify\fP (Linux 2.6.13 以降)
 このディレクトリには、ファイル \fImax_queued_events\fP, \fImax_user_instances\fP, and
@@ -2905,18 +2887,15 @@ kill する。
 .TP 
 \fI/proc/sys/vm/overcommit_kbytes\fP (Linux 3.14 以降)
 .\" commit 49f0ce5f92321cdcf741e35f385669a421013cb7
-This writable file provides an alternative to
-\fI/proc/sys/vm/overcommit_ratio\fP for controlling the \fICommitLimit\fP when
-\fI/proc/sys/vm/overcommit_memory\fP has the value 2.  It allows the amount of
-memory overcommitting to be specified as an absolute value (in kB), rather
-than as a percentage, as is done with \fIovercommit_ratio\fP.  This allows for
-finer\-grained control of \fICommitLimit\fP on systems with extremely large
-memory sizes.
-
-Only one of \fIovercommit_kbytes\fP or \fIovercommit_ratio\fP can have an effect:
-if \fIovercommit_kbytes\fP has a nonzero value, then it is used to calculate
-\fICommitLimit\fP, otherwise \fIovercommit_ratio\fP is used.  Writing a value to
-either of these files causes the value in the other file to be set to zero.
+この書き込み可能なファイルは、 \fI/proc/sys/vm/overcommit_memory\fP が値 2 の際に、 \fICommitLimit\fP
+を制御する \fI/proc/sys/vm/overcommit_ratio\fP の別の設定手段を提供するものである。
+\fIovercommit_ratio\fP が割合をパーセントで指定するのに対し、 このファイルではオーバーコミットするメモリー量を絶対値 (kB 単位)
+で指定できる。 これにより、 メモリーサイズが非常に大きなシステムで \fICommitLimit\fP を極め細かく制御できる。
+
+\fIovercommit_kbytes\fP と \fIovercommit_ratio\fP のいずれか一方だけが効果を持つ。
+\fIovercommit_kbytes\fP が 0 以外の値を持つ場合、 \fICommitLimit\fP を計算するのに
+\fIovercommit_kbytes\fP が使用され、 それ以外の場合 \fIovercommit_ratio\fP が使用される。
+これらのファイルのいずれかに値を書き込むと、 他のファイルの値は 0 に設定される。
 .TP 
 \fI/proc/sys/vm/overcommit_memory\fP
 このファイルにはカーネル仮想メモリのアカウントモードが書かれている。 値は以下の通り:
@@ -2955,15 +2934,14 @@ For example, on a system with 16GB of physical RAM, 16GB of swap, no space
 dedicated to huge pages, and an \fIovercommit_ratio\fP of 50, this formula
 yields a \fICommitLimit\fP of 24GB.
 
-Since Linux 3.14, if the value in \fI/proc/sys/vm/overcommit_kbytes\fP is
-nonzero, then \fICommitLimit\fP is instead calculated as:
+Linux 3.14 以降では、 \fI/proc/sys/vm/overcommit_kbytes\fP の値が 0 でない場合、
+\fICommitLimit\fP は代わりに以下のように計算される。
 
     CommitLimit = overcommit_kbytes + total_swap
 .TP 
 \fI/proc/sys/vm/overcommit_ratio\fP (Linux 2.6.0 以降)
-This writable file defines a percentage by which memory can be
-overcommitted.  The default value in the file is 50.  See the description of
-\fI/proc/sys/vm/overcommit_memory\fP.
+この書き込み可能なファイルは、 オーバーコミットできるメモリーの割合をパーセントで定義する。 このファイルのデフォルト値は 50 である。
+\fI/proc/sys/vm/overcommit_memory\fP の説明を参照。
 .TP 
 \fI/proc/sys/vm/panic_on_oom\fP (Linux 2.6.18 以降)
 .\" The following is adapted from Documentation/sysctl/vm.txt
index 3ac0a35..d85db72 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "POT-Creation-Date: 2015-01-11 03:52+0900\n"
-"PO-Revision-Date: 2015-01-12 02:08+0900\n"
+"PO-Revision-Date: 2015-01-18 19:30+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -10450,7 +10450,7 @@ msgstr "このファイルはプロセスの所有者だけが読み出すこと
 #. type: Plain text
 #: build/C/man5/proc.5:860
 msgid "See B<namespaces>(7)  for more information."
-msgstr ""
+msgstr "詳しい情報は B<namespaces>(7) を参照。"
 
 #. type: TP
 #: build/C/man5/proc.5:860
@@ -10690,6 +10690,8 @@ msgid ""
 "physical page frames or swap area.  It contains one 64-bit value for each "
 "virtual page, with the bits set as follows:"
 msgstr ""
+"このファイルは、 プロセスの各仮想ページの物理ページフレームやスワップ領域へのマッピングを表示する。\n"
+"各仮想ページに 64 ビットの値 1 つが対応し、 各ビットは以下のとおりである。"
 
 #. type: TP
 #: build/C/man5/proc.5:1009
@@ -10700,7 +10702,7 @@ msgstr "63"
 #. type: Plain text
 #: build/C/man5/proc.5:1012
 msgid "If set, the page is present in RAM."
-msgstr ""
+msgstr "セットされている場合、 このページは RAM に存在する。"
 
 #. type: TP
 #: build/C/man5/proc.5:1012
@@ -10711,7 +10713,7 @@ msgstr "62"
 #. type: Plain text
 #: build/C/man5/proc.5:1015
 msgid "If set, the page is in swap space"
-msgstr ""
+msgstr "セットされている場合、 このページはスワップ領域に存在する。"
 
 #. type: TP
 #: build/C/man5/proc.5:1015
@@ -10722,7 +10724,7 @@ msgstr "61 (Linux 3.5 以降)"
 #. type: Plain text
 #: build/C/man5/proc.5:1018
 msgid "The page is a file-mapped page or a shared anonymous page."
-msgstr ""
+msgstr "このページはファイルマップされたページか共有無名ページである。"
 
 #. type: TP
 #: build/C/man5/proc.5:1018
@@ -10734,7 +10736,7 @@ msgstr "60-56 (Linux 3.11 以降)"
 #. type: Plain text
 #: build/C/man5/proc.5:1022
 msgid "Zero"
-msgstr ""
+msgstr "ゼロ。"
 
 #. type: TP
 #: build/C/man5/proc.5:1022
@@ -10747,7 +10749,7 @@ msgstr "55 (Linux 3.11 以降)"
 msgid ""
 "PTE is soft-dirty (see the kernel source file I<Documentation/vm/soft-dirty."
 "txt>)."
-msgstr ""
+msgstr "PTE が soft-dirty である (カーネルのソースファイル I<Documentation/vm/soft-dirty.txt> を参照)。"
 
 #. type: TP
 #: build/C/man5/proc.5:1027
@@ -10762,14 +10764,14 @@ msgid ""
 "frame number, which can be used to index I</proc/kpageflags> and I</proc/"
 "kpagecount>.  If the page is present in swap (bit 62), then bits 4-0 give "
 "the swap type, and bits 54-5 encode the swap offset."
-msgstr ""
+msgstr "このページが RAM に存在する場合 (ビット 63)、 これらのビットはページフレーム番号を示す。 このページフレーム番号は I</proc/kpageflags> と I</proc/kpagecount> のインデックスに使用できる。 このページがスワップに存在する場合 (ビット 62)、 ビット 4-0 はスワップ種別を示し、 ビット 54-5 はスワップオフセットを示す。"
 
 #. type: Plain text
 #: build/C/man5/proc.5:1040
 msgid ""
 "Before Linux 3.11, bits 60-55 were used to encode the base-2 log of the page "
 "size."
-msgstr ""
+msgstr "Linux 3.11 より前では、 ビット 60-55 はページサイズの基数 2 の log を示すのに使われていた。"
 
 #. type: Plain text
 #: build/C/man5/proc.5:1047
@@ -10777,7 +10779,7 @@ msgid ""
 "To employ I</proc/[pid]/pagemap> efficiently, use I</proc/[pid]/maps> to "
 "determine which areas of memory are actually mapped and seek to skip over "
 "unmapped regions."
-msgstr ""
+msgstr "I</proc/[pid]/pagemap> を効率的に活用するには、 I</proc/[pid]/maps> を使ってメモリーのどの領域が実際にマップされているかを判断し、 seek でマップされていない領域をスキップするのがよい。"
 
 #. type: Plain text
 #: build/C/man5/proc.5:1053
@@ -11049,7 +11051,7 @@ msgstr "R"
 #. type: Plain text
 #: build/C/man5/proc.5:1226
 msgid "Running"
-msgstr ""
+msgstr "実行中 (Running)"
 
 #. type: IP
 #: build/C/man5/proc.5:1226
@@ -11082,7 +11084,7 @@ msgstr "Z"
 #. type: Plain text
 #: build/C/man5/proc.5:1233
 msgid "Zombie"
-msgstr ""
+msgstr "ゾンビ (Zombie)"
 
 #. type: IP
 #: build/C/man5/proc.5:1233
@@ -11093,7 +11095,7 @@ msgstr "T"
 #. type: Plain text
 #: build/C/man5/proc.5:1235
 msgid "Stopped (on a signal) or (before Linux 2.6.33) trace stopped"
-msgstr ""
+msgstr "(シグナルでの) 停止、または (Linux 2.6.33 より前では) トレースによる停止"
 
 #. type: IP
 #: build/C/man5/proc.5:1235
@@ -11105,7 +11107,7 @@ msgstr "t"
 #. type: Plain text
 #: build/C/man5/proc.5:1238
 msgid "Tracing stop (Linux 2.6.33 onward)"
-msgstr ""
+msgstr "トレースによる停止 (Tracing stop) (Linux 2.6.33 以降)"
 
 #. type: IP
 #: build/C/man5/proc.5:1238 build/C/man5/proc.5:1252
@@ -11116,7 +11118,7 @@ msgstr "W"
 #. type: Plain text
 #: build/C/man5/proc.5:1240
 msgid "Paging (only before Linux 2.6.0)"
-msgstr ""
+msgstr "ページング中 (Linux 2.6.0 より前のみ)"
 
 #. type: IP
 #: build/C/man5/proc.5:1240
@@ -11127,7 +11129,7 @@ msgstr "X"
 #. type: Plain text
 #: build/C/man5/proc.5:1242
 msgid "Dead (from Linux 2.6.0 onward)"
-msgstr ""
+msgstr "死亡 (Dead) (Linux 2.6.0 以降)"
 
 #. type: IP
 #: build/C/man5/proc.5:1242
@@ -11140,7 +11142,7 @@ msgstr "x"
 #. type: Plain text
 #: build/C/man5/proc.5:1247
 msgid "Dead (Linux 2.6.33 to 3.13 only)"
-msgstr ""
+msgstr "死亡 (Dead) (Linux 2.6.33 から 3.13 までのみ)"
 
 #. type: IP
 #: build/C/man5/proc.5:1247
@@ -11153,14 +11155,14 @@ msgstr "K"
 #. type: Plain text
 #: build/C/man5/proc.5:1252
 msgid "Wakekill (Linux 2.6.33 to 3.13 only)"
-msgstr ""
+msgstr "Wakekill (Linux 2.6.33 から 3.13 までのみ)"
 
 #.  commit 44d90df6b757c59651ddd55f1a84f28132b50d29
 #.  commit 74e37200de8e9c4e09b70c21c3f13c2071e77457
 #. type: Plain text
 #: build/C/man5/proc.5:1257
 msgid "Waking (Linux 2.6.33 to 3.13 only)"
-msgstr ""
+msgstr "Waking (Linux 2.6.33 から 3.13 までのみ)"
 
 #. type: IP
 #: build/C/man5/proc.5:1257
@@ -11173,7 +11175,7 @@ msgstr "P"
 #. type: Plain text
 #: build/C/man5/proc.5:1262
 msgid "Parked (Linux 3.9 to 3.13 only)"
-msgstr ""
+msgstr "Parked (Linux 3.9 から 3.13 までのみ)"
 
 #. type: TP
 #: build/C/man5/proc.5:1263
@@ -11870,7 +11872,7 @@ msgstr "(48) I<arg_start> \\ %lu \\ (Linux 3.5 以降)"
 #: build/C/man5/proc.5:1518
 msgid ""
 "Address above which program command-line arguments (I<argv>)  are placed."
-msgstr ""
+msgstr "プログラムのコマンドライン引き数 (I<argv>) が置かれる開始アドレス。"
 
 #. type: TP
 #: build/C/man5/proc.5:1518
@@ -11882,7 +11884,7 @@ msgstr "(49) I<arg_end> \\ %lu \\ (Linux 3.5 以降)"
 #. type: Plain text
 #: build/C/man5/proc.5:1524
 msgid "Address below program command-line arguments (I<argv>)  are placed."
-msgstr ""
+msgstr "プログラムのコマンドライン引き数 (I<argv>) が置かれる終了アドレス。"
 
 #. type: TP
 #: build/C/man5/proc.5:1524
@@ -11894,7 +11896,7 @@ msgstr "(50) I<env_start> \\ %lu \\ (Linux 3.5 以降)"
 #. type: Plain text
 #: build/C/man5/proc.5:1528
 msgid "Address above which program environment is placed."
-msgstr ""
+msgstr "プログラムの環境 (environment) が置かれる開始アドレス。"
 
 #. type: TP
 #: build/C/man5/proc.5:1528
@@ -11906,7 +11908,7 @@ msgstr "(51) I<env_end> \\ %lu \\ (Linux 3.5 以降)"
 #. type: Plain text
 #: build/C/man5/proc.5:1532
 msgid "Address below which program environment is placed."
-msgstr ""
+msgstr "プログラムの環境 (environment) が置かれる終了アドレス。"
 
 #. type: TP
 #: build/C/man5/proc.5:1532
@@ -11918,7 +11920,7 @@ msgstr "(52) I<exit_code> \\ %d \\ (Linux 3.5 以降)"
 #. type: Plain text
 #: build/C/man5/proc.5:1537
 msgid "The thread's exit status in the form reported by B<waitpid>(2)."
-msgstr ""
+msgstr "B<waitpid>(2) が報告する形式のスレッドの終了ステータス。"
 
 #. type: TP
 #: build/C/man5/proc.5:1538
@@ -13032,7 +13034,7 @@ msgstr "I</proc/fs>"
 msgid ""
 "Contains subdirectories that in turn contain files with information about "
 "(certain) mounted filesystems."
-msgstr ""
+msgstr "マウントされているファイルシステムに関する情報を提供するファイルが入ったサブディレクトリが入っている。"
 
 #. type: TP
 #: build/C/man5/proc.5:2179
@@ -13216,7 +13218,7 @@ msgid ""
 "This file contains a 64-bit count of the number of times each physical page "
 "frame is mapped, indexed by page frame number (see the discussion of I</proc/"
 "[pid]/pagemap>)."
-msgstr ""
+msgstr "このファイルには、 各物理ページフレームがマッピングされた回数が 64 ビットカウンターとして入っている。 インデックスはページフレーム番号である (I</proc/[pid]/pagemap> の議論を参照)。"
 
 #. type: Plain text
 #: build/C/man5/proc.5:2269
@@ -13239,7 +13241,7 @@ msgid ""
 "This file contains 64-bit masks corresponding to each physical page frame; "
 "it is indexed by page frame number (see the discussion of I</proc/[pid]/"
 "pagemap>).  The bits are as follows:"
-msgstr ""
+msgstr "このファイルには、 各物理ページフレームに対応する 64 ビットマスクが入っている。 インデックスはページフレーム番号である (I</proc/[pid]/pagemap> の議論を参照)。 各ビットは以下のとおりである。"
 
 #. type: Plain text
 #: build/C/man5/proc.5:2299
@@ -13302,7 +13304,7 @@ msgid ""
 "file I<Documentation/vm/pagemap.txt>.  Before kernel 2.6.29, "
 "B<KPF_WRITEBACK>, B<KPF_RECLAIM>, B<KPF_BUDDY>, and B<KPF_LOCKED> did not "
 "report correctly."
-msgstr ""
+msgstr "これらのビットの意味の詳しい説明は、 カーネルのソースファイル I<Documentation/vm/pagemap.txt> を参照。 カーネル 2.6.29 より前では、 B<KPF_WRITEBACK>, B<KPF_RECLAIM>, B<KPF_BUDDY>, B<KPF_LOCKED> は正しい値を返さなかった。"
 
 #. type: Plain text
 #: build/C/man5/proc.5:2318
@@ -13921,9 +13923,7 @@ msgstr "I<AnonHugePages> %lu (Linux 2.6.38 以降)"
 msgid ""
 "(B<CONFIG_TRANSPARENT_HUGEPAGE> is required.)  Non-file backed huge pages "
 "mapped into user-space page tables."
-msgstr ""
-"(B<CONFIG_TRANSPARENT_HUGEPAGE> が必要) ユーザー空間ページテーブルにマッピン"
-"グされているファイルと関連付けられていないページ。"
+msgstr "(B<CONFIG_TRANSPARENT_HUGEPAGE> が必要) ユーザー空間ページテーブルにマッピングされているファイルと関連付けられていないヒュージページ。"
 
 #. type: TP
 #: build/C/man5/proc.5:2559
@@ -14392,7 +14392,7 @@ msgid ""
 "This file contains information about netfilter userspace queueing, if used.  "
 "Each line represents a queue.  Queues that have not been subscribed to by "
 "userspace are not shown."
-msgstr ""
+msgstr "このファイルは netfilter ユーザー空間キューイングが使用されている場合 netfilter ユーザー空間キューイングの情報を表示する。 各行が各キューの情報を表示する。 ユーザー空間で購読されていないキューは表示されない。"
 
 #. type: Plain text
 #: build/C/man5/proc.5:2802
@@ -14410,33 +14410,33 @@ msgid ""
 "The ID of the queue.  This matches what is specified in the B<--queue-num> "
 "or B<--queue-balance> options to the B<iptables>(8)  NFQUEUE target.  See "
 "B<iptables-extensions>(8)  for more information."
-msgstr ""
+msgstr "キューの ID。 これは B<iptables>(8) NFQUEUE ターゲットの B<--queue-num> や B<--queue-balance> オプションで指定された値と一致する。 詳しい情報は B<iptables-extensions>(8) を参照。"
 
 #. type: Plain text
 #: build/C/man5/proc.5:2820
 msgid "The netlink port id subscribed to the queue."
-msgstr ""
+msgstr "キューを購読している netlink ポート ID。"
 
 #. type: Plain text
 #: build/C/man5/proc.5:2824
 msgid ""
 "The number of packets currently queued and waiting to be processed by the "
 "application."
-msgstr ""
+msgstr "現在キューに入っていてアプリケーションが処理するのを待っているパケット数。"
 
 #. type: Plain text
 #: build/C/man5/proc.5:2828
 msgid ""
 "The copy mode of the queue. It is either 1 (metadata only) or 2 (also copy "
 "payload data to userspace)."
-msgstr ""
+msgstr "キューのコピーモード。 値は 1 (メタデータのみ) か 2 (ペイロードデータもユーザー空間にコピーする) のいずれかである。"
 
 #. type: Plain text
 #: build/C/man5/proc.5:2832
 msgid ""
 "Copy range, i.e. how many bytes of packet payload should be copied to "
 "userspace at most."
-msgstr ""
+msgstr "コピーする範囲。 つまり、 最大で何バイトのパケットペイロードをユーザー空間にコピーする必要があるかを示す。"
 
 #. type: Plain text
 #: build/C/man5/proc.5:2837
@@ -14444,7 +14444,7 @@ msgid ""
 "queue dropped.  Number of packets that had to be dropped by the kernel "
 "because too many packets are already waiting for userspace to send back the "
 "mandatory accept/drop verdicts."
-msgstr ""
+msgstr "キューでの破棄数。 すでに多数のパケットがユーザー空間が必ず必要な受け入れ/破棄の判定を送り返すのを待っていたため、 カーネルがドロップする必要があったパケット数。"
 
 #. type: Plain text
 #: build/C/man5/proc.5:2842
@@ -14452,7 +14452,7 @@ msgid ""
 "queue user dropped.  Number of packets that were dropped within the netlink "
 "subsystem.  Such drops usually happen when the corresponding socket buffer "
 "is full, i.e.  userspace is not able to read messages fast enough."
-msgstr ""
+msgstr "キューのユーザーでのドロップ数。 netlink サブシステム内で破棄されたパケット数。 このようなパケットの破棄が通常起こるのは、 対応するソケットバッファが一杯の場合、 つまり、 ユーザー空間がメッセージを十分な速度で読み出せない場合である。"
 
 #. type: Plain text
 #: build/C/man5/proc.5:2847
@@ -14460,12 +14460,12 @@ msgid ""
 "sequence number. Every queued packet is associated with a (32-bit)  "
 "monotonically-increasing sequence number.  This shows the ID of the most "
 "recent packet queued."
-msgstr ""
+msgstr "シーケンス番号。 キューに入ったすべてのパケットには 32 ビットの単調増加のシーケンス番号が関連付けられる。 これは一番最近キューに入ったパケットの ID となる。"
 
 #. type: Plain text
 #: build/C/man5/proc.5:2850
 msgid "The last number only exists for compatibility reasons and is always 1."
-msgstr ""
+msgstr "最後の数字は互換性のためだけに存在し、 常に 1 である。"
 
 #. type: TP
 #: build/C/man5/proc.5:2850
@@ -15344,7 +15344,7 @@ msgstr "I</proc/sys/fs/inode-state>"
 msgid ""
 "This file contains seven numbers: I<nr_inodes>, I<nr_free_inodes>, "
 "I<preshrink>, and four dummy values (always zero)."
-msgstr ""
+msgstr "このファイルには 7 つの数字が入っている。 I<nr_inodes>, I<nr_free_inodes>, I<preshrink> と 4 つのダミーの値 (常に 0) である。"
 
 #.  This can be slightly more than
 #.  .I inode-max
@@ -15354,7 +15354,7 @@ msgstr ""
 msgid ""
 "I<nr_inodes> is the number of inodes the system has allocated.  "
 "I<nr_free_inodes> represents the number of free inodes."
-msgstr ""
+msgstr "I<nr_inodes> はシステムが割り当て済みの inode 数である。 I<nr_free_inodes> は未使用の inode 数である。"
 
 #. type: Plain text
 #: build/C/man5/proc.5:3258
@@ -15362,7 +15362,7 @@ msgid ""
 "I<preshrink> is nonzero when the I<nr_inodes> E<gt> I<inode-max> and the "
 "system needs to prune the inode list instead of allocating more; since Linux "
 "2.4, this field is a dummy value (always zero)."
-msgstr ""
+msgstr "I<preshrink> は、 I<nr_inodes> E<gt> I<inode-max> で、 システムがさらに inode を割り当てるのではなく inode リストを刈り取る (余分なものを回収する) 必要がある場合に、 0 以外になる。 Linux 2.4 以降では、 このフィールドはダミーの値 (常に 0) である。"
 
 #. type: TP
 #: build/C/man5/proc.5:3258
@@ -17087,7 +17087,7 @@ msgid ""
 "a percentage, as is done with I<overcommit_ratio>.  This allows for finer-"
 "grained control of I<CommitLimit> on systems with extremely large memory "
 "sizes."
-msgstr ""
+msgstr "この書き込み可能なファイルは、 I</proc/sys/vm/overcommit_memory> が値 2 の際に、 I<CommitLimit> を制御する I</proc/sys/vm/overcommit_ratio> の別の設定手段を提供するものである。 I<overcommit_ratio> が割合をパーセントで指定するのに対し、 このファイルではオーバーコミットするメモリー量を絶対値 (kB 単位) で指定できる。 これにより、 メモリーサイズが非常に大きなシステムで I<CommitLimit> を極め細かく制御できる。"
 
 #. type: Plain text
 #: build/C/man5/proc.5:4108
@@ -17096,7 +17096,7 @@ msgid ""
 "if I<overcommit_kbytes> has a nonzero value, then it is used to calculate "
 "I<CommitLimit>, otherwise I<overcommit_ratio> is used.  Writing a value to "
 "either of these files causes the value in the other file to be set to zero."
-msgstr ""
+msgstr "I<overcommit_kbytes> と I<overcommit_ratio> のいずれか一方だけが効果を持つ。 I<overcommit_kbytes> が 0 以外の値を持つ場合、 I<CommitLimit> を計算するのに I<overcommit_kbytes> が使用され、 それ以外の場合 I<overcommit_ratio> が使用される。 これらのファイルのいずれかに値を書き込むと、 他のファイルの値は 0 に設定される。"
 
 #. type: TP
 #: build/C/man5/proc.5:4108
@@ -17182,18 +17182,19 @@ msgstr "I<total_swap> はスワップ空間の総量"
 
 #. type: Plain text
 #: build/C/man5/proc.5:4163
+#, fuzzy
 msgid ""
 "For example, on a system with 16GB of physical RAM, 16GB of swap, no space "
 "dedicated to huge pages, and an I<overcommit_ratio> of 50, this formula "
 "yields a I<CommitLimit> of 24GB."
-msgstr ""
+msgstr "例えば、 物理 RAM が 16GB で、 スワップが 16GB で、 ヒュージページ専用の空間がなく、 I<overcommit_ratio> が 50 のシステムでは、 この式から I<CommitLimit> として 24GB の値が得られる。"
 
 #. type: Plain text
 #: build/C/man5/proc.5:4169
 msgid ""
 "Since Linux 3.14, if the value in I</proc/sys/vm/overcommit_kbytes> is "
 "nonzero, then I<CommitLimit> is instead calculated as:"
-msgstr ""
+msgstr "Linux 3.14 以降では、 I</proc/sys/vm/overcommit_kbytes> の値が 0 でない場合、 I<CommitLimit> は代わりに以下のように計算される。"
 
 #. type: Plain text
 #: build/C/man5/proc.5:4171
@@ -17213,7 +17214,7 @@ msgid ""
 "This writable file defines a percentage by which memory can be "
 "overcommitted.  The default value in the file is 50.  See the description of "
 "I</proc/sys/vm/overcommit_memory>."
-msgstr ""
+msgstr "この書き込み可能なファイルは、 オーバーコミットできるメモリーの割合をパーセントで定義する。 このファイルのデフォルト値は 50 である。  I</proc/sys/vm/overcommit_memory> の説明を参照。"
 
 #. type: TP
 #: build/C/man5/proc.5:4178
index b34c439..596beb3 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "POT-Creation-Date: 2015-01-14 03:07+0900\n"
-"PO-Revision-Date: 2015-01-16 02:47+0900\n"
+"PO-Revision-Date: 2015-01-18 17:58+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -1160,7 +1160,7 @@ msgstr "Linux User Manual"
 #. type: Plain text
 #: build/C/man1/iconv.1:29
 msgid "iconv - convert text from one character encoding to another"
-msgstr ""
+msgstr "iconv - テキストをある文字符号化から別の文字符号化に変換する"
 
 #. type: Plain text
 #: build/C/man1/iconv.1:35
@@ -1178,7 +1178,7 @@ msgid ""
 "another encoding.  If no input files are given, or if it is given as a dash "
 "(-), B<iconv> reads from standard input.  If no output file is given, "
 "B<iconv> writes to standard output."
-msgstr ""
+msgstr "B<iconv> プログラムはある符号化 (encoding) からテキストを読み出し、 別の符号化でそのテキストを出力する。 入力が指定されなかった場合、 もしくは入力ファイルとしてダッシュ (-) が指定された場合、 B<iconv> は標準入力から入力を行う。 出力が指定されなかった場合、 B<iconv> は標準出力に出力する。"
 
 #. type: Plain text
 #: build/C/man1/iconv.1:56
@@ -1186,7 +1186,7 @@ msgid ""
 "If no I<from-encoding> is given, the default is derived from the current "
 "locale's character encoding.  If no I<to-encoding> is given, the default is "
 "derived from the current locale's character encoding."
-msgstr ""
+msgstr "I<from-encoding> が指定されなかった場合、 デフォルトは現在のロケールの文字符号化から取得される。 I<to-encoding> が指定されなかった場合、 デフォルトは現在のロケールの文字符号化から取得される。"
 
 #. type: SH
 #: build/C/man1/iconv.1:56 build/C/man8/iconvconfig.8:57
@@ -1204,7 +1204,7 @@ msgstr "B<-f>I< from-encoding>B<, --from-code=>I<from-encoding>"
 #. type: Plain text
 #: build/C/man1/iconv.1:62
 msgid "Use I<from-encoding> for input characters."
-msgstr ""
+msgstr "文字入力に I<from-encoding> を使用する。"
 
 #. type: TP
 #: build/C/man1/iconv.1:62
@@ -1215,14 +1215,14 @@ msgstr "B<-t>I< to-encoding>B<, --to-code=>I<to-encoding>"
 #. type: Plain text
 #: build/C/man1/iconv.1:67
 msgid "Use I<to-encoding> for output characters."
-msgstr ""
+msgstr "文字出力に I<to-encoding> を使用する。"
 
 #. type: Plain text
 #: build/C/man1/iconv.1:74
 msgid ""
 "If the string B<//IGNORE> is appended to I<to-encoding>, characters that "
 "cannot be converted are discarded and an error is printed after conversion."
-msgstr ""
+msgstr "I<to-encoding> の後ろに文字列 B<//IGNORE> が付いていた場合、 変換できなかった文字は破棄され、 変換後にエラーが表示される。"
 
 #. type: Plain text
 #: build/C/man1/iconv.1:85
@@ -1233,7 +1233,7 @@ msgid ""
 "approximated through one or several similar looking characters.  Characters "
 "that are outside of the target character set and cannot be transliterated "
 "are replaced with a question mark (?) in the output."
-msgstr ""
+msgstr "I<to-encoding> の後ろに文字列 B<//TRANSLIT> が付いていた場合、 変換される文字の書き直し (transliterate) が必要で可能な場合、書き直しが行われる。 変換先の文字集合で文字が表現できない場合、 変換先の文字集合の文字に近似されることを意味する (1 文字の場合も複数文字の場合もある)。 変換先の文字集合外の文字で、書き直しもできない文字は、 出力では疑問符 (?) に置き換えられる。"
 
 #. type: TP
 #: build/C/man1/iconv.1:85
@@ -1244,7 +1244,7 @@ msgstr "B<-l>, B<--list>"
 #. type: Plain text
 #: build/C/man1/iconv.1:88
 msgid "List all known character set encodings."
-msgstr ""
+msgstr "認識するすべての文字集合符号化のリストを表示する。"
 
 #. type: TP
 #: build/C/man1/iconv.1:88
@@ -1257,7 +1257,7 @@ msgstr "B<-c>"
 msgid ""
 "Silently discard characters that cannot be converted instead of terminating "
 "when encountering such characters."
-msgstr ""
+msgstr "変換できない文字があった場合に、 変換を終了するのではなく、 その文字を黙って破棄する。"
 
 #. type: TP
 #: build/C/man1/iconv.1:92 build/C/man8/iconvconfig.8:62
@@ -1268,7 +1268,7 @@ msgstr "B<-o>I< outputfile>B<, --output=>I<outputfile>"
 #. type: Plain text
 #: build/C/man1/iconv.1:97
 msgid "Use I<outputfile> for output."
-msgstr ""
+msgstr "出力に I<outputfile> を使用する。"
 
 #. type: TP
 #: build/C/man1/iconv.1:97
@@ -1279,7 +1279,7 @@ msgstr "B<-s>, B<--silent>"
 #. type: Plain text
 #: build/C/man1/iconv.1:100
 msgid "This option is ignored; it is provided only for compatibility."
-msgstr ""
+msgstr "このオプションは無視される。 互換性のためだけに存在する。"
 
 #. type: TP
 #: build/C/man1/iconv.1:100
@@ -1291,7 +1291,7 @@ msgstr "B<--verbose>"
 #: build/C/man1/iconv.1:104
 msgid ""
 "Print progress information on standard error when processing multiple files."
-msgstr ""
+msgstr "複数のファイルを処理する際に進捗情報を標準エラーに出力する。"
 
 #. type: TP
 #: build/C/man1/iconv.1:104 build/C/man8/iconvconfig.8:78
@@ -1303,7 +1303,7 @@ msgstr "B<-?>, B<--help>"
 #. type: Plain text
 #: build/C/man1/iconv.1:107 build/C/man8/iconvconfig.8:81
 msgid "Print a usage summary and exit."
-msgstr ""
+msgstr "使用方法を表示し、終了する。"
 
 #. type: TP
 #: build/C/man1/iconv.1:107 build/C/man8/iconvconfig.8:81
@@ -1316,7 +1316,7 @@ msgstr "B<--usage>"
 #: build/C/man1/iconv.1:110 build/C/man8/iconvconfig.8:84
 #: build/C/man1/localedef.1:254
 msgid "Print a short usage summary and exit."
-msgstr ""
+msgstr "簡潔な使用方法を出力し、終了する。"
 
 #. type: TP
 #: build/C/man1/iconv.1:110 build/C/man8/iconvconfig.8:84
@@ -1329,7 +1329,7 @@ msgstr "B<-V>, B<--version>"
 #: build/C/man1/iconv.1:114 build/C/man8/iconvconfig.8:88
 msgid ""
 "Print the version number, license, and disclaimer of warranty for B<iconv>."
-msgstr ""
+msgstr "B<iconv> のバージョン番号、 ライセンス、 保証免責を表示する。"
 
 #. type: SH
 #: build/C/man1/iconv.1:114 build/C/man8/iconvconfig.8:88
@@ -1341,7 +1341,7 @@ msgstr "終了ステータス"
 #. type: Plain text
 #: build/C/man1/iconv.1:116 build/C/man8/iconvconfig.8:90
 msgid "Zero on success, non-zero on errors."
-msgstr ""
+msgstr "成功すると 0 で、 エラーの場合 0 以外。"
 
 #. type: Plain text
 #: build/C/man1/iconv.1:134
@@ -1352,7 +1352,7 @@ msgid ""
 "program must first allocate a conversion descriptor using B<iconv_open>(3).  "
 "The operation of the latter function is influenced by the setting of the "
 "B<GCONV_PATH> environment variable:"
-msgstr ""
+msgstr "内部では、 B<iconv> プログラムは B<iconv>(3) 関数を使用する。 B<iconv>(3) 関数は順に I<gconv> モジュール (動的にロードされる共有ライブラリ) を使って、 変換元、変換先の文字集合を取り扱う。 B<iconv>(3) を呼び出す前に、 B<iconv> プログラムは最初に B<iconv_open>(3) を使って変換ディスクリプターを割り当てる。 B<iconv_open>(3) の動作は B<GCONV_PATH> 環境変数の設定の影響を受ける。"
 
 #. type: Plain text
 #: build/C/man1/iconv.1:145
@@ -1362,7 +1362,7 @@ msgid ""
 "the configuration, loads the gconv modules needed to perform the "
 "conversion.  If the system gconv module configuration cache file is not "
 "available then the system gconv module configuration file is used."
-msgstr ""
+msgstr "B<GCONV_PATH> が設定されていない場合、 B<iconv_open>(3) は B<iconvconfig>(8) により作成されたシステムの gconv モジュール設定キャッシュファイルを読み込み、 それからこの設定に基づき、 変換を行うのに必要な gconv モジュールをロードする。 システムの gconv モジュール設定キャッシュファイルが利用できない場合、 システムの gconv モジュール設定ファイルが使用される。"
 
 #. type: Plain text
 #: build/C/man1/iconv.1:169
@@ -1379,7 +1379,7 @@ msgid ""
 "being such that the first suitable module found in B<GCONV_PATH> is used.  "
 "This allows users to use custom modules and even replace system-provided "
 "modules by providing such modules in B<GCONV_PATH> directories."
-msgstr ""
+msgstr "B<GCONV_PATH> (コロン区切りのパス名のリスト) が定義されている場合、 システムの gconv モジュール設定キャッシュは使用されない。 代わりに B<iconv_open>(3) は最初に B<GCONV_PATH> に指定されたディレクトリを順番に検索して設定ファイルの読み出しを試み、 その後でシステムのデフォルトの gconv モジュール設定ファイルをロードする。 ディレクトリに gconv モジュール設定ファイルがない場合、 そのディレクトリにある gconv モジュールは無視される。 ディレクトリに gconv モジュール設定ファイルがあり、 そのディレクトリに現在の変換に必要なモジュールがあると判断した場合、 必要なモジュールがこのディレクトリからロードされる。 B<GCONV_PATH> で最初に見つかった適切なモジュールが使用される。 これにより、 ユーザーが独自のモジュールを使用し、 B<GCONV_PATH> ディレクトリにそれらのモジュールを置くことでシステムが提供するモジュールを置き換えることができる。"
 
 #. type: TP
 #: build/C/man1/iconv.1:170 build/C/man8/iconvconfig.8:91
@@ -1390,7 +1390,7 @@ msgstr "I</usr/lib/gconv>"
 #. type: Plain text
 #: build/C/man1/iconv.1:173 build/C/man8/iconvconfig.8:94
 msgid "Usual default gconv module path."
-msgstr ""
+msgstr "通常のデフォルトの gconv モジュールのパス。"
 
 #. type: TP
 #: build/C/man1/iconv.1:173 build/C/man8/iconvconfig.8:94
@@ -1401,7 +1401,7 @@ msgstr "I</usr/lib/gconv/gconv-modules>"
 #. type: Plain text
 #: build/C/man1/iconv.1:176 build/C/man8/iconvconfig.8:97
 msgid "Usual system default gconv module configuration file."
-msgstr ""
+msgstr "通常のデフォルトの gconv モジュールのシステム設定ファイル。"
 
 #. type: TP
 #: build/C/man1/iconv.1:176 build/C/man8/iconvconfig.8:97
@@ -1412,12 +1412,12 @@ msgstr "I</usr/lib/gconv/gconv-modules.cache>"
 #. type: Plain text
 #: build/C/man1/iconv.1:179 build/C/man8/iconvconfig.8:100
 msgid "Usual system gconv module configuration cache."
-msgstr ""
+msgstr "通常のデフォルトの gconv モジュールのシステム設定キャッシュ。"
 
 #. type: Plain text
 #: build/C/man1/iconv.1:183
 msgid "Convert text from the ISO 8859-15 character encoding to UTF-8:"
-msgstr ""
+msgstr "テキストを ISO 8859-15 文字符号化から UTF-8 に変換する。"
 
 #. type: Plain text
 #: build/C/man1/iconv.1:187
@@ -1429,7 +1429,7 @@ msgstr "$ B<iconv -f ISO-8859-15 -t UTF-8 E<lt> input.txt E<gt> output.txt>\n"
 #: build/C/man1/iconv.1:192
 msgid ""
 "The next example converts from UTF-8 to ASCII, transliterating when possible:"
-msgstr ""
+msgstr "以下の例は UTF-8 から ASCII への変換を行い、 可能であれば書き直し (transliterate) を行う。"
 
 #. type: Plain text
 #: build/C/man1/iconv.1:197
index acfa715..bda9e59 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "POT-Creation-Date: 2015-01-11 03:52+0900\n"
-"PO-Revision-Date: 2015-01-11 04:09+0900\n"
+"PO-Revision-Date: 2015-01-17 03:37+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -2280,7 +2280,7 @@ msgstr "FANOTIFY_MARK"
 msgid ""
 "fanotify_mark - add, remove, or modify an fanotify mark on a filesystem "
 "object"
-msgstr ""
+msgstr "fanotify_mark - ファイルシステムオブジェクトへの fanotify マークの追加、削除、変更"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:31
@@ -2304,21 +2304,21 @@ msgid ""
 "B<fanotify_mark>(2)  adds, removes, or modifies an fanotify mark on a "
 "filesystem object.  The caller must have read permission on the filesystem "
 "object that is to be marked."
-msgstr ""
+msgstr "B<fanotify_mark>(2) はファイルシステムオブジェクトに対する fanotify マークの追加、削除、変更を行う。 呼び出し元はマークを付けるファイルシステムオブジェクトに対する読み出し許可を持っていなければならない。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:49
 msgid ""
 "The I<fanotify_fd> argument is a file descriptor returned by "
 "B<fanotify_init>(2)."
-msgstr ""
+msgstr "I<fanotify_fd> 引き数は B<fanotify_init>(2) で返されたファイルディスクリプターである。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:53
 msgid ""
 "I<flags> is a bit mask describing the modification to perform.  It must "
 "include exactly one of the following values:"
-msgstr ""
+msgstr "I<flags> は実行する操作内容を示すビットマスクである。 以下の値のいずれか一つだけを指定しなければならない。"
 
 #. type: TP
 #: build/C/man2/fanotify_mark.2:53
@@ -2331,7 +2331,7 @@ msgstr "B<FAN_MARK_ADD>"
 msgid ""
 "The events in I<mask> will be added to the mark mask (or to the ignore "
 "mask).  I<mask> must be nonempty or the error B<EINVAL> will occur."
-msgstr ""
+msgstr "I<mask> のイベントを mark マスク (もしくは ignore マスク) に追加する。 I<mask> は空であってはいけない。 空の場合はエラー B<EINVAL> が発生する。"
 
 #. type: TP
 #: build/C/man2/fanotify_mark.2:62
@@ -2345,7 +2345,7 @@ msgid ""
 "The events in argument I<mask> will be removed from the mark mask (or from "
 "the ignore mask).  I<mask> must be nonempty or the error B<EINVAL> will "
 "occur."
-msgstr ""
+msgstr "引き数 I<mask> のイベントを mark マスク (もしくは ignore マスク) から削除する。 I<mask> は空であってはいけない。 空の場合はエラー B<EINVAL>が発生する。"
 
 #. type: TP
 #: build/C/man2/fanotify_mark.2:71
@@ -2361,20 +2361,20 @@ msgid ""
 "the group.  Otherwise, all marks for directories and files are removed.  No "
 "flag other than B<FAN_MARK_MOUNT> can be used in conjunction with "
 "B<FAN_MARK_FLUSH>.  I<mask> is ignored."
-msgstr ""
+msgstr "fanotify グループから全てのマウント mark か全てのマウント以外の mark を削除する。 I<flag> に B<FAN_MARK_MOUNT> が含まれる場合、 マウントに対する全ての mark がそのグループから削除される。 含まれない場合は、 ディレクトリとファイルに対する全ての mark が削除される。 B<FAN_MARK_MOUNT> 以外のフラグを B<FAN_MARK_FLUSH> と組み合わせて使うことはできない。 I<mask> は無視される。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:90
 msgid ""
 "If none of the values above is specified, or more than one is specified, the "
 "call fails with the error B<EINVAL>."
-msgstr ""
+msgstr "上記のどの値も指定されなかった場合、 または 2 つ以上の値が指定された場合、 呼び出しはエラー B<EINVAL> で失敗する。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:94
 msgid ""
 "In addition, zero or more of the following values may be ORed into I<flags>:"
-msgstr ""
+msgstr "これに加えて、 I<flags> に以下の値を 0 個以上ビット単位の論理和 (OR) で指定できる。"
 
 #. type: TP
 #: build/C/man2/fanotify_mark.2:94
@@ -2388,7 +2388,7 @@ msgid ""
 "If I<pathname> is a symbolic link, mark the link itself, rather than the "
 "file to which it refers.  (By default, B<fanotify_mark>()  dereferences "
 "I<pathname> if it is a symbolic link.)"
-msgstr ""
+msgstr "I<pathname> がシンボリックリンクの場合、 リンクが参照するファイルではなく、 リンク自身にマークを付ける (デフォルトでは B<fanotify_mark>() は I<pathname> がシンボリックリンクの場合シンボリックリンクの展開を行う)。"
 
 #. type: TP
 #: build/C/man2/fanotify_mark.2:105
@@ -2401,7 +2401,7 @@ msgstr "B<FAN_MARK_ONLYDIR>"
 msgid ""
 "If the filesystem object to be marked is not a directory, the error "
 "B<ENOTDIR> shall be raised."
-msgstr ""
+msgstr "マークが付けられたファイルシステムオブジェクトがディレクトリでない場合、 エラー B<ENOTDIR> が発生する。"
 
 #. type: TP
 #: build/C/man2/fanotify_mark.2:110
@@ -2416,7 +2416,7 @@ msgid ""
 "a mount point, the mount point containing I<pathname> will be marked.  All "
 "directories, subdirectories, and the contained files of the mount point will "
 "be monitored."
-msgstr ""
+msgstr "I<pathname> で指定されたマウントポイントにマークを付ける。 I<pathname> がマウントポイント自身ではない場合、 I<pathname> を含むマウントポイントがマークされる。 マウントポイントに含まれる全てのディレクトリ、 サブディレクトリ、 その中のファイルが監視される。"
 
 #. type: TP
 #: build/C/man2/fanotify_mark.2:121
@@ -2428,7 +2428,7 @@ msgstr "B<FAN_MARK_IGNORED_MASK>"
 #: build/C/man2/fanotify_mark.2:126
 msgid ""
 "The events in I<mask> shall be added to or removed from the ignore mask."
-msgstr ""
+msgstr "I<mask> のイベントの ignore マスクへの追加、もしくは削除を行う。"
 
 #. type: TP
 #: build/C/man2/fanotify_mark.2:126
@@ -2442,40 +2442,40 @@ msgid ""
 "The ignore mask shall survive modify events.  If this flag is not set, the "
 "ignore mask is cleared when a modify event occurs for the ignored file or "
 "directory."
-msgstr ""
+msgstr "ignore マスクは変更イベントが発生しても残り続ける。 このフラグがセットされていない場合、 無視するファイルやディレクトリに対して変更イベントが発生した際に ignore マスクはクリアされる。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:136
 msgid ""
 "I<mask> defines which events shall be listened for (or which shall be "
 "ignored).  It is a bit mask composed of the following values:"
-msgstr ""
+msgstr "I<mask> はどのイベントに対して通知を受けるか (もしくはどのイベントを無視するか) を定義する。  以下の値から構成されるビットマスクである。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:139
 msgid ""
 "Create an event when a file or directory (but see BUGS) is accessed (read)."
-msgstr ""
+msgstr "ファイルやディレクトリへのアクセス (読み出し) があった際にイベントを作成する (「バグ」も参照)。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:142
 msgid "Create an event when a file is modified (write)."
-msgstr ""
+msgstr "ファイルが変更された (書き込み) 際にイベントを作成する。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:145
 msgid "Create an event when a writable file is closed."
-msgstr ""
+msgstr "書き込み可能ファイルがクローズされた際にイベントを作成する。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:148
 msgid "Create an event when a read-only file or directory is closed."
-msgstr ""
+msgstr "読み出し専用のファイルやディレクトリがクローズされた際にイベントを作成する。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:151
 msgid "Create an event when a file or directory is opened."
-msgstr ""
+msgstr "ファイルやディレクトリがオープンされた際にイベントを作成する。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:159
@@ -2483,7 +2483,7 @@ msgid ""
 "Create an event when a permission to open a file or directory is requested.  "
 "An fanotify file descriptor created with B<FAN_CLASS_PRE_CONTENT> or "
 "B<FAN_CLASS_CONTENT> is required."
-msgstr ""
+msgstr "ファイルやディレクトリをオープンするアクセス許可が要求された際にイベントを作成する。 fanotify ファイルディスクリプターが B<FAN_CLASS_PRE_CONTENT> か B<FAN_CLASS_CONTENT> を指定されて作成されている必要がある。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:167
@@ -2491,7 +2491,7 @@ msgid ""
 "Create an event when a permission to read a file or directory is requested.  "
 "An fanotify file descriptor created with B<FAN_CLASS_PRE_CONTENT> or "
 "B<FAN_CLASS_CONTENT> is required."
-msgstr ""
+msgstr "ファイルやディレクトリを読み出すアクセス許可が要求された際にイベントを作成する。 fanotify ファイルディスクリプターが B<FAN_CLASS_PRE_CONTENT> か B<FAN_CLASS_CONTENT> を指定されて作成されている必要がある。"
 
 #. type: TP
 #: build/C/man2/fanotify_mark.2:167
@@ -2505,7 +2505,7 @@ msgid ""
 "Create events for directories\\(emfor example, when B<opendir>(3), "
 "B<readdir>(3)  (but see BUGS), and B<closedir>(3)  are called.  Without this "
 "flag, only events for files are created."
-msgstr ""
+msgstr "ディレクトリに対するイベントを作成する。 例えば B<opendir>(3)、 B<readdir>(3) (ただし「バグ」も参照)、 B<closedir>(3) が呼び出された場合。 このフラグが指定されなかった場合、 ファイルに対するイベントだけが作成される。"
 
 #. type: TP
 #: build/C/man2/fanotify_mark.2:176
@@ -2520,44 +2520,44 @@ msgid ""
 "The flag has no effect when marking mounts.  Note that events are not "
 "generated for children of the subdirectories of marked directories.  To "
 "monitor complete directory trees it is necessary to mark the relevant mount."
-msgstr ""
+msgstr "マークされたディレクトリの直下のエントリーに対してイベントを作成する。 このフラグはマウントにマークを付ける際には効果はない。 マークされたディレクトリのサブディレクトリのエントリーに対してはイベントが作成されない点に注意すること。 ディレクトリツリー全体を監視するには、 関連するマウントにマークを付ける必要がある。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:186
 msgid "The following composed value is defined:"
-msgstr ""
+msgstr "以下の組み合わせ値が定義されている。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:190
 msgid "A file is closed (B<FAN_CLOSE_WRITE>|B<FAN_CLOSE_NOWRITE>)."
-msgstr ""
+msgstr "ファイルがクローズされた (B<FAN_CLOSE_WRITE>|B<FAN_CLOSE_NOWRITE>)。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:195
 msgid ""
 "The filesystem object to be marked is determined by the file descriptor "
 "I<dirfd> and the pathname specified in I<pathname>:"
-msgstr ""
+msgstr "マークを付けるファイルシステムオブジェクトは、 ファイルディスクリプター I<dirfd> と I<pathname> で指定されたパス名から決定される。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:201
 msgid ""
 "If I<pathname> is NULL, I<dirfd> defines the filesystem object to be marked."
-msgstr ""
+msgstr "I<pathname> が NULL の場合、 I<dirfd> でマークを付けるファイルシステムオブジェクトが定義される。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:209
 msgid ""
 "If I<pathname> is NULL, and I<dirfd> takes the special value B<AT_FDCWD>, "
 "the current working directory is to be marked."
-msgstr ""
+msgstr "I<pathname> が NULL で、 I<dirfd> が特別な値 B<AT_FDCWD> の場合、 カレントワーキングディレクトリがマークされる。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:215
 msgid ""
 "If I<pathname> is absolute, it defines the filesystem object to be marked, "
 "and I<dirfd> is ignored."
-msgstr ""
+msgstr "I<pathname> が絶対パスの場合、 そのパス名によりマークを付けるファイルシステムオブジェクトが定義され、 I<dirfd> は無視される。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:226
@@ -2565,7 +2565,7 @@ msgid ""
 "If I<pathname> is relative, and I<dirfd> does not have the value "
 "B<AT_FDCWD>, then the filesystem object to be marked is determined by "
 "interpreting I<pathname> relative the directory referred to by I<dirfd>."
-msgstr ""
+msgstr "I<pathname> が相対パスで、 I<dirfd> が B<AT_FDCWD> でない場合、 マークを付けるファイルシステムオブジェクトは I<dirfd> が参照するディレクトリに対する相対パス I<pathname> を解釈して決定される。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:236
@@ -2573,14 +2573,14 @@ msgid ""
 "If I<pathname> is relative, and I<dirfd> has the value B<AT_FDCWD>, then the "
 "filesystem object to be marked is determined by interpreting I<pathname> "
 "relative the current working directory."
-msgstr ""
+msgstr "I<pathname> が相対パスで、 I<dirfd> が B<AT_FDCWD> の場合、 マークを付けるファイルシステムオブジェクトはカレントワーキングディレクトリに対する相対パス I<pathname> を解釈して決定される。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:243
 msgid ""
 "On success, B<fanotify_mark>()  returns 0.  On error, -1 is returned, and "
 "I<errno> is set to indicate the error."
-msgstr ""
+msgstr "成功すると B<fanotify_mark>() は 0 を返す。 エラーの場合、 -1 を返し、 I<errno> にエラーの原因を示す値を設定する。"
 
 #. type: TP
 #: build/C/man2/fanotify_mark.2:244 build/C/man2/inotify_add_watch.2:88
@@ -2592,14 +2592,14 @@ msgstr "B<EBADF>"
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:248
 msgid "An invalid file descriptor was passed in I<fanotify_fd>."
-msgstr ""
+msgstr "無効なファイルディスクリプターが I<fanotify_fd> で渡された。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:257
 msgid ""
 "An invalid value was passed in I<flags> or I<mask>, or I<fanotify_fd> was "
 "not an fanotify file descriptor."
-msgstr ""
+msgstr "無効な値が I<flags> か I<mask> に指定されたか、 I<fanotify_fd> が fanotify ファイルディスクリプターでなかった。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:265
@@ -2607,7 +2607,7 @@ msgid ""
 "The fanotify file descriptor was opened with B<FAN_CLASS_NOTIF> and mask "
 "contains a flag for permission events (B<FAN_OPEN_PERM> or "
 "B<FAN_ACCESS_PERM>)."
-msgstr ""
+msgstr "fanotify ファイルディスクリプターが B<FAN_CLASS_NOTIF> でオープンされたが、 アクセス許可イベント (B<FAN_OPEN_PERM> か B<FAN_ACCESS_PERM>) のフラグがマスクに含まれている。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:274
@@ -2615,12 +2615,12 @@ msgid ""
 "The filesystem object indicated by I<dirfd> and I<pathname> does not exist.  "
 "This error also occurs when trying to remove a mark from an object which is "
 "not marked."
-msgstr ""
+msgstr "I<dirfd> と I<pathname> で指定されたファイルシステムオブジェクトが存在しない。 このエラーはマークされていないオブジェクトからマークを削除しようとした場合にも発生する。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:277
 msgid "The necessary memory could not be allocated."
-msgstr ""
+msgstr "必要なメモリを割り当てできなかった。"
 
 #. type: TP
 #: build/C/man2/fanotify_mark.2:277 build/C/man2/inotify_add_watch.2:112
@@ -2634,14 +2634,14 @@ msgid ""
 "The number of marks exceeds the limit of 8192 and the B<FAN_UNLIMITED_MARKS> "
 "flag was not specified when the fanotify file descriptor was created with "
 "B<fanotify_init>(2)."
-msgstr ""
+msgstr "マークの数が 8192 の上限を超過し、 B<fanotify_init>(2) で fanotify ファイルディスクリプターが作成された際に B<FAN_UNLIMITED_MARKS> フラグが指定されていなかった。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:289
 msgid ""
 "This kernel does not implement B<fanotify_mark>().  The fanotify API is "
 "available only if the kernel was configured with B<CONFIG_FANOTIFY>."
-msgstr ""
+msgstr "このカーネルでは B<fanotify_mark>() が実装されていない。 fanotify API が利用できるのは、 カーネルで B<CONFIG_FANOTIFY> が有効になっている場合だけである。"
 
 #. type: TP
 #: build/C/man2/fanotify_mark.2:289
@@ -2654,19 +2654,19 @@ msgstr "B<ENOTDIR>"
 msgid ""
 "I<flags> contains B<FAN_MARK_ONLYDIR>, and I<dirfd> and I<pathname> do not "
 "specify a directory."
-msgstr ""
+msgstr "I<flags> に B<FAN_MARK_ONLYDIR> が含まれているが、 I<dirfd> と I<pathname> がディレクトリを指定していない。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:303
 msgid ""
 "B<fanotify_mark>()  was introduced in version 2.6.36 of the Linux kernel and "
 "enabled in version 2.6.37."
-msgstr ""
+msgstr "B<fanotify_mark>() は Linux カーネルのバージョン 2.6.36 で導入され、 バージョン 2.6.37 で有効になった。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:307
 msgid "The following bugs were present in Linux kernels before version 3.16:"
-msgstr ""
+msgstr "バージョン 3.16 より前の Linux カーネルでは以下のバグが存在した。"
 
 #.  Fixed by commit 0a8dd2db579f7a0ac7033d6b857c3d5dbaa77563
 #. type: Plain text
@@ -2674,13 +2674,13 @@ msgstr ""
 msgid ""
 "If I<flags> contains B<FAN_MARK_FLUSH>, I<dirfd> and I<pathname> must "
 "specify a valid filesystem object, even though this object is not used."
-msgstr ""
+msgstr "I<flags> に B<FAN_MARK_FLUSH> が指定されている場合、 たとえそのオブジェクトが使用されない場合であっても、  I<dirfd> と I<pathname> には有効なファイルシステムオブジェクトを指定しなければならない。"
 
 #.  Fixed by commit d4c7cf6cffb1bc711a833b5e304ba5bcfe76398b
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:323
 msgid "B<readdir>(2)  does not generate a B<FAN_ACCESS> event."
-msgstr ""
+msgstr "B<readdir>(2) は B<FAN_ACCESS> イベントを生成しない。"
 
 #.  Fixed by commit cc299a98eb13a9853675a9cbb90b30b4011e1406
 #. type: Plain text
@@ -2688,7 +2688,7 @@ msgstr ""
 msgid ""
 "If B<fanotify_mark>(2)  is called with B<FAN_MARK_FLUSH>, I<flags> is not "
 "checked for invalid values."
-msgstr ""
+msgstr "B<fanotify_mark>(2) が B<FAN_MARK_FLUSH> 付きで呼び出された場合、 I<flags> の値が無効かはチェックされない。"
 
 #. type: Plain text
 #: build/C/man2/fanotify_mark.2:334
index 6c281c5..203e601 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "POT-Creation-Date: 2015-01-11 03:53+0900\n"
-"PO-Revision-Date: 2015-01-14 22:27+0900\n"
+"PO-Revision-Date: 2015-01-16 03:21+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -2625,15 +2625,6 @@ msgstr "B<PR_SET_NAME> (Linux 2.6.9 以降)"
 #.  TASK_COMM_LEN in include/linux/sched.h
 #. type: Plain text
 #: build/C/man2/prctl.2:257
-#, fuzzy
-#| msgid ""
-#| "Set the name of the calling thread, using the value in the location "
-#| "pointed to by I<(char\\ *) arg2>.  The name can be up to 16 bytes long, "
-#| "and should be null-terminated if it contains fewer bytes.  This is the "
-#| "same attribute that can be set via B<pthread_setname_np>(3)  and "
-#| "retrieved using B<pthread_getname_np>(3).  The attribute is likewise "
-#| "accessible via I</proc/self/task/[tid]/comm>, where I<tid> is the name of "
-#| "the calling thread."
 msgid ""
 "Set the name of the calling thread, using the value in the location pointed "
 "to by I<(char\\ *) arg2>.  The name can be up to 16 bytes long, including "
@@ -2643,13 +2634,7 @@ msgid ""
 "retrieved using B<pthread_getname_np>(3).  The attribute is likewise "
 "accessible via I</proc/self/task/[tid]/comm>, where I<tid> is the name of "
 "the calling thread."
-msgstr ""
-"呼び出し元スレッドのプロセス名を I<(char\\ *) arg2> が指す場所に格納された値"
-"を使って設定する。 名前は最大で 16 バイトであり、 それより少ないバイト数の場"
-"合はヌルで終端すべきである。 これは、 B<pthread_setname_np>(3) で設定でき、 "
-"B<pthread_getname_np>(3) で取得できるのと同じ属性である。 同様に、 I<tid> が"
-"呼び出し元スレッドの ID の場合、 この属性は I</proc/self/task/[tid]/comm> 経"
-"由でもアクセス可能である。"
+msgstr "呼び出し元スレッドのプロセス名を I<(char\\ *) arg2> が指す場所に格納された値を使って設定する。 名前は終端の NULL バイトを含めて最大で 16 バイトである (終端の NULL バイトを含めた文字列の長さが 16 バイトを超える場合、 文字列は黙って切り詰められる)。 これは、 B<pthread_setname_np>(3) で設定でき、 B<pthread_getname_np>(3) で取得できるのと同じ属性である。 同様に、 I<tid> が呼び出し元スレッドの ID の場合、 この属性は I</proc/self/task/[tid]/comm> 経由でもアクセス可能である。"
 
 #. type: TP
 #: build/C/man2/prctl.2:257
@@ -2791,48 +2776,21 @@ msgstr "B<PR_SET_SECCOMP> (Linux 2.6.23 以降)"
 #.  andrea@cpushare.com
 #. type: Plain text
 #: build/C/man2/prctl.2:358
-#, fuzzy
-#| msgid ""
-#| "Set the secure computing (seccomp) mode for the calling thread, to limit "
-#| "the available system calls.  The seccomp mode is selected via I<arg2>.  "
-#| "(The seccomp constants are defined in I<E<lt>linux/seccomp.hE<gt>>.)"
 msgid ""
 "Set the secure computing (seccomp) mode for the calling thread, to limit the "
 "available system calls.  The more recent B<seccomp>(2)  system call provides "
 "a superset of the functionality of B<PR_SET_SECCOMP>."
-msgstr ""
-"呼び出したスレッドのセキュアコンピューティング (seccomp) モードを設定する。 "
-"seccomp モードは利用できるシステムコールを制限するものである。 seccomp モード"
-"は I<arg2> で指定できる (seccomp 定数は I<E<lt>linux/seccomp.hE<gt>> で定義さ"
-"れている)。"
+msgstr "呼び出したスレッドのセキュアコンピューティング (seccomp) モードを設定する。 最近の B<seccomp>(2) システムコールは B<PR_SET_SECCOMP> の上位互換の機能を提供する。"
 
 #. type: Plain text
 #: build/C/man2/prctl.2:363
-#, fuzzy
-#| msgid ""
-#| "Set the secure computing (seccomp) mode for the calling thread, to limit "
-#| "the available system calls.  The seccomp mode is selected via I<arg2>.  "
-#| "(The seccomp constants are defined in I<E<lt>linux/seccomp.hE<gt>>.)"
 msgid ""
 "The seccomp mode is selected via I<arg2>.  (The seccomp constants are "
 "defined in I<E<lt>linux/seccomp.hE<gt>>.)"
-msgstr ""
-"呼び出したスレッドのセキュアコンピューティング (seccomp) モードを設定する。 "
-"seccomp モードは利用できるシステムコールを制限するものである。 seccomp モード"
-"は I<arg2> で指定できる (seccomp 定数は I<E<lt>linux/seccomp.hE<gt>> で定義さ"
-"れている)。"
+msgstr "seccomp モードは I<arg2> で指定できる (seccomp 定数は I<E<lt>linux/seccomp.hE<gt>> で定義されている)。"
 
 #. type: Plain text
 #: build/C/man2/prctl.2:384
-#, fuzzy
-#| msgid ""
-#| "With I<arg2> set to B<SECCOMP_MODE_STRICT> the only system calls that the "
-#| "thread is permitted to make are B<read>(2), B<write>(2), B<_exit>(2), and "
-#| "B<sigreturn>(2).  Other system calls result in the delivery of a "
-#| "B<SIGKILL> signal.  Strict secure computing mode is useful for number-"
-#| "crunching applications that may need to execute untrusted byte code, "
-#| "perhaps obtained by reading from a pipe or socket.  This operation is "
-#| "available only if the kernel is configured with B<CONFIG_SECCOMP> enabled."
 msgid ""
 "With I<arg2> set to B<SECCOMP_MODE_STRICT>, the only system calls that the "
 "thread is permitted to make are B<read>(2), B<write>(2), B<_exit>(2), and "
@@ -2852,14 +2810,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/prctl.2:399
-#, fuzzy
-#| msgid ""
-#| "With I<arg2> set to B<SECCOMP_MODE_FILTER> (since Linux 3.5)  the system "
-#| "calls allowed are defined by a pointer to a Berkeley Packet Filter passed "
-#| "in I<arg3>.  This argument is a pointer to I<struct sock_fprog>; it can "
-#| "be designed to filter arbitrary system calls and system call arguments.  "
-#| "This mode is available only if the kernel is configured with "
-#| "B<CONFIG_SECCOMP_FILTER> enabled."
 msgid ""
 "With I<arg2> set to B<SECCOMP_MODE_FILTER> (since Linux 3.5), the system "
 "calls allowed are defined by a pointer to a Berkeley Packet Filter passed in "
@@ -2908,15 +2858,6 @@ msgstr "B<PR_GET_SECCOMP> (Linux 2.6.23 以降)"
 
 #. type: Plain text
 #: build/C/man2/prctl.2:435
-#, fuzzy
-#| msgid ""
-#| "Return (as the function result)  the secure computing mode of the calling "
-#| "thread.  If the caller is not in secure computing mode, this operation "
-#| "returns 0; if the caller is in strict secure computing mode, then the "
-#| "B<prctl>()  call will cause a B<SIGKILL> signal to be sent to the "
-#| "process.  If the caller is in filter mode, and this system call is "
-#| "allowed by the seccomp filters, it returns 2.  This operation is "
-#| "available only if the kernel is configured with B<CONFIG_SECCOMP> enabled."
 msgid ""
 "Return (as the function result)  the secure computing mode of the calling "
 "thread.  If the caller is not in secure computing mode, this operation "
@@ -2926,14 +2867,7 @@ msgid ""
 "seccomp filters, it returns 2; otherwise, the process is killed with a "
 "B<SIGKILL> signal.  This operation is available only if the kernel is "
 "configured with B<CONFIG_SECCOMP> enabled."
-msgstr ""
-"呼び出したスレッドの secure computing モードを (関数の結果として) 返す。 呼び"
-"出したスレッドが secure computing モードでなかった場合、 この操作は 0 を返"
-"す。 呼び出したスレッドが secure computing モードの場合、 B<prctl>()  を呼び"
-"出すとシグナル B<SIGKILL> がそのプロセスに送信される。 呼び出したスレッドが"
-"フィルタモードで、 このシステムコールが seccomp フィルタにより許可されている"
-"場合、 2 を返す。 この操作が利用できるのは、カーネルが B<CONFIG_SECCOMP> を有"
-"効にして作成されている場合だけである。"
+msgstr "呼び出したスレッドの secure computing モードを (関数の結果として) 返す。 呼び出したスレッドが secure computing モードでなかった場合、 この操作は 0 を返し、 呼び出したスレッドが strict secure computing モードの場合、 B<prctl>()  を呼び出すとシグナル B<SIGKILL> がそのプロセスに送信される。 呼び出したスレッドがフィルタモードで、 このシステムコールが seccomp フィルタにより許可されている場合、 2 を返し、 そうでない場合プロセスは B<SIGKILL> シグナルで kill されづ。 この操作が利用できるのは、カーネルが B<CONFIG_SECCOMP> を有効にして作成されている場合だけである。"
 
 #. type: Plain text
 #: build/C/man2/prctl.2:443
@@ -2941,7 +2875,7 @@ msgid ""
 "Since Linux 3.8, the I<Seccomp> field of the I</proc/[pid]/status> file "
 "provides a method of obtaining the same information, without the risk that "
 "the process is killed; see B<proc>(5)."
-msgstr ""
+msgstr "Linux 3.8 以降では、 I</proc/[pid]/status> の I<seccomp> フィールドからも同じ情報を取得できる。 この方法の場合はプロセスが kill される危険はない。 B<proc>(5) を参照。"
 
 #. type: TP
 #: build/C/man2/prctl.2:443
@@ -3588,10 +3522,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/prctl.2:820
-#, fuzzy, no-wrap
-#| msgid "B<PR_GET_THP_DISABLE> (since Linux 3.15)"
+#, no-wrap
 msgid "B<PR_MPX_ENABLE_MANAGEMENT>, B<PR_MPX_DISABLE_MANAGEMENT> (since Linux 3.19) "
-msgstr "B<PR_GET_THP_DISABLE> (Linux 3.15 以降)"
+msgstr "B<PR_MPX_ENABLE_MANAGEMENT>, B<PR_MPX_DISABLE_MANAGEMENT> (Linux 3.19 以降) "
 
 #.  commit fe3d197f84319d3bce379a9c0dc17b1f48ad358c
 #.  See also http://lwn.net/Articles/582712/
@@ -3649,7 +3582,7 @@ msgstr ""
 #. type: Plain text
 #: build/C/man2/prctl.2:866
 msgid "  cat /proc/cpuinfo | grep ' mpx '"
-msgstr ""
+msgstr "  cat /proc/cpuinfo | grep ' mpx '"
 
 #. type: Plain text
 #: build/C/man2/prctl.2:869
@@ -3672,16 +3605,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/prctl.2:884
-#, fuzzy
-#| msgid ""
-#| "For further information, see the kernel source file I<Documentation/"
-#| "security/Yama.txt>."
 msgid ""
 "For further information on Intel MPX, see the kernel source file "
 "I<Documentation/x86/intel_mpx.txt>."
-msgstr ""
-"詳しい情報は、カーネルソースファイル I<Documentation/security/Yama.txt> を参"
-"照。"
+msgstr "Intel MPX についての詳しい情報は、カーネルソースファイル I<Documentation/x86/intel_mpx.txt> を参照。"
 
 #. type: Plain text
 #: build/C/man2/prctl.2:904
@@ -3707,17 +3634,11 @@ msgstr "I<arg2> が不正なアドレスである。"
 
 #. type: Plain text
 #: build/C/man2/prctl.2:922
-#, fuzzy
-#| msgid ""
-#| "I<option> is B<PR_SET_MM>, I<arg3> is B<PR_SET_MM_EXE_FILE>, and the file "
-#| "descriptor passed in I<arg4> is not valid."
 msgid ""
 "I<option> is B<PR_SET_SECCOMP>, I<arg2> is B<SECCOMP_MODE_FILTER>, the "
 "system was built with B<CONFIG_SECCOMP_FILTER>, and I<arg3> is an invalid "
 "address."
-msgstr ""
-"I<option> が B<PR_SET_MM> で、 I<arg3> が B<PR_SET_MM_EXE_FILE> で、 I<arg4> "
-"で渡されたファイルディスクリプタが有効ではない。"
+msgstr "I<option> が B<PR_SET_SECCOMP> で、 I<arg2> が B<SECCOMP_MODE_FILTER> で、 カーネルが B<CONFIG_SECCOMP_FILTER> を有効にして作成されており、 I<arg3> が無効なアドレスである。"
 
 #. type: Plain text
 #: build/C/man2/prctl.2:927
@@ -3749,16 +3670,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/prctl.2:963
-#, fuzzy
-#| msgid ""
-#| "I<option> is B<PR_SET_SECCOMP> or B<PR_GET_SECCOMP>, and the kernel was "
-#| "not configured with B<CONFIG_SECCOMP>."
 msgid ""
 "I<option> is B<PR_SET_SECCOMP>, I<arg2> is B<SECCOMP_MODE_FILTER>, and the "
 "kernel was not configured with B<CONFIG_SECCOMP_FILTER>."
-msgstr ""
-"I<option> が B<PR_SET_SECCOMP> か B<PR_GET_SECCOMP> だが、カーネルが "
-"B<CONFIG_SECCOMP> を有効にして作成されていなかった。"
+msgstr "I<option> が B<PR_SET_SECCOMP> で、 I<arg2> が B<SECCOMP_MODE_FILTER> で、 カーネルが B<CONFIG_SECCOMP> を有効にして作成されていなかった。"
 
 #. type: Plain text
 #: build/C/man2/prctl.2:969
@@ -3967,10 +3882,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/prctl.2:1168
-#, fuzzy, no-wrap
-#| msgid "B<ENFILE>"
+#, no-wrap
 msgid "B<ENXIO>"
-msgstr "B<ENFILE>"
+msgstr "B<ENXIO>"
 
 #. type: Plain text
 #: build/C/man2/prctl.2:1177
@@ -3978,7 +3892,7 @@ msgid ""
 "I<option> was B<PR_MPX_ENABLE_MANAGEMENT> or B<PR_MPX_DISABLE_MANAGEMENT> "
 "and the kernel or the CPU does not support MPX management.  Check that the "
 "kernel and processor have MPX support."
-msgstr ""
+msgstr "I<option> が B<PR_MPX_ENABLE_MANAGEMENT> か B<PR_MPX_DISABLE_MANAGEMENT> で、 カーネルか CPU が MPX の管理をサポートしていない。 カーネルとプロセスが MPX をサポートしているか確認すること。"
 
 #.  The library interface was added in glibc 2.0.6
 #. type: Plain text
@@ -14828,15 +14742,6 @@ msgstr ""
 "B<fork>(2), B<getrusage>(2), B<sigaction>(2), B<signal>(2), B<wait>(2), "
 "B<signal>(7)"
 
-#~ msgid "2014-02-11"
-#~ msgstr "2014-02-11"
-
-#~ msgid "2014-02-25"
-#~ msgstr "2014-02-25"
-
-#~ msgid "2014-04-27"
-#~ msgstr "2014-04-27"
-
 #~ msgid ""
 #~ "The I<sa_restorer> element is obsolete and should not be used.  POSIX "
 #~ "does not specify a I<sa_restorer> element."
@@ -14844,12 +14749,6 @@ msgstr ""
 #~ "I<sa_restorer> 要素は廃止予定であり使用すべきではない。 POSIX には "
 #~ "I<sa_restorer> 要素に関する規定はない。"
 
-#~ msgid "2013-07-30"
-#~ msgstr "2013-07-30"
-
-#~ msgid "B<int sigreturn(unsigned long >I<__unused>B<);>"
-#~ msgstr "B<int sigreturn(unsigned long >I<__unused>B<);>"
-
 #~ msgid ""
 #~ "When the Linux kernel creates the stack frame for a signal handler, a "
 #~ "call to B<sigreturn>()  is inserted into the stack frame so that upon "
@@ -14859,15 +14758,6 @@ msgstr ""
 #~ "B<sigreturn>()  をスタック・フレームに挿入し、シグナル・ハンドラが返るとき"
 #~ "に B<sigreturn>()  が呼ばれるようにする。"
 
-#~ msgid "FILES"
-#~ msgstr "ファイル"
-
-#~ msgid "/usr/src/linux/arch/i386/kernel/signal.c"
-#~ msgstr "/usr/src/linux/arch/i386/kernel/signal.c"
-
-#~ msgid "/usr/src/linux/arch/alpha/kernel/entry.S"
-#~ msgstr "/usr/src/linux/arch/alpha/kernel/entry.S"
-
 #~ msgid ""
 #~ "B<sigreturn>()  is specific to Linux and should not be used in programs "
 #~ "intended to be portable."
@@ -14875,35 +14765,15 @@ msgstr ""
 #~ "B<sigreturn>()  は Linux 特有であり、移植を意図したプログラムでは使用して"
 #~ "はいけない。"
 
-#~ msgid "2014-05-28"
-#~ msgstr "2014-05-28"
-
 #~ msgid ""
 #~ "If I<tgid> is specified as -1, B<tgkill>()  is equivalent to B<tkill>()."
 #~ msgstr ""
 #~ "I<tgid> に -1 が指定された場合、 B<tgkill>()  は B<tkill>()  と等価であ"
 #~ "る。"
 
-#~ msgid "2010-08-30"
-#~ msgstr "2010-08-30"
-
 #~ msgid "Underlying Linux system calls"
 #~ msgstr "下層にある Linux のシステムコール"
 
-#~ msgid "2012-10-01"
-#~ msgstr "2012-10-01"
-
-#~ msgid ""
-#~ "struct itimerval {\n"
-#~ "    struct timeval it_interval; /* next value */\n"
-#~ "    struct timeval it_value;    /* current value */\n"
-#~ "};\n"
-#~ msgstr ""
-#~ "struct itimerval {\n"
-#~ "    struct timeval it_interval; /* next value */\n"
-#~ "    struct timeval it_value;    /* current value */\n"
-#~ "};\n"
-
 #~ msgid ""
 #~ "The B<signal>()  function in Linux libc4 and libc5 provide System\\ V "
 #~ "semantics.  If one on a libc5 system includes I<E<lt>bsd/signal.hE<gt>> "
@@ -14915,20 +14785,5 @@ msgstr ""
 #~ "hE<gt>> をインクルードすると、 B<signal>()  は B<__bsd_signal>()  に再定義"
 #~ "され、 B<signal>()  は BSD 方式となる。"
 
-#~ msgid "2009-01-13"
-#~ msgstr "2009-01-13"
-
-#~ msgid "2014-01-07"
-#~ msgstr "2014-01-07"
-
 #~ msgid "Libc4 and libc5 know only about the BSD version."
 #~ msgstr "libc4 と libc5 には BSD 版しかない。"
-
-#~ msgid "2013-09-04"
-#~ msgstr "2013-09-04"
-
-#~ msgid "2014-01-20"
-#~ msgstr "2014-01-20"
-
-#~ msgid "2014-03-24"
-#~ msgstr "2014-03-24"
index a1de687..2061ae4 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "POT-Creation-Date: 2015-01-14 03:22+0900\n"
-"PO-Revision-Date: 2015-01-14 03:26+0900\n"
+"PO-Revision-Date: 2015-01-17 23:37+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -9456,7 +9456,7 @@ msgstr "2014-01-24"
 #. type: Plain text
 #: build/C/man2/utimensat.2:29
 msgid "utimensat, futimens - change file timestamps with nanosecond precision"
-msgstr ""
+msgstr "utimensat, futimens - ファイルのタイムスタンプをナノ秒精度で変更する"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:33
@@ -9523,7 +9523,7 @@ msgid ""
 "nanosecond precision.  This contrasts with the historical B<utime>(2)  and "
 "B<utimes>(2), which permit only second and microsecond precision, "
 "respectively, when setting file timestamps."
-msgstr ""
+msgstr "B<utimensat>() と B<futimens>() はファイルのタイムスタンプをナノ秒精度で更新する。 ファイルのタイムスタンプをセットする際に、 昔からある B<utime>(2) と B<utimes>(2) で指定できるのはそれぞれ秒精度とマイクロ秒精度であり、 この点が異なる点である。"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:89
@@ -9531,7 +9531,7 @@ msgid ""
 "With B<utimensat>()  the file is specified via the pathname given in "
 "I<pathname>.  With B<futimens>()  the file whose timestamps are to be "
 "updated is specified via an open file descriptor, I<fd>."
-msgstr ""
+msgstr "B<utimensat>() では、 ファイルは I<pathname> で渡されるパス名で指定される。 B<futimens>() では、 タイムスタンプを更新するファイルはオープンしたファイルディスクリプター I<fd> で指定される。"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:101
@@ -9542,14 +9542,14 @@ msgid ""
 "elements of I<times> specifies a time as the number of seconds and "
 "nanoseconds since the Epoch, 1970-01-01 00:00:00 +0000 (UTC).  This "
 "information is conveyed in a structure of the following form:"
-msgstr ""
+msgstr "どちらのシステムコールでも、 ファイルの新しいタイムスタンプは配列 I<times> で指定される。 I<times>[0] は新しい「最終アクセス時刻」 (I<atime>) を指定し、 I<times>[1] は新しい「最終修正時刻」 (I<mtime>) を指定する。 I<times> の各要素では、 時刻を、 紀元 (Epoch; 1970-01-01 00:00:00 +0000 (UTC)) からの秒数とナノ秒として指定する。 この情報は以下の形式の構造体で渡す。"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:113
 msgid ""
 "Updated file timestamps are set to the greatest value supported by the "
 "filesystem that is not greater than the specified time."
-msgstr ""
+msgstr "ファイルの更新後のタイムスタンプは、 指定された時刻を超えないファイルシステムがサポートする最大の値に設定される。"
 
 #.  2.6.22 was broken: it is not ignored
 #. type: Plain text
@@ -9561,25 +9561,25 @@ msgid ""
 "has the special value B<UTIME_OMIT>, then the corresponding file timestamp "
 "is left unchanged.  In both of these cases, the value of the corresponding "
 "I<tv_sec> field is ignored."
-msgstr ""
+msgstr "それぞれの I<timespec> 構造体の I<tv_nsec> フィールドには B<UTIME_NOW> を指定することができ、 その場合はファイルの対応するタイムスタンプは現在時刻に設定される。 I<timespec> 構造体の I<tv_nsec> フィールドには B<UTIME_OMIT> を指定することができ、 その場合はファイルの対応するタイムスタンプは変更されないままとなる。 このどちらの場合も、 対応する I<tv_sec> フィールドの値は無視される。"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:137
 msgid "If I<times> is NULL, then both timestamps are set to the current time."
-msgstr ""
+msgstr "I<times> が NULL の場合、 両方のタイムスタンプが現在時刻に設定される。"
 
 #. type: SS
 #: build/C/man2/utimensat.2:137
 #, no-wrap
 msgid "Permissions requirements"
-msgstr ""
+msgstr "アクセス許可の要件"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:145
 msgid ""
 "To set both file timestamps to the current time (i.e., I<times> is NULL, or "
 "both I<tv_nsec> fields specify B<UTIME_NOW>), either:"
-msgstr ""
+msgstr "ファイルの両方のタイムスタンプを現在時刻に設定するためには (すなわち I<times> が NULL か、 両方の I<tv_nsec> フィールドに B<UTIME_NOW> が指定するためには)、 以下のいずれかが必要である。"
 
 #. type: IP
 #: build/C/man2/utimensat.2:145
@@ -9594,7 +9594,7 @@ msgstr "1."
 #. type: Plain text
 #: build/C/man2/utimensat.2:151
 msgid "the caller must have write access to the file;"
-msgstr ""
+msgstr "呼び出し元がファイルに対する書き込み許可を持っている。"
 
 #. type: IP
 #: build/C/man2/utimensat.2:151
@@ -9605,7 +9605,7 @@ msgstr "2."
 #. type: Plain text
 #: build/C/man2/utimensat.2:153
 msgid "the caller's effective user ID must match the owner of the file; or"
-msgstr ""
+msgstr "呼び出し元の実効ユーザー ID がファイルの所有者と一致している。"
 
 #. type: IP
 #: build/C/man2/utimensat.2:153
@@ -9616,7 +9616,7 @@ msgstr "3."
 #. type: Plain text
 #: build/C/man2/utimensat.2:155
 msgid "the caller must have appropriate privileges."
-msgstr ""
+msgstr "呼び出し元が適切な特権を持っている。"
 
 #.  2.6.22 was broken here:
 #.  both must be something other than *either* UTIME_OMIT *or* UTIME_NOW.
@@ -9628,6 +9628,8 @@ msgid ""
 "neither I<tv_nsec> field is B<UTIME_OMIT>), either condition 2 or 3 above "
 "must apply."
 msgstr ""
+"両方のタイムスタンプを現在時刻に設定する以外の変更するには (I<times> が NULL 以外、 または\n"
+"どちらの I<tv_nsec> フィールドも B<UTIME_NOW> でなくどちらの I<tv_nsec> フィールドも B<UTIME_OMIT> でもない場合)、 上記の条件 2 か条件 3 が必要である。"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:180
@@ -9635,13 +9637,13 @@ msgid ""
 "If both I<tv_nsec> fields are specified as B<UTIME_OMIT>, then no file "
 "ownership or permission checks are performed, and the file timestamps are "
 "not modified, but other error conditions may still be detected."
-msgstr ""
+msgstr "両方の I<tv_nsec> フィールドに B<UTIME_OMIT> が指定された場合、 ファイルの所有権やアクセス許可のチェックは行われず、 ファイルのタイムスタンプは変更されないが、 それ以外のエラー条件はこの場合も検出される。"
 
 #. type: SS
 #: build/C/man2/utimensat.2:180
 #, no-wrap
 msgid "utimensat() specifics"
-msgstr ""
+msgstr "utimensat() 固有の内容"
 
 #.  FIXME . Say something about O_SEARCH?  (But it's not in current
 #.  glibc (Mar 08), or kernel 2.6.25.)
@@ -9653,14 +9655,14 @@ msgid ""
 "relative to the current working directory of the calling process, as is done "
 "by B<utimes>(2)  for a relative pathname).  See B<openat>(2)  for an "
 "explanation of why this can be useful."
-msgstr ""
+msgstr "I<pathname> が相対パスの場合、 デフォルトでは、 オープンしたファイルディスクリプター I<dirfd> が参照するディレクトリに対する相対パスと解釈される (B<utimes>(2) のようにカレントワーキングディレクトリに対する相対パスと解釈されるわけではない)。 なぜこのシステムコールが役に立つのかの説明は B<openat>(2) を参照。"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:219
 msgid ""
 "The I<flags> field is a bit mask that may be 0, or include the following "
 "constant, defined in I<E<lt>fcntl.hE<gt>>:"
-msgstr ""
+msgstr "I<flags> フィールドはビットマスクで、 0 か I<E<lt>fcntl.hE<gt>> で定義されている以下の定数を指定できる。"
 
 #. type: TP
 #: build/C/man2/utimensat.2:219
@@ -9673,19 +9675,19 @@ msgstr "B<AT_SYMLINK_NOFOLLOW>"
 msgid ""
 "If I<pathname> specifies a symbolic link, then update the timestamps of the "
 "link, rather than the file to which it refers."
-msgstr ""
+msgstr "I<pathname> がシンボリックリンクの場合に、 リンクが参照するファイルではなくリンク自身のタイムスタンプを更新する。"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:234
 msgid ""
 "On success, B<utimensat>()  and B<futimens>()  return 0.  On error, -1 is "
 "returned and I<errno> is set to indicate the error."
-msgstr ""
+msgstr "成功すると、 B<utimensat>() と B<futimens>() は 0 を返す。 エラーの場合、 -1 を返し、 I<errno> にエラーを示す値を設定する。"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:244
 msgid "I<times> is NULL, or both I<tv_nsec> values are B<UTIME_NOW>, and:"
-msgstr ""
+msgstr "I<times> が NULL か両方の I<tv_nsec> の値が B<UTIME_NOW> で、 以下のいずれかにあてはまる。"
 
 #.  But Linux 2.6.22 was broken here.
 #.  Traditionally, utime()/utimes() gives the error EACCES for the case
@@ -9714,37 +9716,37 @@ msgid ""
 "the caller does not have write access to the file, and the caller is not "
 "privileged (Linux: does not have either the B<CAP_FOWNER> or the "
 "B<CAP_DAC_OVERRIDE> capability); or,"
-msgstr ""
+msgstr "呼び出し元の実効ユーザー ID がファイルの所有者と一致せず、 呼び出し元がそのファイルに対する書き込みアクセス許可を持っておらず、 呼び出し元が特権を持っていない (Linux では、ケーパビリティー B<CAP_FOWNER> か B<CAP_DAC_OVERRIDE> を持っていない)。"
 
 #.  EXT2_IMMUTABLE_FL and similar flags for other filesystems.
 #. type: Plain text
 #: build/C/man2/utimensat.2:281
 msgid "the file is marked immutable (see B<chattr>(1))."
-msgstr ""
+msgstr "ファイルが immutable (変更不可) の属性が付いている (B<chattr>(1) 参照)。"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:288
 msgid "(B<futimens>())  I<fd> is not a valid file descriptor."
-msgstr ""
+msgstr "(B<futimens>()) I<fd> が有効なファイルディスクリプターでない。"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:297
 msgid ""
 "(B<utimensat>())  I<pathname> is a relative pathname, but I<dirfd> is "
 "neither B<AT_FDCWD> nor a valid file descriptor."
-msgstr ""
+msgstr "(B<utimensat>()) I<pathname> が相対パスだが、 I<dirfd> が B<AT_FDCWD> でも有効なファイルディスクリプターでもない。"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:307
 msgid ""
 "I<times> pointed to an invalid address; or, I<dirfd> was B<AT_FDCWD>, and "
 "I<pathname> is NULL or an invalid address."
-msgstr ""
+msgstr "I<times> が無効なアドレスを指している。 I<dirfd> が B<AT_FDCWD> で I<pathname> が NULL か無効なアドレスである。"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:311
 msgid "Invalid value in I<flags>."
-msgstr ""
+msgstr "I<flags> に無効な値が指定された。"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:322
@@ -9752,7 +9754,7 @@ msgid ""
 "Invalid value in one of the I<tv_nsec> fields (value outside range 0 to "
 "999,999,999, and not B<UTIME_NOW> or B<UTIME_OMIT>); or an invalid value in "
 "one of the I<tv_sec> fields."
-msgstr ""
+msgstr "I<tv_nsec> フィールドの一つが無効な値である (0 から 999,999,999 までの値の範囲外の値で、 B<UTIME_NOW> でも B<UTIME_NOW> でもない)。 I<tv_sec> フィールドの一つが無効な値である。"
 
 #.  SUSv4 does not specify this error.
 #. type: Plain text
@@ -9760,7 +9762,7 @@ msgstr ""
 msgid ""
 "I<pathname> is NULL, I<dirfd> is not B<AT_FDCWD>, and I<flags> contains "
 "B<AT_SYMLINK_NOFOLLOW>."
-msgstr ""
+msgstr "I<pathname> が NULL で、 I<dirfd> が B<AT_FDCWD> ではなく、 I<flags> に B<AT_SYMLINK_NOFOLLOW> が指定されている。"
 
 #. type: TP
 #: build/C/man2/utimensat.2:334
@@ -9773,7 +9775,7 @@ msgstr "B<ELOOP>"
 msgid ""
 "(B<utimensat>())  Too many symbolic links were encountered in resolving "
 "I<pathname>."
-msgstr ""
+msgstr "(B<utimensat>()) I<pathname> を解決する際に遭遇したシンボリックリンクが多すぎた。"
 
 #. type: TP
 #: build/C/man2/utimensat.2:339
@@ -9784,14 +9786,14 @@ msgstr "B<ENAMETOOLONG>"
 #. type: Plain text
 #: build/C/man2/utimensat.2:344
 msgid "(B<utimensat>())  I<pathname> is too long."
-msgstr ""
+msgstr "(B<utimensat>()) I<pathname> が長すぎる。"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:353
 msgid ""
 "(B<utimensat>())  A component of I<pathname> does not refer to an existing "
 "directory or file, or I<pathname> is an empty string."
-msgstr ""
+msgstr "(B<utimensat>()) I<pathname> の構成要素が存在するディレクトリかファイルを参照していない。 I<pathname> が空文字列である。"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:365
@@ -9799,7 +9801,7 @@ msgid ""
 "(B<utimensat>())  I<pathname> is a relative pathname, but I<dirfd> is "
 "neither B<AT_FDCWD> nor a file descriptor referring to a directory; or, one "
 "of the prefix components of I<pathname> is not a directory."
-msgstr ""
+msgstr "(B<utimensat>()) I<pathname> が相対パスだが、 I<dirfd> が B<AT_FDCWD> でもディレクトリを参照するファイルディスクリプターでもない。 I<pathname> の構成要素のディレクトリ部分がディレクトリではない。"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:382
@@ -9809,7 +9811,7 @@ msgid ""
 "while leaving the other timestamp unchanged, (i.e., I<times> is not NULL, "
 "neither I<tv_nsec> field is B<UTIME_NOW>, and neither I<tv_nsec> field is "
 "B<UTIME_OMIT>)  and:"
-msgstr ""
+msgstr "呼び出し元がタイムスタンプの一方もしくは両方を現在時刻以外の値に更新しようとしたか、 もしくはタイムスタンプの一方を現在時刻に変更し、もう一方は変更しないままにしようとした (すなわち I<times> が NULL 以外で、 どちらの I<tv_nsec> フィールドも B<UTIME_NOW> でもなく、 どちらの I<tv_nsec> フィールドも B<UTIME_OMIT> でもない) 場合で、 以下のいずれかにあてはまる。"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:390
@@ -9817,7 +9819,7 @@ msgid ""
 "the caller's effective user ID does not match the owner of file, and the "
 "caller is not privileged (Linux: does not have the B<CAP_FOWNER> "
 "capability); or,"
-msgstr ""
+msgstr "呼び出し元の実効ユーザー ID がファイルの所有者と一致せず、 呼び出し元が特権を持っていない (Linux では、ケーパビリティー B<CAP_FOWNER> を持っていない)。"
 
 #.  Linux 2.6.22 was broken here:
 #.  it was not consistent with the old utimes() implementation,
@@ -9831,7 +9833,7 @@ msgstr ""
 #. type: Plain text
 #: build/C/man2/utimensat.2:403
 msgid "the file is marked append-only or immutable (see B<chattr>(1))."
-msgstr ""
+msgstr "ファイルに追記のみか変更不可 (immutable) の属性が付いている (B<chattr>(1) 参照)。"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:408
@@ -9843,29 +9845,29 @@ msgstr "ファイルが読み込み専用のファイルシステム上にある
 msgid ""
 "(B<utimensat>())  Search permission is denied for one of the prefix "
 "components of I<pathname>."
-msgstr ""
+msgstr "(B<utimensat>()) I<pathname> の構成要素のディレクトリ部分のいずれかで検索許可がなかった。"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:417
 msgid ""
 "B<utimensat>()  was added to Linux in kernel 2.6.22; glibc support was added "
 "with version 2.6."
-msgstr ""
+msgstr "B<utimensat>() はカーネル 2.6.22 で Linux に追加された。 glibc のサポートはバージョン 2.6 で追加された。"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:421
 msgid "Support for B<futimens>()  first appeared in glibc 2.6."
-msgstr ""
+msgstr "B<futimens>() のサポートは glibc 2.6 で初めて登場した。"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:426
 msgid "B<futimens>()  and B<utimensat>()  are specified in POSIX.1-2008."
-msgstr ""
+msgstr "B<futimens>() と B<utimensat>() は POSIX.1-2008 で規定されている。"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:430
 msgid "B<utimensat>()  obsoletes B<futimesat>(2)."
-msgstr ""
+msgstr "B<utimensat>() が登場した結果、 B<futimesat>(2) は非推奨となった。"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:439
@@ -9875,6 +9877,8 @@ msgid ""
 "to the current time.  (This is consistent with the historical behavior of "
 "B<utime>(2)  and B<utimes>(2)  on Linux.)"
 msgstr ""
+"Linux では、 変更不可 (immutable) の属性が付いたファイルのタイムスタンプを変更することはできず、 \n"
+"また、 追記のみ (append-only) の属性が付いたファイルで可能な変更は、 タイムスタンプを現在時刻に設定することだけである。 (これは Linux の B<utime>(2) や B<utimes>() の昔からの動作と一貫性がある動作である)。"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:456
@@ -9885,13 +9889,13 @@ msgid ""
 "the call modifies the timestamps of the file referred to by the file "
 "descriptor I<dirfd> (which may refer to any type of file).  Using this "
 "feature, the call I<futimens(fd,\\ times)> is implemented as:"
-msgstr ""
+msgstr "Linux では、 B<futimens>() は B<utimensat>() システムコールを使って実装されているライブラリ関数である。 これを可能にするため、 Linux の B<utimensat>() システムコールは非標準の機能を実装している。 I<pathname> が NULL の場合、 呼び出しはファイルディスクリプター I<dirfd> が参照するファイルのタイムスタンプを変更する (ファイルディスクリプターはどのタイプのファイルを参照していてもよい)。 この機能を利用して、 I<futimens(fd,\\ times)> は以下のように実装されている。"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:459
 #, no-wrap
 msgid "    utimensat(fd, NULL, times, 0);\n"
-msgstr ""
+msgstr "    utimensat(fd, NULL, times, 0);\n"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:468
@@ -9899,7 +9903,7 @@ msgid ""
 "Several bugs afflict B<utimensat>()  and B<futimens>()  on kernels before "
 "2.6.26.  These bugs are either nonconformances with the POSIX.1 draft "
 "specification or inconsistencies with historical Linux behavior."
-msgstr ""
+msgstr "カーネル 2.6.26 より前では B<utimensat>() と B<futimens>() にはいくつかの悩ましいバグがあった。 これらのバグは、 ドラフト版の POSIX.1 規格との不整合や、 以前からの Linux での動作との違いである。"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:483
@@ -9908,7 +9912,7 @@ msgid ""
 "B<UTIME_NOW> or B<UTIME_OMIT>, then the value of the corresponding I<tv_sec> "
 "field should be ignored.  Instead, the value of the I<tv_sec> field is "
 "required to be 0 (or the error B<EINVAL> results)."
-msgstr ""
+msgstr "POSIX.1 では、 I<tv_nsec> フィールドの一つが B<UTIME_NOW> か B<UTIME_OMIT> の場合、 対応する I<tv_sec> フィールドは無視されると規定されている。 しかし、 I<tv_sec> フィールドの値を 0 にする必要があった (さもなければエラー B<EINVAL> となった)。"
 
 #.  Below, the long description of the errors from the previous bullet
 #.  point (abridged because it's too much detail for a man page).
@@ -9999,7 +10003,7 @@ msgid ""
 "b) file timestamps can't be updated by a process that should have permission "
 "to perform updates; and c) the wrong I<errno> value is returned in case of "
 "an error."
-msgstr ""
+msgstr "いくつかのバグのため、 アクセス許可のチェックにおいて、両方の I<tv_nsec> フィールドが B<UTIME_NOW> に設定された場合が、 常に I<times> に NULL が設定された場合と同じに扱われるわけではなく、 I<tv_nsec> の一つが B<UTIME_NOW> でもう一方が B<UTIME_OMIT> の場合が、 I<times> に任意の値が入った構造体の配列へのポインターが指定された場合と 同じように扱われるわけではない。 その結果、いくつかの場合では、 a) ファイルのタイムスタンプが、 更新を実行する許可を持たないプロセスによって更新されることがある、 b) ファイルのタンプスタンプが、 更新を実行する許可を持つプロセスによって更新できないことがある、 c) エラーの場合に間違った I<errno> 値が返る。"
 
 #.  This means that a process with a file descriptor that allows
 #.  writing could change the timestamps of a file for which it
@@ -10015,7 +10019,7 @@ msgid ""
 "structures in which both I<tv_nsec> fields are B<UTIME_NOW>, in order to "
 "update both timestamps to the current time.  However, B<futimens>()  instead "
 "checks whether the I<access mode of the file descriptor allows writing>."
-msgstr ""
+msgstr "POSIX.1 では、 I<ファイルの書き込み許可を持つ>プロセス (a process that has I<write access to the file>) は、そのファイルに対して I<times> に NULL や 両方の I<tv_nsec> フィールドが B<UTIME_NOW> の構造体の配列を指定して呼び出しを行い、 両方のタイムスタンプを現在時刻に更新することができると規定されている。 しかし、 B<futimens>() では、 I<ファイルディスクリプターのアクセス許可が書き込みを許可しているか> (I<access mode of the file descriptor allows writing>)のチェックが行われる。"
 
 #. type: Plain text
 #: build/C/man2/utimensat.2:615
index 8e60634..ed82624 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "POT-Creation-Date: 2015-01-11 03:53+0900\n"
-"PO-Revision-Date: 2015-01-11 04:13+0900\n"
+"PO-Revision-Date: 2015-01-18 17:07+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -6889,7 +6889,7 @@ msgid ""
 "supports a particular operation is to invoke B<fcntl>()  with the desired "
 "I<cmd> value and then test whether the call failed with B<EINVAL>, "
 "indicating that the kernel does not recognize this value."
-msgstr ""
+msgstr "下記のいくつかの操作は特定のバージョンの Linux カーネルでのみサポートされている。 ホストカーネルが特定の操作をサポートしているかを確認する推奨の方法は、 B<fcntl>() を所望の I<cmd> 値で呼び出し、 B<EINVAL> で失敗するかを検査することである。 B<EINVAL> が返った場合、カーネルがこの値を認識していないことを示す。"
 
 #. type: SS
 #: build/C/man2/fcntl.2:103
@@ -7069,10 +7069,9 @@ msgstr ""
 
 #. type: SS
 #: build/C/man2/fcntl.2:220
-#, fuzzy, no-wrap
-#| msgid "Advisory locking"
+#, no-wrap
 msgid "Advisory record locking"
-msgstr "アドバイザリロック"
+msgstr "ã\82¢ã\83\89ã\83\90ã\82¤ã\82¶ã\83ªã\83¼ã\83¬ã\82³ã\83¼ã\83\89ã\83­ã\83\83ã\82¯"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:225
@@ -7080,7 +7079,7 @@ msgid ""
 "Linux implements traditional (\"process-associated\") UNIX record locks, as "
 "standardized by POSIX.  For a Linux-specific alternative with better "
 "semantics, see the discussion of open file description locks below."
-msgstr ""
+msgstr "Linux は昔からある (「プロセスに関連付けられる」) UNIX のレコードロックを実装している。 このレコードロックは POSIX で標準化されている。 Linux 固有のより良い動作を行うロックについては、下記のオープンファイル記述ロックの議論を参照のこと。"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:236
@@ -7216,13 +7215,6 @@ msgstr "B<F_SETLK> (I<struct flock *>)"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:351
-#, fuzzy
-#| msgid ""
-#| "Acquire a lock (when I<l_type> is B<F_RDLCK> or B<F_WRLCK>)  or release a "
-#| "lock (when I<l_type> is B<F_UNLCK>)  on the bytes specified by the "
-#| "I<l_whence>, I<l_start>, and I<l_len> fields of I<lock>.  If a "
-#| "conflicting lock is held by another process, this call returns -1 and "
-#| "sets I<errno> to B<EACCES> or B<EAGAIN>."
 msgid ""
 "Acquire a lock (when I<l_type> is B<F_RDLCK> or B<F_WRLCK>)  or release a "
 "lock (when I<l_type> is B<F_UNLCK>)  on the bytes specified by the "
@@ -7231,12 +7223,7 @@ msgid ""
 "B<EACCES> or B<EAGAIN>.  (The error returned in this case differs across "
 "implementations, so POSIX requires a portable application to check for both "
 "errors.)"
-msgstr ""
-"(I<l_type> が B<F_RDLCK> か B<F_WRLCK> の場合は) ロックの獲得を、 "
-"(B<F_UNLCK> の場合は) ロックの解放を、 I<flock> 構造体のフィールド "
-"I<l_whence>, I<l_start>, I<l_len> で指定された範囲のバイトに対して行う。 指定"
-"されたロックが他のプロセスが設定しているロックと衝突する場合は、 -1 を返し、 "
-"I<errno> に B<EACCES> か B<EAGAIN> を設定する。"
+msgstr "(I<l_type> が B<F_RDLCK> か B<F_WRLCK> の場合は) ロックの獲得を、 (B<F_UNLCK> の場合は) ロックの解放を、 I<flock> 構造体のフィールド I<l_whence>, I<l_start>, I<l_len> で指定された範囲のバイトに対して行う。 指定されたロックが他のプロセスが設定しているロックと衝突する場合は、 -1 を返し、 I<errno> に B<EACCES> か B<EAGAIN> を設定する。 (この場合に返されるエラーは実装により異なる。 そのため、 POSIX では移植性が必要なアプリケーションでは、 これらの両方のエラーをチェックすることが必要としている。)"
 
 #. type: TP
 #: build/C/man2/fcntl.2:351
@@ -7272,7 +7259,7 @@ msgid ""
 "the file.  If the lock could be placed, B<fcntl>()  does not actually place "
 "it, but returns B<F_UNLCK> in the I<l_type> field of I<lock> and leaves the "
 "other fields of the structure unchanged."
-msgstr ""
+msgstr "このコールの呼び出し時には、 I<lock> にはそのファイルに適用しようとするロックに関する情報が入っている。 ロックを適用できる場合には、 B<fcntl>()  は実際にはロックを行わず、 構造体 I<lock> の I<l_type> フィールドに B<F_UNLCK> を返し、 他のフィールドは変更しない。 "
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:396
@@ -7285,7 +7272,7 @@ msgid ""
 "conflicting lock is an open file description lock, then I<l_pid> is set to "
 "-1.  Note that the returned information may already be out of date by the "
 "time the caller inspects it."
-msgstr ""
+msgstr "違う種別のロックが (一つもしくは複数) 適用されていてロックを適用できないような場合には、 B<fcntl>() は、 原因となったロックの一つについての詳細を、 I<lock> のフィールド I<l_type>, I<l_whence>, I<l_start>, I<l_len> で返す。 衝突するロックが昔からある (プロセスに関連付けられる) レコードロックの場合、 I<l_pid> フィールドにロックを保持しているプロセスの PID が設定される。 衝突するロックがオープンファイル記述ロックの場合、 I<l_pid> に -1 が設定される。 呼び出し元がその内容を参照した時点では、 返された情報はすでに古いものとなっている可能性がある点に注意すること。"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:404
@@ -7322,7 +7309,7 @@ msgstr ""
 msgid ""
 "As well as being removed by an explicit B<F_UNLCK>, record locks are "
 "automatically released when the process terminates."
-msgstr ""
+msgstr "ろコードロックは B<F_UNLCK> で明示的に削除されるだけでなく、 そのプロセスが終了した際には自動的に解放される。"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:436
@@ -7350,21 +7337,13 @@ msgid ""
 "The record locks described above are associated with the process (unlike the "
 "open file description locks described below).  This has some unfortunate "
 "consequences:"
-msgstr ""
+msgstr "上記で説明したレコードロックはプロセスと関連付けられる (以下で説明するオープンファイル記述ロックと異なる点である)。 そのため、 残念ながら以下のようなことが起こる。"
 
 #.  (Additional file descriptors referring to the same file
 #.  may have been obtained by calls to
 #.  .BR open "(2), " dup "(2), " dup2 "(2), or " fcntl ().)
 #. type: Plain text
 #: build/C/man2/fcntl.2:465
-#, fuzzy
-#| msgid ""
-#| "As well as being removed by an explicit B<F_UNLCK>, record locks are "
-#| "automatically released when the process terminates or if it closes I<any> "
-#| "file descriptor referring to a file on which locks are held.  This is "
-#| "bad: it means that a process can lose the locks on a file like I</etc/"
-#| "passwd> or I</etc/mtab> when for some reason a library function decides "
-#| "to open, read and close it."
 msgid ""
 "If a process closes I<any> file descriptor referring to a file, then all of "
 "the process's locks on that file are released, regardless of the file "
@@ -7372,14 +7351,7 @@ msgid ""
 "a process can lose its locks on a file such as I</etc/passwd> or I</etc/"
 "mtab> when for some reason a library function decides to open, read, and "
 "close the same file."
-msgstr ""
-"レコードのロックは、 B<F_UNLCK> により明示的に削除されるだけでなく、 プロセス"
-"が終了したときや、ロックが適用されているファイルを参照している ファイルディス"
-"クリプタのいずれかがクローズされた場合にも解放される。 このロックの解放は自動"
-"的に行われる。 この動作はまずい: あるプロセスが I</etc/passwd> や I</etc/"
-"mtab> といったファイルにロックを適用しているときに、 あるライブラリ関数が何か"
-"の理由で同じファイルを open, read, close すると、そのファイルへのロックが失わ"
-"れることになる。"
+msgstr "プロセスがロックが適用されているファイルを参照しているファイルディスクリプターの「いずれか」をクローズした場合、 そのファイルに対するそのプロセスのすべてのロックが解放される。 この動作はまずい。 あるプロセスが I</etc/passwd> や I</etc/mtab> といったファイルにロックを適用しているときに、 あるライブラリ関数が何かの理由で同じファイルを open, read, close すると、そのファイルへのロックが失われることになる。"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:470
@@ -7387,18 +7359,18 @@ msgid ""
 "The threads in a process share locks.  In other words, a multithreaded "
 "program can't use record locking to ensure that threads don't simultaneously "
 "access the same region of a file."
-msgstr ""
+msgstr "1 つのプロセス内のスレッドはロックを共有する。 言い換えると、 マルチスレッドのプログラムで、 レコードロックを使って、 複数のスレッドが同時に 1 つのファイルの同じ領域にアクセスしないようにすることはできないということだ。"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:472
 msgid "Open file description locks solve both of these problems."
-msgstr ""
+msgstr "オープンファイル記述ロックを使うとこれらの問題が解決できる。"
 
 #. type: SS
 #: build/C/man2/fcntl.2:472
 #, no-wrap
 msgid "Open file description locks (non-POSIX)"
-msgstr ""
+msgstr "オープンファイル記述ロック (非 POSIX)"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:479
@@ -7475,25 +7447,13 @@ msgstr "B<F_OFD_SETLK> (I<struct flock *>)"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:556
-#, fuzzy
-#| msgid ""
-#| "Acquire a lock (when I<l_type> is B<F_RDLCK> or B<F_WRLCK>)  or release a "
-#| "lock (when I<l_type> is B<F_UNLCK>)  on the bytes specified by the "
-#| "I<l_whence>, I<l_start>, and I<l_len> fields of I<lock>.  If a "
-#| "conflicting lock is held by another process, this call returns -1 and "
-#| "sets I<errno> to B<EACCES> or B<EAGAIN>."
 msgid ""
 "Acquire an open file description lock (when I<l_type> is B<F_RDLCK> or "
 "B<F_WRLCK>)  or release an open file description lock (when I<l_type> is "
 "B<F_UNLCK>)  on the bytes specified by the I<l_whence>, I<l_start>, and "
 "I<l_len> fields of I<lock>.  If a conflicting lock is held by another "
 "process, this call returns -1 and sets I<errno> to B<EAGAIN>."
-msgstr ""
-"(I<l_type> が B<F_RDLCK> か B<F_WRLCK> の場合は) ロックの獲得を、 "
-"(B<F_UNLCK> の場合は) ロックの解放を、 I<flock> 構造体のフィールド "
-"I<l_whence>, I<l_start>, I<l_len> で指定された範囲のバイトに対して行う。 指定"
-"されたロックが他のプロセスが設定しているロックと衝突する場合は、 -1 を返し、 "
-"I<errno> に B<EACCES> か B<EAGAIN> を設定する。"
+msgstr "(I<l_type> が B<F_RDLCK> か B<F_WRLCK> の場合は) オープンファイル記述のロックの獲得を、 (B<F_UNLCK> の場合は) オープンファイル記述のロックの解放を、 I<flock> 構造体のフィールド I<l_whence>, I<l_start>, I<l_len> で指定された範囲のバイトに対して行う。 指定されたロックが他のプロセスが設定しているロックと衝突する場合は、 -1 を返し、 I<errno> に B<EAGAIN> を設定する。"
 
 #. type: TP
 #: build/C/man2/fcntl.2:556
@@ -7524,18 +7484,6 @@ msgstr "B<F_OFD_GETLK> (I<struct flock *>)"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:589
-#, fuzzy
-#| msgid ""
-#| "On input to this call, I<lock> describes a lock we would like to place on "
-#| "the file.  If the lock could be placed, B<fcntl>()  does not actually "
-#| "place it, but returns B<F_UNLCK> in the I<l_type> field of I<lock> and "
-#| "leaves the other fields of the structure unchanged.  If one or more "
-#| "incompatible locks would prevent this lock being placed, then B<fcntl>()  "
-#| "returns details about one of these locks in the I<l_type>, I<l_whence>, "
-#| "I<l_start>, and I<l_len> fields of I<lock> and sets I<l_pid> to be the "
-#| "PID of the process holding that lock.  Note that the information returned "
-#| "by B<F_GETLK> may already be out of date by the time the caller inspects "
-#| "it."
 msgid ""
 "On input to this call, I<lock> describes an open file description lock we "
 "would like to place on the file.  If the lock could be placed, B<fcntl>()  "
@@ -7544,17 +7492,7 @@ msgid ""
 "more incompatible locks would prevent this lock being placed, then details "
 "about one of these locks are returned via I<lock>, as described above for "
 "B<F_GETLK>."
-msgstr ""
-"このコールの呼び出し時には、 I<lock> にはそのファイルに適用しようとするロック"
-"に関する情報が入っている。 ロックを適用できる場合には、 B<fcntl>()  は実際に"
-"はロックを行わず、構造体 I<lock> の I<l_type> フィールドに B<F_UNLCK> を設定"
-"し、他のフィールドは変更せずに、復帰する。 違う種別のロックが (一つもしくは複"
-"数) 適用されていて ロックを適用できないような場合には、 B<fcntl>()  は、原因"
-"となったロックの一つについての詳細情報を構造体 I<lock> のフィールド "
-"I<l_type>, I<l_whence>, I<l_start>, I<l_len> に格納し、また I<l_pid> にロック"
-"を保持しているプロセスの PID を設定して、復帰する。 B<F_GETLK> が返す情報は呼"
-"び出し元がその情報を使用するときにはすでに古くなっている可能性がある点に注意"
-"すること。"
+msgstr "このコールの呼び出し時には、 I<lock> にはそのファイルに適用しようとするロックに関する情報が入っている。 ロックを適用できる場合には、 B<fcntl>()  は実際にはロックを行わず、 構造体 I<lock> の I<l_type> フィールドで B<F_UNLCK> を返し、 他のフィールドは変更しない。 違う種別のロックが (一つもしくは複数) 適用されていてロックを適用できないような場合には、 原因となったロックの一つについての詳細が I<lock> で返される。 詳細は上記の B<F_GETLK> を参照。"
 
 #.  commit 57b65325fe34ec4c917bc4e555144b4a94d9e1f7
 #. type: Plain text
@@ -7582,30 +7520,14 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:605
-#, fuzzy
-#| msgid ""
-#| "Advisory locks are not enforced and are useful only between cooperating "
-#| "processes."
 msgid ""
 "By default, both traditional (process-associated) and open file description "
 "record locks are advisory.  Advisory locks are not enforced and are useful "
 "only between cooperating processes."
-msgstr ""
-"アドバイザリロックに強制力はなく、協調して動作するプロセス間でのみ 有効であ"
-"る。"
+msgstr "デフォルトでは、 昔からある (プロセスに関連付けられる) レコードロックも、 オープンファイル記述のろコードロックも、 アドバイザリーロックである。 アドバイザリーロックに強制力はなく、協調して動作するプロセス間でのみ有効である。"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:625
-#, fuzzy
-#| msgid ""
-#| "Mandatory locks are enforced for all processes.  If a process tries to "
-#| "perform an incompatible access (e.g., B<read>(2)  or B<write>(2))  on a "
-#| "file region that has an incompatible mandatory lock, then the result "
-#| "depends upon whether the B<O_NONBLOCK> flag is enabled for its open file "
-#| "description.  If the B<O_NONBLOCK> flag is not enabled, then system call "
-#| "is blocked until the lock is removed or converted to a mode that is "
-#| "compatible with the access.  If the B<O_NONBLOCK> flag is enabled, then "
-#| "the system call fails with the error B<EAGAIN>."
 msgid ""
 "Both lock types can also be mandatory.  Mandatory locks are enforced for all "
 "processes.  If a process tries to perform an incompatible access (e.g., "
@@ -7616,15 +7538,7 @@ msgid ""
 "converted to a mode that is compatible with the access.  If the "
 "B<O_NONBLOCK> flag is enabled, then the system call fails with the error "
 "B<EAGAIN>."
-msgstr ""
-"強制ロックは全てのプロセスに対して効果がある。 あるプロセスが互換性のない強制"
-"ロックが適用されたファイル領域に対して (B<read>(2)  や B<write>(2)  により) "
-"互換性のないアクセスを実行しようとした場合、 アクセスの結果は そのファイルの"
-"オープンファイル記述で B<O_NONBLOCK> フラグが有効になっているかにより決ま"
-"る。 B<O_NONBLOCK> フラグが有効になっていないときは、ロックが削除されるか、 "
-"ロックがアクセスと互換性のあるモードに変換されるまで、 システムコールは停止 "
-"(block) される。 B<O_NONBLOCK> フラグが有効になっているときは、システムコール"
-"はエラー B<EAGAIN> で失敗する。"
+msgstr "両方のタイプのロックも強制ロックにすることもできる。 強制ロックは全てのプロセスに対して効果がある。 あるプロセスが互換性のない強制ロックが適用されたファイル領域に対して (B<read>(2)  や B<write>(2)  により) 互換性のないアクセスを実行しようとした場合、 アクセスの結果は そのファイルのオープンファイル記述で B<O_NONBLOCK> フラグが有効になっているかにより決まる。 B<O_NONBLOCK> フラグが有効になっていないときは、ロックが削除されるか、 ロックがアクセスと互換性のあるモードに変換されるまで、 システムコールは停止 (block) される。 B<O_NONBLOCK> フラグが有効になっているときは、システムコールはエラー B<EAGAIN> で失敗する。"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:642
@@ -7651,7 +7565,7 @@ msgid ""
 "Mandatory locking is not specified by POSIX.  Some other systems also "
 "support mandatory locking, although the details of how to enable it vary "
 "across systems."
-msgstr ""
+msgstr "強制ロックは POSIX では規定されていない。 他のいくつかのシステムでも強制ロックはサポートされているが、 強制ロックをどのようにして有効にするかの詳細はシステムより異なる。"
 
 #. type: SS
 #: build/C/man2/fcntl.2:646
@@ -8330,10 +8244,8 @@ msgstr "B<DN_ACCESS>"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1163
-#, fuzzy
-#| msgid "A file was accessed (read, pread, readv)"
 msgid "A file was accessed (B<read>(2), B<pread>(2), B<readv>(2), and similar)"
-msgstr "ファイルへのアクセスがあった (read, pread, readv)"
+msgstr "ファイルへのアクセスがあった (B<read>(2), B<pread>(2), B<readv>(2) や同様のシステムコール)"
 
 #. type: TP
 #: build/C/man2/fcntl.2:1163
@@ -8343,13 +8255,10 @@ msgstr "B<DN_MODIFY>"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1172
-#, fuzzy
-#| msgid "A file was modified (write, pwrite, writev, truncate, ftruncate)."
 msgid ""
 "A file was modified (B<write>(2), B<pwrite>(2), B<writev>(2), "
 "B<truncate>(2), B<ftruncate>(2), and similar)."
-msgstr ""
-"ファイルの内容が変更された (write, pwrite, writev, truncate, ftruncate)."
+msgstr "ファイルの内容が変更された (B<write>(2), B<pwrite>(2), B<writev>(2), B<truncate>(2), B<ftruncate>(2) や同様のシステムコール)"
 
 #. type: TP
 #: build/C/man2/fcntl.2:1172
@@ -8359,14 +8268,12 @@ msgstr "B<DN_CREATE>"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1183
-#, fuzzy
-#| msgid ""
-#| "A file was created (open, creat, mknod, mkdir, link, symlink, rename)."
 msgid ""
 "A file was created (B<open>(2), B<creat>(2), B<mknod>(2), B<mkdir>(2), "
 "B<link>(2), B<symlink>(2), B<rename>(2)  into this directory)."
 msgstr ""
-"ファイルが作成された (open, creat, mknod, mkdir, link, symlink, rename)."
+"ファイルが作成された (B<open>(2), B<creat>(2), B<mknod>(2), B<mkdir>(2), \"\n"
+"\"B<link>(2), B<symlink>(2), このディレクトリへの B<rename>(2))"
 
 #. type: TP
 #: build/C/man2/fcntl.2:1183
@@ -8376,13 +8283,10 @@ msgstr "B<DN_DELETE>"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1190
-#, fuzzy
-#| msgid "A file was unlinked (unlink, rename to another directory, rmdir)."
 msgid ""
 "A file was unlinked (B<unlink>(2), B<rename>(2)  to another directory, "
 "B<rmdir>(2))."
-msgstr ""
-"ファイルが削除 (unlink) された (unlink, 別のディレクトリへの rename, rmdir)"
+msgstr "ファイルが削除 (unlink) された (B<unlink>(2), 別のディレクトリへの B<rename>(2), B<rmdir>(2))"
 
 #. type: TP
 #: build/C/man2/fcntl.2:1190
@@ -8392,10 +8296,8 @@ msgstr "B<DN_RENAME>"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1194
-#, fuzzy
-#| msgid "A file was renamed within this directory (rename)."
 msgid "A file was renamed within this directory (B<rename>(2))."
-msgstr "ディレクトリ内でのファイル名の変更があった (rename)"
+msgstr "ディレクトリ内でのファイル名の変更があった (B<rename>(2))"
 
 #. type: TP
 #: build/C/man2/fcntl.2:1194
@@ -8405,12 +8307,10 @@ msgstr "B<DN_ATTRIB>"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1202
-#, fuzzy
-#| msgid "The attributes of a file were changed (chown, chmod, utime[s])."
 msgid ""
 "The attributes of a file were changed (B<chown>(2), B<chmod>(2), "
 "B<utime>(2), B<utimensat>(2), and similar)."
-msgstr "ファイル属性が変更された (chown, chmod, utime[s])"
+msgstr "ファイル属性が変更された (B<chown>(2), B<chmod>(2), B<utime>(2), B<utimensat>(2) や同様のシステムコール)"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1210
@@ -8449,15 +8349,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1253
-#, fuzzy
-#| msgid ""
-#| "Notification occurs via delivery of a signal.  The default signal is "
-#| "B<SIGIO>, but this can be changed using the B<F_SETSIG> command to "
-#| "B<fcntl>().  In the latter case, the signal handler receives a "
-#| "I<siginfo_t> structure as its second argument (if the handler was "
-#| "established using B<SA_SIGINFO>)  and the I<si_fd> field of this "
-#| "structure contains the file descriptor which generated the notification "
-#| "(useful when establishing notification on multiple directories)."
 msgid ""
 "Notification occurs via delivery of a signal.  The default signal is "
 "B<SIGIO>, but this can be changed using the B<F_SETSIG> command to "
@@ -8468,13 +8359,7 @@ msgid ""
 "established using B<SA_SIGINFO>)  and the I<si_fd> field of this structure "
 "contains the file descriptor which generated the notification (useful when "
 "establishing notification on multiple directories)."
-msgstr ""
-"通知はシグナルの配送で行われる。 デフォルトのシグナルは B<SIGIO> だが、 "
-"B<fcntl>()  の B<F_SETSIG> コマンドで変更することができる。 後者の場合には、 "
-"(B<SA_SIGINFO> フラグ付きでシグナルハンドラが設定されている場合には)  ハンド"
-"ラの第二引き数として I<siginfo_t> 構造体が渡され、この構造体の I<si_fd> "
-"フィールドには通知の行われたファイルディスクリプタが入っている (この機能は複"
-"数のディレクトリに対して通知を設定する場合に有用である)。"
+msgstr "通知はシグナルの配送で行われる。 デフォルトのシグナルは B<SIGIO> だが、 B<fcntl>()  の B<F_SETSIG> コマンドで変更することができる。 (B<SIGIO> はキューイングされない標準のシグナルの一つである点に注意。 リアルタイムシグナルを使うように変更すると、 複数の通知がそのプロセス宛のキューに入ることがあることを意味する。) 後者の場合には、 (B<SA_SIGINFO> フラグ付きでシグナルハンドラが設定されている場合には)  ハンドラの第二引き数として I<siginfo_t> 構造体が渡され、この構造体の I<si_fd> フィールドには通知の行われたファイルディスクリプタが入っている (この機能は複数のディレクトリに対して通知を設定する場合に有用である)。"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1258
@@ -8512,21 +8397,6 @@ msgstr "B<F_SETPIPE_SZ> (I<int>; Linux 2.6.35 以降)"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1297
-#, fuzzy
-#| msgid ""
-#| "Change the capacity of the pipe referred to by I<fd> to be at least "
-#| "I<arg> bytes.  An unprivileged process can adjust the pipe capacity to "
-#| "any value between the system page size and the limit defined in I</proc/"
-#| "sys/fs/pipe-max-size> (see B<proc>(5)).  Attempts to set the pipe "
-#| "capacity below the page size are silently rounded up to the page size.  "
-#| "Attempts by an unprivileged process to set the pipe capacity above the "
-#| "limit in I</proc/sys/fs/pipe-max-size> yield the error B<EPERM>; a "
-#| "privileged process (B<CAP_SYS_RESOURCE>)  can override the limit.  When "
-#| "allocating the buffer for the pipe, the kernel may use a capacity larger "
-#| "than I<arg>, if that is convenient for the implementation.  The "
-#| "B<F_GETPIPE_SZ> operation returns the actual size used.  Attempting to "
-#| "set the pipe capacity smaller than the amount of buffer space currently "
-#| "used to store data produces the error B<EBUSY>."
 msgid ""
 "Change the capacity of the pipe referred to by I<fd> to be at least I<arg> "
 "bytes.  An unprivileged process can adjust the pipe capacity to any value "
@@ -8554,7 +8424,7 @@ msgstr ""
 "プロセス) はこの上限を上書きできる。\n"
 "パイプにバッファを割り当てる場合、実装側の都合に応じて、\n"
 "カーネルは I<arg> よりも大きな容量を割り当ててもよい。\n"
-"B<F_GETPIPE_SZ> 操作では実際に使用されている大きさが返される。\n"
+"実際に設定された大きさが関数の返り値として返される。\n"
 "パイプの容量を現在データを格納するのに使用されているバッファの\n"
 "サイズよりも小さくしようとした場合は、エラー B<EBUSY> が発生する。"
 
@@ -8747,7 +8617,7 @@ msgstr ""
 #. type: Plain text
 #: build/C/man2/fcntl.2:1377
 msgid "The value specified in I<cmd> is not recognized by this kernel."
-msgstr ""
+msgstr "カーネルが認識しない値が I<cmd> で指定された。"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1387
@@ -8763,7 +8633,7 @@ msgstr ""
 msgid ""
 "I<cmd> is B<F_OFD_SETLK>, B<F_OFD_SETLKW>, or B<F_OFD_GETLK>, and I<l_pid> "
 "was not specified as zero."
-msgstr ""
+msgstr "I<cmd> が B<F_OFD_SETLK>, B<F_OFD_SETLKW>, B<F_OFD_GETLK> のいずれかで、 I<l_pid> に 0 が指定されなかった。"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1403
@@ -8793,7 +8663,7 @@ msgstr ""
 #: build/C/man2/fcntl.2:1415
 msgid ""
 "B<F_NOTIFY> was specified in I<cmd>, but I<fd> does not refer to a directory."
-msgstr ""
+msgstr "B<F_NOTIFY> が I<cmd> に指定されたが、 I<fd> がディレクトリを参照していない。"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1420
@@ -8816,21 +8686,12 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1445
-#, fuzzy
-#| msgid ""
-#| "B<F_GETOWN> and B<F_SETOWN> are specified in POSIX.1-2001.  (To get their "
-#| "definitions, define B<_BSD_SOURCE>, or B<_XOPEN_SOURCE> with the value "
-#| "500 or greater, or define B<_POSIX_C_SOURCE> with the value 200809L or "
-#| "greater.)"
 msgid ""
 "B<F_GETOWN> and B<F_SETOWN> are specified in POSIX.1-2001.  (To get their "
 "definitions, define either B<_BSD_SOURCE>, or B<_XOPEN_SOURCE> with the "
 "value 500 or greater, or B<_POSIX_C_SOURCE> with the value 200809L or "
 "greater.)"
-msgstr ""
-"B<F_GETOWN> と B<F_SETOWN> は POSIX.1-2001 で規定されている。 (これら定義する"
-"には、 B<_BSD_SOURCE> を定義するか、 B<_XOPEN_SOURCE> を 500 以上の値で定義す"
-"るか、 B<_POSIX_C_SOURCE> を 200809L 以上の値で定義すること。)"
+msgstr "B<F_GETOWN> と B<F_SETOWN> は POSIX.1-2001 で規定されている。 (これら定義するには、 B<_BSD_SOURCE> を定義するか、 B<_XOPEN_SOURCE> を 500 以上の値で定義するか、 B<_POSIX_C_SOURCE> を 200809L 以上の値で定義するか、 のいずれが必要である。)"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1453
@@ -8865,7 +8726,7 @@ msgid ""
 "B<F_OFD_SETLK>, B<F_OFD_SETLKW>, and B<F_OFD_GETLK> are Linux-specific (and "
 "one must define B<_GNU_SOURCE> to obtain their definitions), but work is "
 "being done to have them included in the next version of POSIX.1."
-msgstr ""
+msgstr "B<F_OFD_SETLK>, B<F_OFD_SETLKW>, B<F_OFD_GETLK> は Linux 固有だが (これらの定義を得るには B<_GNU_SOURCE> を定義しなければならない)、 POSIX.1 の次のバージョンに含めようという活動が進められている。"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1485 build/C/man2/fcntl.2:1511
@@ -8906,7 +8767,7 @@ msgstr ""
 #: build/C/man2/fcntl.2:1511
 #, no-wrap
 msgid "Record locks"
-msgstr ""
+msgstr "レコードロック"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1517
@@ -8936,7 +8797,7 @@ msgstr ""
 #: build/C/man2/fcntl.2:1550
 #, no-wrap
 msgid "Record locking and NFS"
-msgstr ""
+msgstr "レコードロックと NFS"
 
 #
 #
@@ -8963,7 +8824,7 @@ msgid ""
 "default value for this file is 90.)  This scenario potentially risks data "
 "corruption, since another process might acquire a lock in the intervening "
 "period and perform file I/O."
-msgstr ""
+msgstr "Linux 3.12 より前では、 NFSv4 クライアントが一定時間サーバーと通信がなかった場合 (90 秒間通信がない場合と定義されている)、 クライアントが気付かずにロックを失い再獲得する場合がある。 (通信がなくなったみなす時間は NFSv4 leastime と呼ばれる。 Linux NFS サーバーでは、 この値は I</proc/fs/nfsd/nfsv4leasetime> を見て決定される。 このファイルの値の単位は秒であり、 このファイルのデフォルト値は 90 である。) この状況では潜在的にデータ破壊が起こる危険性がある。 通信がなかった間に他のプロセスがロックを獲得しファイル入出力を行う場合があるからである。"
 
 #.  commit ef1820f9be27b6ad158f433ab38002ab8131db4d
 #.  commit f6de7a39c181dfb8a2c534661a53c73afb3081cd
@@ -8977,7 +8838,7 @@ msgid ""
 "whereby the client will attempt to recover lost locks when contact is "
 "reestablished with the server.  Because of the attendant risk of data "
 "corruption, this parameter defaults to 0 (disabled)."
-msgstr ""
+msgstr "Linux 3.12 以降、 NFSv4 クライアントがサーバーと通信がなかった場合、 ロックを持っていると「思っている」プロセスがそのファイルに入出力を行うと失敗する。 そのプロセスがそのファイルをいったんクローズし再オープンするまでは入出力は失敗する。 カーネルパラメーター I<nfs.recover_lost_locks> を 1 に設定すると、 Linux 3.12 より前の動作にすることができる。 この場合、 サーバーとの通信が再確立された場合、 クライアントがは失われたロックを回復しようとする。 データ破壊が起こる危険性があるため、 このパラメーターはデフォルトでは 0 (無効) になっている。"
 
 #. type: SS
 #: build/C/man2/fcntl.2:1593
@@ -9065,7 +8926,7 @@ msgstr ""
 #: build/C/man2/fcntl.2:1649
 #, no-wrap
 msgid "Deadlock detection"
-msgstr ""
+msgstr "デッドロックの検出"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1668
@@ -9079,7 +8940,7 @@ msgid ""
 "detected.  In addition, the kernel may falsely indicate a deadlock when two "
 "or more processes created using the B<clone>(2)  B<CLONE_FILES> flag place "
 "locks that appear (to the kernel) to conflict."
-msgstr ""
+msgstr "B<F_SETLKW> 要求を処理する際にカーネルが使用するデッドロック検出アルゴリズムは、 false negative になる場合 (デッドロックを検出できず、 デッドロックになったプロセスは無限に停止する) も false positive になる場合 (デッドロックがない場合でも B<EDEADLK> エラーとなる) もある。 例えば、 カーネルは依存関係の検索を行うロックの深さを 10 ステップに限定しているが、 このためこれよりも長い循環するデッドロックは検出されない。 また、 B<clone>(2) の B<CLONE_FILES> フラグを使って作成された 2 つ以上のプロセスが (カーネルにとって) 衝突するように見えるロックを適用した場合、 カーネルはデッドロックを誤って検出する。"
 
 #.  http://marc.info/?l=linux-kernel&m=119013491707153&w=2
 #.  Reconfirmed by Jeff Layton
@@ -9090,15 +8951,6 @@ msgstr ""
 #.      http://thread.gmane.org/gmane.linux.file-systems/84481/focus=84518
 #. type: Plain text
 #: build/C/man2/fcntl.2:1690
-#, fuzzy
-#| msgid ""
-#| "The implementation of mandatory locking in all known versions of Linux is "
-#| "subject to race conditions which render it unreliable: a B<write>(2)  "
-#| "call that overlaps with a lock may modify data after the mandatory lock "
-#| "is acquired; a B<read>(2)  call that overlaps with a lock may detect "
-#| "changes to data that were made only after a write lock was acquired.  "
-#| "Similar races exist between mandatory locks and B<mmap>(2).  It is "
-#| "therefore inadvisable to rely on mandatory locking."
 msgid ""
 "The Linux implementation of mandatory locking is subject to race conditions "
 "which render it unreliable: a B<write>(2)  call that overlaps with a lock "
@@ -9107,14 +8959,7 @@ msgid ""
 "after a write lock was acquired.  Similar races exist between mandatory "
 "locks and B<mmap>(2).  It is therefore inadvisable to rely on mandatory "
 "locking."
-msgstr ""
-"これまでの Linux の全てのバージョンにおける強制ロックの実装は、 競合条件下で"
-"強制ロックが不完全になるような場合がある。 ロックと重なって実行された "
-"B<write>(2)  の呼び出しは強制ロックが獲得された後にもデータを変更することがで"
-"きる。 ロックと重なって実行された B<read>(2)  の呼び出しは強制ロックが獲得さ"
-"れた後になって行われたデータの変更を 検出することができる。 同様の競合条件が"
-"強制ロックと B<mmap>(2)  の間にも存在する。それゆえ、強制ロックに頼るのはお薦"
-"めできない。"
+msgstr "Linux の強制ロックの実装は、 競合条件下で強制ロックが不完全になるような場合がある。 ロックと重なって実行された B<write>(2)  の呼び出しは強制ロックが獲得された後にもデータを変更することができる。 ロックと重なって実行された B<read>(2)  の呼び出しは強制ロックが獲得された後になって行われたデータの変更を 検出することができる。 同様の競合条件が強制ロックと B<mmap>(2)  の間にも存在する。それゆえ、強制ロックに頼るのはお薦めできない。"
 
 #. type: Plain text
 #: build/C/man2/fcntl.2:1698
@@ -24144,22 +23989,6 @@ msgstr ""
 msgid "B<capabilities>(7), B<init>(1)"
 msgstr "B<capabilities>(7), B<init>(1)"
 
-#~ msgid "2014-05-09"
-#~ msgstr "2014-05-09"
-
-#~ msgid "2013-11-08"
-#~ msgstr "2013-11-08"
-
-#~ msgid "I<d> is not a valid descriptor."
-#~ msgstr "I<d> が有効なディスクリプタではない。"
-
-#~ msgid "2014-05-10"
-#~ msgstr "2014-05-10"
-
-#~ msgid "These system calls create a copy of the file descriptor I<oldfd>."
-#~ msgstr ""
-#~ "これらのシステムコールは、ファイルディスクリプタ I<oldfd> の複製を作る。"
-
 #~ msgid ""
 #~ "B<dup2>()  makes I<newfd> be the copy of I<oldfd>, closing I<newfd> first "
 #~ "if necessary, but note the following:"
index fa3dc9c..162b974 100644 (file)
@@ -1,2 +1,2 @@
 # pagename,#complete,#remaining,#all
-proc.5,1015,137,1152
+proc.5,1061,91,1152
index 5aaf6ce..659c1aa 100644 (file)
@@ -1,10 +1,9 @@
 # pagename,#complete,#remaining,#all
-iconv.1,36,24,60
-iconvconfig.8,24,13,37
+iconvconfig.8,31,6,37
 locale.1,39,19,58
 locale.5,376,46,422
 locale.7,61,9,70
-localedef.1,74,51,125
+localedef.1,75,50,125
 newlocale.3,65,24,89
 repertoiremap.5,25,5,30
 setlocale.3,50,1,51
index b958573..e69de29 100644 (file)
@@ -1,2 +0,0 @@
-# pagename,#complete,#remaining,#all
-fanotify_mark.2,54,46,100
index 3717477..89296c3 100644 (file)
@@ -1,5 +1,5 @@
 # pagename,#complete,#remaining,#all
-prctl.2,185,33,218
+prctl.2,199,19,218
 restart_syscall.2,20,8,28
 rt_sigqueueinfo.2,30,18,48
 s390_runtime_instr.2,20,11,31
index 4f5f981..d5942cc 100644 (file)
@@ -1,3 +1,2 @@
 # pagename,#complete,#remaining,#all
-utimensat.2,60,47,107
 zdump.8,21,1,22
index 8956bae..4c887eb 100644 (file)
@@ -1,2 +1,2 @@
 # pagename,#complete,#remaining,#all
-fcntl.2,195,46,241
+fcntl.2,232,9,241
index b8e800f..0db8a57 100644 (file)
@@ -15,7 +15,7 @@
 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>filesystem</B></TD></TR>
 <TR class="over70"><TD>spufs.7</TD><TD>41/159</TD><TD>74.21</TD></TR>
 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>intro</B></TD></TR>
-<TR class="over80"><TD>proc.5</TD><TD>137/1152</TD><TD>88.11</TD></TR>
+<TR class="over80"><TD>proc.5</TD><TD>91/1152</TD><TD>92.10</TD></TR>
 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>keyutils</B></TD></TR>
 <TR><TD>add_key.2</TD><TD>23/53</TD><TD>56.60</TD></TR>
 <TR><TD>keyctl.2</TD><TD>31/68</TD><TD>54.41</TD></TR>
 <TR><TD>delete_module.2</TD><TD>21/60</TD><TD>65.00</TD></TR>
 <TR><TD>init_module.2</TD><TD>32/79</TD><TD>59.49</TD></TR>
 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>locale</B></TD></TR>
-<TR><TD>iconv.1</TD><TD>24/60</TD><TD>60.00</TD></TR>
-<TR><TD>iconvconfig.8</TD><TD>13/37</TD><TD>64.86</TD></TR>
+<TR class="over80"><TD>iconvconfig.8</TD><TD>6/37</TD><TD>83.78</TD></TR>
 <TR><TD>locale.1</TD><TD>19/58</TD><TD>67.24</TD></TR>
 <TR class="over80"><TD>locale.5</TD><TD>46/422</TD><TD>89.10</TD></TR>
 <TR class="over80"><TD>locale.7</TD><TD>9/70</TD><TD>87.14</TD></TR>
-<TR><TD>localedef.1</TD><TD>51/125</TD><TD>59.20</TD></TR>
+<TR><TD>localedef.1</TD><TD>50/125</TD><TD>60.00</TD></TR>
 <TR class="over70"><TD>newlocale.3</TD><TD>24/89</TD><TD>73.03</TD></TR>
 <TR class="over80"><TD>repertoiremap.5</TD><TD>5/30</TD><TD>83.33</TD></TR>
 <TR class="over80"><TD>setlocale.3</TD><TD>1/51</TD><TD>98.04</TD></TR>
 <TR><TD>mcheck.3</TD><TD>25/54</TD><TD>53.70</TD></TR>
 <TR class="over70"><TD>mtrace.3</TD><TD>11/37</TD><TD>70.27</TD></TR>
 <TR><TD>subpage_prot.2</TD><TD>12/36</TD><TD>66.67</TD></TR>
-<TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>notify</B></TD></TR>
-<TR><TD>fanotify_mark.2</TD><TD>46/100</TD><TD>54.00</TD></TR>
 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>process</B></TD></TR>
 <TR><TD>cpuset.7</TD><TD>210/314</TD><TD>33.12</TD></TR>
 <TR><TD>seccomp.2</TD><TD>67/144</TD><TD>53.47</TD></TR>
 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>signal</B></TD></TR>
-<TR class="over80"><TD>prctl.2</TD><TD>33/218</TD><TD>84.86</TD></TR>
+<TR class="over80"><TD>prctl.2</TD><TD>19/218</TD><TD>91.28</TD></TR>
 <TR class="over70"><TD>restart_syscall.2</TD><TD>8/28</TD><TD>71.43</TD></TR>
 <TR><TD>rt_sigqueueinfo.2</TD><TD>18/48</TD><TD>62.50</TD></TR>
 <TR><TD>s390_runtime_instr.2</TD><TD>11/31</TD><TD>64.52</TD></TR>
 <TR><TD>getauxval.3</TD><TD>34/86</TD><TD>60.47</TD></TR>
 <TR><TD>vdso.7</TD><TD>139/184</TD><TD>24.46</TD></TR>
 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>time</B></TD></TR>
-<TR><TD>utimensat.2</TD><TD>47/107</TD><TD>56.07</TD></TR>
 <TR class="over80"><TD>zdump.8</TD><TD>1/22</TD><TD>95.45</TD></TR>
 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>unistd</B></TD></TR>
-<TR class="over80"><TD>fcntl.2</TD><TD>46/241</TD><TD>80.91</TD></TR>
-<TR><TD COLSPAN=3>Total 54 pages</TD></TR>
+<TR class="over80"><TD>fcntl.2</TD><TD>9/241</TD><TD>96.27</TD></TR>
+<TR><TD COLSPAN=3>Total 51 pages</TD></TR>
 </TABLE>
 </BODY></HTML>