OSDN Git Service

Snapshot of user_namespaces.7
[linuxjm/LDP_man-pages.git] / po4a / process / po / ja.po
index 5b5c198..ddb6be0 100644 (file)
@@ -6,8 +6,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2015-01-04 23:49+0900\n"
-"PO-Revision-Date: 2015-01-04 22:27+0900\n"
+"POT-Creation-Date: 2015-01-11 04:00+0900\n"
+"PO-Revision-Date: 2015-01-11 18:45+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -43,7 +43,7 @@ msgstr "2008-06-16"
 #: build/C/man2/setpgid.2:48 build/C/man2/setresuid.2:26
 #: build/C/man2/setreuid.2:45 build/C/man2/setsid.2:31
 #: build/C/man2/setuid.2:30 build/C/man7/svipc.7:40 build/C/man3/ulimit.3:27
-#: build/C/man7/user_namespaces.7:27
+#: build/C/man7/user_namespaces.7:27 build/C/man2/seccomp.2:27
 #, no-wrap
 msgid "Linux"
 msgstr "Linux"
@@ -64,7 +64,7 @@ msgstr "Linux"
 #: build/C/man2/setpgid.2:48 build/C/man2/setresuid.2:26
 #: build/C/man2/setreuid.2:45 build/C/man2/setsid.2:31
 #: build/C/man2/setuid.2:30 build/C/man7/svipc.7:40 build/C/man3/ulimit.3:27
-#: build/C/man7/user_namespaces.7:27
+#: build/C/man7/user_namespaces.7:27 build/C/man2/seccomp.2:27
 #, no-wrap
 msgid "Linux Programmer's Manual"
 msgstr "Linux Programmer's Manual"
@@ -85,7 +85,7 @@ msgstr "Linux Programmer's Manual"
 #: build/C/man2/setpgid.2:49 build/C/man2/setresuid.2:27
 #: build/C/man2/setreuid.2:46 build/C/man2/setsid.2:32
 #: build/C/man2/setuid.2:31 build/C/man7/svipc.7:41 build/C/man3/ulimit.3:28
-#: build/C/man7/user_namespaces.7:28
+#: build/C/man7/user_namespaces.7:28 build/C/man2/seccomp.2:28
 #, no-wrap
 msgid "NAME"
 msgstr "名前"
@@ -108,6 +108,7 @@ msgstr "acct - プロセス・アカウントのオンとオフを切り換え
 #: build/C/man2/setpgid.2:51 build/C/man2/setresuid.2:29
 #: build/C/man2/setreuid.2:48 build/C/man2/setsid.2:34
 #: build/C/man2/setuid.2:33 build/C/man7/svipc.7:43 build/C/man3/ulimit.3:30
+#: build/C/man2/seccomp.2:30
 #, no-wrap
 msgid "SYNOPSIS"
 msgstr "書式"
@@ -156,7 +157,7 @@ msgstr ""
 #: build/C/man2/setpgid.2:100 build/C/man2/setresuid.2:37
 #: build/C/man2/setreuid.2:70 build/C/man2/setsid.2:41
 #: build/C/man2/setuid.2:39 build/C/man7/svipc.7:49 build/C/man3/ulimit.3:34
-#: build/C/man7/user_namespaces.7:30
+#: build/C/man7/user_namespaces.7:30 build/C/man2/seccomp.2:43
 #, no-wrap
 msgid "DESCRIPTION"
 msgstr "説明"
@@ -186,6 +187,7 @@ msgstr ""
 #: build/C/man2/setgid.2:53 build/C/man2/setpgid.2:195
 #: build/C/man2/setresuid.2:64 build/C/man2/setreuid.2:93
 #: build/C/man2/setsid.2:54 build/C/man2/setuid.2:70 build/C/man3/ulimit.3:67
+#: build/C/man2/seccomp.2:342
 #, no-wrap
 msgid "RETURN VALUE"
 msgstr "返り値"
@@ -214,6 +216,7 @@ msgstr ""
 #: build/C/man2/setgid.2:58 build/C/man2/setpgid.2:216
 #: build/C/man2/setresuid.2:76 build/C/man2/setreuid.2:105
 #: build/C/man2/setsid.2:61 build/C/man2/setuid.2:82 build/C/man3/ulimit.3:74
+#: build/C/man2/seccomp.2:358
 #, no-wrap
 msgid "ERRORS"
 msgstr "エラー"
@@ -243,6 +246,7 @@ msgstr ""
 #: build/C/man2/acct.2:77 build/C/man2/capget.2:180 build/C/man7/cpuset.7:1172
 #: build/C/man2/getgroups.2:107 build/C/man2/getresuid.2:56
 #: build/C/man2/getrlimit.2:467 build/C/man2/getrusage.2:194
+#: build/C/man2/seccomp.2:369
 #, no-wrap
 msgid "B<EFAULT>"
 msgstr "B<EFAULT>"
@@ -323,13 +327,15 @@ msgstr "指定されたファイルが存在しない。"
 
 #. type: TP
 #: build/C/man2/acct.2:103 build/C/man7/cpuset.7:1287
-#: build/C/man2/getgroups.2:127
+#: build/C/man2/getgroups.2:127 build/C/man2/seccomp.2:413
+#: build/C/man2/seccomp.2:416
 #, no-wrap
 msgid "B<ENOMEM>"
 msgstr "B<ENOMEM>"
 
 #. type: Plain text
 #: build/C/man2/acct.2:106 build/C/man2/getgroups.2:130
+#: build/C/man2/seccomp.2:416
 msgid "Out of memory."
 msgstr "メモリ不足。"
 
@@ -419,13 +425,13 @@ msgstr "使用可能なファイル構造体がないか、メモリが足りな
 #: build/C/man2/getsid.2:79 build/C/man2/getuid.2:45
 #: build/C/man3/group_member.3:55 build/C/man2/iopl.2:87
 #: build/C/man2/ioprio_set.2:196 build/C/man2/ipc.2:45
-#: build/C/man7/namespaces.7:359 build/C/man7/pid_namespaces.7:341
+#: build/C/man7/namespaces.7:359 build/C/man7/pid_namespaces.7:351
 #: build/C/man2/seteuid.2:99 build/C/man2/setfsgid.2:75
 #: build/C/man2/setfsuid.2:75 build/C/man2/setgid.2:71
 #: build/C/man2/setpgid.2:250 build/C/man2/setresuid.2:109
 #: build/C/man2/setreuid.2:148 build/C/man2/setsid.2:68
 #: build/C/man2/setuid.2:117 build/C/man3/ulimit.3:78
-#: build/C/man7/user_namespaces.7:645
+#: build/C/man7/user_namespaces.7:645 build/C/man2/seccomp.2:435
 #, no-wrap
 msgid "CONFORMING TO"
 msgstr "準拠"
@@ -455,6 +461,7 @@ msgstr "SVr4, 4.3BSD (POSIX ではない)。"
 #: build/C/man2/setpgid.2:272 build/C/man2/setresuid.2:112
 #: build/C/man2/setreuid.2:154 build/C/man2/setsid.2:70
 #: build/C/man2/setuid.2:122 build/C/man7/user_namespaces.7:648
+#: build/C/man2/seccomp.2:439
 #, no-wrap
 msgid "NOTES"
 msgstr "注意"
@@ -487,13 +494,13 @@ msgstr ""
 #: build/C/man2/getrusage.2:253 build/C/man2/getsid.2:84
 #: build/C/man2/getuid.2:73 build/C/man3/group_member.3:57
 #: build/C/man2/iopl.2:100 build/C/man2/ioprio_set.2:346 build/C/man2/ipc.2:57
-#: build/C/man7/namespaces.7:364 build/C/man7/pid_namespaces.7:346
+#: build/C/man7/namespaces.7:364 build/C/man7/pid_namespaces.7:356
 #: build/C/man2/seteuid.2:141 build/C/man2/setfsgid.2:123
 #: build/C/man2/setfsuid.2:131 build/C/man2/setgid.2:83
 #: build/C/man2/setpgid.2:340 build/C/man2/setresuid.2:132
 #: build/C/man2/setreuid.2:194 build/C/man2/setsid.2:93
 #: build/C/man2/setuid.2:145 build/C/man7/svipc.7:335 build/C/man3/ulimit.3:83
-#: build/C/man7/user_namespaces.7:1011
+#: build/C/man7/user_namespaces.7:1011 build/C/man2/seccomp.2:662
 #, no-wrap
 msgid "SEE ALSO"
 msgstr "関連項目"
@@ -513,13 +520,13 @@ msgstr "B<acct>(5)"
 #: build/C/man2/getrusage.2:260 build/C/man2/getsid.2:88
 #: build/C/man2/getuid.2:78 build/C/man3/group_member.3:62
 #: build/C/man2/iopl.2:104 build/C/man2/ioprio_set.2:354 build/C/man2/ipc.2:70
-#: build/C/man7/namespaces.7:377 build/C/man7/pid_namespaces.7:355
+#: build/C/man7/namespaces.7:377 build/C/man7/pid_namespaces.7:365
 #: build/C/man2/seteuid.2:149 build/C/man2/setfsgid.2:128
 #: build/C/man2/setfsuid.2:136 build/C/man2/setgid.2:90
 #: build/C/man2/setpgid.2:347 build/C/man2/setresuid.2:142
 #: build/C/man2/setreuid.2:203 build/C/man2/setsid.2:100
 #: build/C/man2/setuid.2:153 build/C/man7/svipc.7:353 build/C/man3/ulimit.3:88
-#: build/C/man7/user_namespaces.7:1027
+#: build/C/man7/user_namespaces.7:1027 build/C/man2/seccomp.2:678
 #, no-wrap
 msgid "COLOPHON"
 msgstr "この文書について"
@@ -534,26 +541,20 @@ msgstr "この文書について"
 #: build/C/man2/getrusage.2:268 build/C/man2/getsid.2:96
 #: build/C/man2/getuid.2:86 build/C/man3/group_member.3:70
 #: build/C/man2/iopl.2:112 build/C/man2/ioprio_set.2:362 build/C/man2/ipc.2:78
-#: build/C/man7/namespaces.7:385 build/C/man7/pid_namespaces.7:363
+#: build/C/man7/namespaces.7:385 build/C/man7/pid_namespaces.7:373
 #: build/C/man2/seteuid.2:157 build/C/man2/setfsgid.2:136
 #: build/C/man2/setfsuid.2:144 build/C/man2/setgid.2:98
 #: build/C/man2/setpgid.2:355 build/C/man2/setresuid.2:150
 #: build/C/man2/setreuid.2:211 build/C/man2/setsid.2:108
 #: build/C/man2/setuid.2:161 build/C/man7/svipc.7:361 build/C/man3/ulimit.3:96
-#: build/C/man7/user_namespaces.7:1035
-#, fuzzy
-#| msgid ""
-#| "This page is part of release 3.75 of the Linux I<man-pages> project.  A "
-#| "description of the project, information about reporting bugs, and the "
-#| "latest version of this page, can be found at \\%http://www.kernel.org/doc/"
-#| "man-pages/."
-msgid ""
-"This page is part of release 3.76 of the Linux I<man-pages> project.  A "
+#: build/C/man7/user_namespaces.7:1035 build/C/man2/seccomp.2:686
+msgid ""
+"This page is part of release 3.77 of the Linux I<man-pages> project.  A "
 "description of the project, information about reporting bugs, and the latest "
 "version of this page, can be found at \\%http://www.kernel.org/doc/man-"
 "pages/."
 msgstr ""
-"この man ページは Linux I<man-pages> プロジェクトのリリース 3.75 の一部\n"
+"この man ページは Linux I<man-pages> プロジェクトのリリース 3.77 の一部\n"
 "である。プロジェクトの説明とバグ報告に関する情報は\n"
 "http://www.kernel.org/doc/man-pages/ に書かれている。"
 
@@ -792,7 +793,7 @@ msgstr ""
 #: build/C/man2/getresuid.2:60 build/C/man2/getrlimit.2:499
 #: build/C/man2/getsid.2:75 build/C/man2/ioprio_set.2:193
 #: build/C/man2/setfsgid.2:71 build/C/man2/setfsuid.2:71
-#: build/C/man2/setresuid.2:107
+#: build/C/man2/setresuid.2:107 build/C/man2/seccomp.2:430
 #, no-wrap
 msgid "VERSIONS"
 msgstr "バージョン"
@@ -855,10 +856,9 @@ msgstr "CAPABILITIES"
 
 #. type: TH
 #: build/C/man7/capabilities.7:48 build/C/man2/getpid.2:25
-#: build/C/man7/namespaces.7:27 build/C/man7/pid_namespaces.7:27
-#: build/C/man2/seteuid.2:29 build/C/man2/setgid.2:29
-#: build/C/man2/setresuid.2:26 build/C/man2/setreuid.2:45
-#: build/C/man2/setuid.2:30 build/C/man7/svipc.7:40
+#: build/C/man7/namespaces.7:27 build/C/man2/seteuid.2:29
+#: build/C/man2/setgid.2:29 build/C/man2/setresuid.2:26
+#: build/C/man2/setreuid.2:45 build/C/man2/setuid.2:30 build/C/man7/svipc.7:40
 #: build/C/man7/user_namespaces.7:27
 #, no-wrap
 msgid "2014-09-21"
@@ -941,7 +941,7 @@ msgstr "B<CAP_AUDIT_READ> (Linux 3.16 以降)"
 #. type: Plain text
 #: build/C/man7/capabilities.7:82
 msgid "Allow reading the audit log via a multicast netlink socket."
-msgstr ""
+msgstr "マルチキャスト netlink ソケット経由で監査ログの読み出しができる。"
 
 #. type: TP
 #: build/C/man7/capabilities.7:82
@@ -1055,14 +1055,18 @@ msgstr "B<CAP_DAC_READ_SEARCH>"
 #: build/C/man7/credentials.7:280 build/C/man7/credentials.7:283
 #: build/C/man2/getrlimit.2:683 build/C/man2/getrlimit.2:686
 #: build/C/man7/namespaces.7:212 build/C/man7/namespaces.7:215
-#: build/C/man7/namespaces.7:228 build/C/man7/pid_namespaces.7:223
-#: build/C/man7/pid_namespaces.7:231 build/C/man7/pid_namespaces.7:242
+#: build/C/man7/namespaces.7:228 build/C/man7/pid_namespaces.7:233
+#: build/C/man7/pid_namespaces.7:241 build/C/man7/pid_namespaces.7:252
 #: build/C/man7/user_namespaces.7:261 build/C/man7/user_namespaces.7:266
 #: build/C/man7/user_namespaces.7:272 build/C/man7/user_namespaces.7:285
 #: build/C/man7/user_namespaces.7:306 build/C/man7/user_namespaces.7:474
 #: build/C/man7/user_namespaces.7:477 build/C/man7/user_namespaces.7:479
 #: build/C/man7/user_namespaces.7:492 build/C/man7/user_namespaces.7:505
 #: build/C/man7/user_namespaces.7:532 build/C/man7/user_namespaces.7:541
+#: build/C/man2/seccomp.2:265 build/C/man2/seccomp.2:269
+#: build/C/man2/seccomp.2:272 build/C/man2/seccomp.2:277
+#: build/C/man2/seccomp.2:281 build/C/man2/seccomp.2:455
+#: build/C/man2/seccomp.2:463 build/C/man2/seccomp.2:469
 #, no-wrap
 msgid "*"
 msgstr "*"
@@ -1208,16 +1212,12 @@ msgstr "B<CAP_LINUX_IMMUTABLE>"
 #.  These attributes are now available on ext2, ext3, Reiserfs, XFS, JFS
 #. type: Plain text
 #: build/C/man7/capabilities.7:187
-#, fuzzy
-#| msgid ""
-#| "Set the B<FS_APPEND_FL> and B<FS_IMMUTABLE_FL> i-node flags (see "
-#| "B<chattr>(1))."
 msgid ""
 "Set the B<FS_APPEND_FL> and B<FS_IMMUTABLE_FL> inode flags (see "
 "B<chattr>(1))."
 msgstr ""
-"拡張ファイル属性 B<FS_APPEND_FL> と B<FS_IMMUTABLE_FL> を設定する "
-"(B<chattr>(1)  参照)。"
+"inode フラグ B<FS_APPEND_FL> と B<FS_IMMUTABLE_FL> を設定する (B<chattr>(1)  "
+"参照)。"
 
 #. type: TP
 #: build/C/man7/capabilities.7:187
@@ -1560,6 +1560,7 @@ msgstr "特権が必要な I<perf> イベントの情報にアクセスする。
 msgid ""
 "call B<setns>(2)  (requires B<CAP_SYS_ADMIN> in the I<target> namespace);"
 msgstr ""
+"B<setns>(2) を呼び出す (I<target> 名前空間での B<CAP_SYS_ADMIN> が必要)。"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:383
@@ -1754,6 +1755,8 @@ msgid ""
 "transfer data to or from the memory of arbitrary processes using "
 "B<process_vm_readv>(2)  and B<process_vm_writev>(2)."
 msgstr ""
+"B<process_vm_readv>(2) と B<process_vm_writev>(2) を使って任意のプロセスのメ"
+"モリとの間でデータの送受信を行う。"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:507
@@ -2922,7 +2925,7 @@ msgstr ""
 #: build/C/man7/capabilities.7:1117
 #, no-wrap
 msgid "Interaction with user namespaces"
-msgstr ""
+msgstr "ユーザー名前空間との相互作用"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:1120
@@ -2930,6 +2933,8 @@ msgid ""
 "For a discussion of the interaction of capabilities and user namespaces, see "
 "B<user_namespaces>(7)."
 msgstr ""
+"ケーパリビティとユーザー名前空間の相互の影響に関する議論は "
+"B<user_namespaces>(7) を参照。"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:1126
@@ -3353,7 +3358,9 @@ msgstr ""
 #: build/C/man2/ioprio_set.2:170 build/C/man2/seteuid.2:80
 #: build/C/man2/setgid.2:59 build/C/man2/setpgid.2:225
 #: build/C/man2/setresuid.2:99 build/C/man2/setreuid.2:128
-#: build/C/man2/setuid.2:105
+#: build/C/man2/setuid.2:105 build/C/man2/seccomp.2:373
+#: build/C/man2/seccomp.2:380 build/C/man2/seccomp.2:387
+#: build/C/man2/seccomp.2:393 build/C/man2/seccomp.2:402
 #, no-wrap
 msgid "B<EINVAL>"
 msgstr "B<EINVAL>"
@@ -3399,7 +3406,7 @@ msgstr ""
 #: build/C/man2/capget.2:215 build/C/man7/cpuset.7:1330
 #: build/C/man2/getpriority.2:126 build/C/man2/getrlimit.2:495
 #: build/C/man2/getsid.2:70 build/C/man2/ioprio_set.2:187
-#: build/C/man2/setpgid.2:240
+#: build/C/man2/setpgid.2:240 build/C/man2/seccomp.2:426
 #, no-wrap
 msgid "B<ESRCH>"
 msgstr "B<ESRCH>"
@@ -5273,8 +5280,8 @@ msgstr ""
 
 #. type: SH
 #: build/C/man7/cpuset.7:1365 build/C/man2/getrlimit.2:703
-#: build/C/man7/namespaces.7:361 build/C/man7/pid_namespaces.7:343
-#: build/C/man7/user_namespaces.7:677
+#: build/C/man7/namespaces.7:361 build/C/man7/pid_namespaces.7:353
+#: build/C/man7/user_namespaces.7:677 build/C/man2/seccomp.2:476
 #, no-wrap
 msgid "EXAMPLE"
 msgstr "例"
@@ -5524,10 +5531,9 @@ msgstr "CREDENTIALS"
 
 #. type: TH
 #: build/C/man7/credentials.7:27 build/C/man2/setsid.2:31
-#, fuzzy, no-wrap
-#| msgid "2014-10-02"
+#, no-wrap
 msgid "2014-12-31"
-msgstr "2014-10-02"
+msgstr "2014-12-31"
 
 #. type: Plain text
 #: build/C/man7/credentials.7:30
@@ -5939,16 +5945,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/credentials.7:340
-#, fuzzy
-#| msgid ""
-#| "B<bash>(1), B<csh>(1), B<ps>(1), B<access>(2), B<execve>(2), "
-#| "B<faccessat>(2), B<fork>(2), B<getpgrp>(2), B<getpid>(2), B<getppid>(2), "
-#| "B<getsid>(2), B<kill>(2), B<killpg>(2), B<setegid>(2), B<seteuid>(2), "
-#| "B<setfsgid>(2), B<setfsuid>(2), B<setgid>(2), B<setgroups>(2), "
-#| "B<setresgid>(2), B<setresuid>(2), B<setuid>(2), B<waitpid>(2), "
-#| "B<euidaccess>(3), B<initgroups>(3), B<tcgetpgrp>(3), B<tcsetpgrp>(3), "
-#| "B<capabilities>(7), B<namespaces>(7), B<path_resolution>(7), "
-#| "B<pid_namespaces>(7), B<signal>(7), B<user_namespaces>(7), B<unix>(7)"
 msgid ""
 "B<bash>(1), B<csh>(1), B<ps>(1), B<access>(2), B<execve>(2), "
 "B<faccessat>(2), B<fork>(2), B<getgroups>(2), B<getpgrp>(2), B<getpid>(2), "
@@ -5961,13 +5957,14 @@ msgid ""
 "B<user_namespaces>(7), B<unix>(7)"
 msgstr ""
 "B<bash>(1), B<csh>(1), B<ps>(1), B<access>(2), B<execve>(2), "
-"B<faccessat>(2), B<fork>(2), B<getpgrp>(2), B<getpid>(2), B<getppid>(2), "
-"B<getsid>(2), B<kill>(2), B<killpg>(2), B<setegid>(2), B<seteuid>(2), "
-"B<setfsgid>(2), B<setfsuid>(2), B<setgid>(2), B<setgroups>(2), "
-"B<setresgid>(2), B<setresuid>(2), B<setuid>(2), B<waitpid>(2), "
-"B<euidaccess>(3), B<initgroups>(3), B<tcgetpgrp>(3), B<tcsetpgrp>(3), "
-"B<capabilities>(7), B<namespaces>(7), B<path_resolution>(7), "
-"B<pid_namespaces>(7), B<signal>(7), B<user_namespaces>(7), B<unix>(7)"
+"B<faccessat>(2), B<fork>(2), B<getgroups>(2), B<getpgrp>(2), B<getpid>(2), "
+"B<getppid>(2), B<getsid>(2), B<kill>(2), B<killpg>(2), B<setegid>(2), "
+"B<seteuid>(2), B<setfsgid>(2), B<setfsuid>(2), B<setgid>(2), "
+"B<setgroups>(2), B<setresgid>(2), B<setresuid>(2), B<setuid>(2), "
+"B<waitpid>(2), B<euidaccess>(3), B<initgroups>(3), B<tcgetpgrp>(3), "
+"B<tcsetpgrp>(3), B<capabilities>(7), B<namespaces>(7), "
+"B<path_resolution>(7), B<pid_namespaces>(7), B<signal>(7), "
+"B<user_namespaces>(7), B<unix>(7)"
 
 #. type: TH
 #: build/C/man2/getgid.2:25
@@ -6568,6 +6565,10 @@ msgid ""
 "1.3.36 had -infinity..15.  Since kernel 1.3.43, Linux has the range "
 "-20..19.  On some other systems, the range of nice values is -20..20."
 msgstr ""
+"実際の優先度の範囲はカーネルのバージョンにより異なる。 バージョン 1.3.36 より"
+"前の Linux では -infinity(マイナス無限大)..15 である。 カーネル 1.3.43 以降"
+"の Linux では、 -20..19 である。 他のいくつかのシステムでは、この範囲が "
+"-20..20 である。"
 
 #. type: Plain text
 #: build/C/man2/getpriority.2:210
@@ -6586,21 +6587,10 @@ msgstr ""
 #: build/C/man2/getpriority.2:210 build/C/man2/seteuid.2:132
 #, no-wrap
 msgid "C library/kernel ABI differences"
-msgstr ""
+msgstr "C ライブラリとカーネル ABI の違い"
 
 #. type: Plain text
 #: build/C/man2/getpriority.2:225
-#, fuzzy
-#| msgid ""
-#| "The actual priority range varies between kernel versions.  Linux before "
-#| "1.3.36 had -infinity..15.  Since kernel 1.3.43, Linux has the range "
-#| "-20..19.  Within the kernel, nice values are actually represented using "
-#| "the corresponding range 40..1 (since negative numbers are error codes) "
-#| "and these are the values employed by the B<setpriority>()  and "
-#| "B<getpriority>()  system calls.  The glibc wrapper functions for these "
-#| "system calls handle the translations between the user-land and kernel "
-#| "representations of the nice value according to the formula I<unice\\ =\\ "
-#| "20\\ -\\ knice>."
 msgid ""
 "Within the kernel, nice values are actually represented using the range "
 "40..1 (since negative numbers are error codes) and these are the values "
@@ -6610,14 +6600,12 @@ msgid ""
 "to the formula I<unice\\ =\\ 20\\ -\\ knice>.  (Thus, the kernels 40..1 "
 "range corresponds to the range -20..19 as seen by user space.)"
 msgstr ""
-"実際の優先度の値の範囲はカーネルのバージョンによって異なる。 1.3.36 より前の "
-"Linux では、優先度の範囲は負の無限大 〜 15 である。 1.3.43 以降の Linux で"
-"は、優先度の範囲は -20 〜 19 である。 カーネル内部では、nice 値は実際には 40 "
-"〜 1 の範囲を使って 表現されており (負の値はエラーコードとなるため)、こちらの"
-"値が システムコール B<setpriority>()  と B<getpriority>()  で使用されてい"
-"る。 glibc のこれらのシステムコールのラッパー関数において、nice 値の ユーザ領"
-"域 (user-land) とカーネル表現の間の変換が行われる。 変換式は以下の通り: "
-"I<unice\\ =\\ 20\\ -\\ knice>"
+"カーネル内部では、nice 値は実際には 40 〜 1 の範囲を使って 表現されており (負"
+"の値はエラーコードとなるため)、こちらの値が システムコール B<setpriority>()  "
+"と B<getpriority>()  で使用されている。 glibc のこれらのシステムコールのラッ"
+"パー関数において、nice 値の ユーザ領域 (user-land) とカーネル表現の間の変換が"
+"行われる。 変換式は I<unice\\ =\\ 20\\ -\\ knice> となる。 (したがって、カー"
+"ネルの 40..1 の範囲はユーザー空間で見える -20..19 の範囲に対応する。)"
 
 #. type: Plain text
 #: build/C/man2/getpriority.2:232
@@ -7049,6 +7037,13 @@ msgid ""
 "                attr.mq_maxmsg * attr.mq_msgsize;\n"
 "                                /* For message data */\n"
 msgstr ""
+"    Linux 3.5 以降:\n"
+"        bytes = attr.mq_maxmsg * sizeof(struct msg_msg) +\n"
+"                min(attr.mq_maxmsg, MQ_PRIO_MAX) *\n"
+"                      sizeof(struct posix_msg_tree_node)+\n"
+"                                /* オーバーヘッド分 */\n"
+"                attr.mq_maxmsg * attr.mq_msgsize;\n"
+"                                /* メッセージデータ分 */\n"
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:266
@@ -7060,39 +7055,35 @@ msgid ""
 "                attr.mq_maxmsg * attr.mq_msgsize;\n"
 "                                /* For message data */\n"
 msgstr ""
+"    Linux 3.4 以前:\n"
+"        bytes = attr.mq_maxmsg * sizeof(struct msg_msg *) +\n"
+"                                /* オーバーヘッド分 */\n"
+"                attr.mq_maxmsg * attr.mq_msgsize;\n"
+"                                /* メッセージデータ分 */\n"
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:279
-#, fuzzy
-#| msgid ""
-#| "where I<attr> is the I<mq_attr> structure specified as the fourth "
-#| "argument to B<mq_open>(3)."
 msgid ""
 "where I<attr> is the I<mq_attr> structure specified as the fourth argument "
 "to B<mq_open>(3), and the I<msg_msg> and I<posix_msg_tree_node> structures "
 "are kernel-internal structures."
 msgstr ""
 "ここで I<attr> は I<mq_attr> 構造体であり、 B<mq_open>(3)  の第 4 引き数とし"
-"て指定される。"
+"て指定される。 また、構造体 I<msg_msg> と I<posix_msg_tree_node> はカーネル内"
+"部の構造体である。"
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:285
-#, fuzzy
-#| msgid ""
-#| "The first addend in the formula, which includes I<sizeof(struct msg_msg\\ "
-#| "*)> (4 bytes on Linux/i386), ensures that the user cannot create an "
-#| "unlimited number of zero-length messages (such messages nevertheless each "
-#| "consume some system memory for bookkeeping overhead)."
 msgid ""
 "The \"overhead\" addend in the formula accounts for overhead bytes required "
 "by the implementation and ensures that the user cannot create an unlimited "
 "number of zero-length messages (such messages nevertheless each consume some "
 "system memory for bookkeeping overhead)."
 msgstr ""
-"I<sizeof(struct msg_msg\\ *)> (Linux/i386 では 4 バイト) を含む最初の加数"
-"ã\81¯ã\80\81 ã\83¦ã\83¼ã\82¶ã\83¼ã\81\8cé\95·ã\81\95 0 ã\81®ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82\92ç\84¡å\88¶é\99\90ã\81«ä½\9cã\82\8cã\81ªã\81\84ã\81\93ã\81¨ä¿\9d証ã\81\97ã\81¦ã\81\84ã\82\8b (ã\81\93ã\81®ã\82\88"
-"うなメッセージであっても、 記録のためのオーバーヘッドでシステムメモリを消費す"
-"る)。"
+"上記の式での「オーバーヘッド」加算分は、実装において必要となるオーバーヘッド"
+"ã\82\92è\80\83æ\85®ã\81\97ã\81\9fã\82\82ã\81®ã\81§ã\81\82ã\82\8bã\80\82 ã\81¾ã\81\9fã\80\81ã\81\93ã\82\8cã\81«ã\82\88ã\82\8aã\80\81ã\83¦ã\83¼ã\82¶ã\83¼ã\81\8cé\95·ã\81\95 0 ã\81®ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82\92ç\84¡å\88"
+"限に作れないことが保証される (このようなメッセージであっても、 記録のための"
+"ã\82ªã\83¼ã\83\90ã\83¼ã\83\98ã\83\83ã\83\89ã\81§ã\82·ã\82¹ã\83\86ã\83 ã\83¡ã\83¢ã\83ªã\82\92æ¶\88è²»ã\81\99ã\82\8b\80\82"
 
 #. type: TP
 #: build/C/man2/getrlimit.2:285
@@ -7502,7 +7493,7 @@ msgstr ""
 #: build/C/man2/getrlimit.2:561
 #, no-wrap
 msgid "C library/ kernel ABI differences"
-msgstr ""
+msgstr "C ライブラリとカーネル ABI の違い"
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:570
@@ -7511,6 +7502,9 @@ msgid ""
 "functions no longer invoke the corresponding system calls, but instead "
 "employ B<prlimit>(), for the reasons described in BUGS."
 msgstr ""
+"バージョン 2.13 以降では、 glibc の B<getrlimit>() と B<setrlimit>() のラッ"
+"パー関数はもはや対応するシステムコールを呼び出さず、 代わりに「バグ」の節で説"
+"明されている理由から B<prlimit>() を利用している。"
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:579
@@ -7606,7 +7600,7 @@ msgstr ""
 #: build/C/man2/getrlimit.2:640
 #, no-wrap
 msgid "Representation of \"large\" resource limit values on 32-bit platforms"
-msgstr ""
+msgstr "32 ビットプラットフォームにおける「大きな」リソース上限値の表現"
 
 #.  https://bugzilla.kernel.org/show_bug.cgi?id=5042
 #.  http://sources.redhat.com/bugzilla/show_bug.cgi?id=12201
@@ -7624,6 +7618,17 @@ msgid ""
 "as wide as the type used to represent file offsets\\(emthat is, as wide as a "
 "64-bit B<off_t> (assuming a program compiled with I<_FILE_OFFSET_BITS=64>)."
 msgstr ""
+"glibc の B<getrlimit>() と B<setrlimit>() ラッパー関数は、32 ビットプラット"
+"フォームであっても 64 ビットの I<rlim_t> データ型を使用する。 しかし、 "
+"B<getrlimit>() と B<setrlimit>() システムコールで使用される I<rlim_t> データ"
+"型は (32 ビットの) I<unsigned long> である。 さらに、 2.6.36 より前の Linux "
+"では、 カーネルは 32 ビットプラットフォームではリソース上限を I<unsigned "
+"long> として表現している。 しかしながら、 32 ビットデータ型は十分な大きさでは"
+"ない。 ここで最も関係がある上限値は B<RLIMIT_FSIZE> である。 この上限はファイ"
+"ルサイズの最大値であり、実用性の面からは、 この上限をファイルオフセットを表現"
+"するのに使用されている型、 つまり 64 ビットの B<off_t> "
+"(I<_FILE_OFFSET_BITS=64> でコンパイルしたプログラムの場合)、 と同じ幅を持つ"
+"型、を使って表現すべきである。"
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:681
@@ -7634,11 +7639,15 @@ msgid ""
 "the limit value to B<RLIM_INFINITY>.  In other words, the requested resource "
 "limit setting was silently ignored."
 msgstr ""
+"カーネルのこの制限に対する対策として、 プログラムがリソース上限を 32 ビット"
+"の I<unsigned long> で表現できる値よりも大きな値に設定しようとした際には、 "
+"glibc の B<setrlimit>() ラッパー関数はこの上限値を黙って B<RLIM_INFINITY> に"
+"変換していた。 言い換えると、指定されたリソース上限値は黙って無視されていた。"
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:683
 msgid "This problem was addressed in Linux 2.6.36 with two principal changes:"
-msgstr ""
+msgstr "この問題は Linux 2.6.36 での以下の主な変更により解決された。"
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:686
@@ -7646,6 +7655,8 @@ msgid ""
 "the addition of a new kernel representation of resource limits that uses 64 "
 "bits, even on 32-bit platforms;"
 msgstr ""
+"32 ビットプラットフォームであっても 64 ビットを使用するリソース上限の新しい"
+"カーネルでの表現方法の追加。"
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:690
@@ -7653,6 +7664,8 @@ msgid ""
 "the addition of the B<prlimit>()  system call, which employs 64-bit values "
 "for its resource limit arguments."
 msgstr ""
+"リソース上限の引き数として 64 ビット値を取る B<prlimit>() システムコールの追"
+"加。"
 
 #.  https://www.sourceware.org/bugzilla/show_bug.cgi?id=12201
 #. type: Plain text
@@ -7663,6 +7676,10 @@ msgid ""
 "B<setrlimit>()  and B<getrlimit>()  as wrapper functions that call "
 "B<prlimit>()."
 msgstr ""
+"バージョン 2.13 以降の glibc では、 B<getrlimit>() と B<setrlimit>() システム"
+"コールの制限に対する回避手段として、\n"
+"B<setrlimit>() と B<getrlimit>() を B<prlimit>() を呼び出すラッパー関数として"
+"実装している。"
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:706
@@ -8409,7 +8426,7 @@ msgstr "B<getresuid>(2), B<setreuid>(2), B<setuid>(2), B<credentials>(7)"
 #: build/C/man3/group_member.3:25
 #, no-wrap
 msgid "GROUP_MEMBER"
-msgstr ""
+msgstr "GROUP_MEMBER"
 
 #. type: TH
 #: build/C/man3/group_member.3:25
@@ -8426,7 +8443,7 @@ msgstr "GNU"
 #. type: Plain text
 #: build/C/man3/group_member.3:28
 msgid "group_member - test whether a process is in a group"
-msgstr ""
+msgstr "group_member - プロセスがグループに属しているかを検査する"
 
 #. type: Plain text
 #: build/C/man3/group_member.3:32
@@ -8444,6 +8461,8 @@ msgid ""
 "The B<group_member>()  function tests whether any of the caller's "
 "supplementary group IDs (as returned by B<getgroups>(2))  matches I<gid>."
 msgstr ""
+"B<group_member>() 関数は、 呼び出し元の補助グループ ID (B<getgroups>(2) が返"
+"す値) のいずれかが I<gid> に一致するかを検索する。"
 
 #. type: Plain text
 #: build/C/man3/group_member.3:55
@@ -8451,11 +8470,13 @@ msgid ""
 "The B<group_member>()  function returns nonzero if any of the caller's "
 "supplementary group IDs matches I<gid>, and zero otherwise."
 msgstr ""
+"B<group_member>() 関数は、 呼び出し元の補助グループ ID のいずれかが I<gid> に"
+"一致すれば 0 以外の値を、そうでなければ 0 を返す。"
 
 #. type: Plain text
 #: build/C/man3/group_member.3:57
 msgid "This function is a nonstandard GNU extension."
-msgstr ""
+msgstr "この関数は非標準の GNU 拡張である。"
 
 #. type: Plain text
 #: build/C/man3/group_member.3:62
@@ -9218,7 +9239,7 @@ msgstr ""
 #: build/C/man7/namespaces.7:27
 #, no-wrap
 msgid "NAMESPACES"
-msgstr ""
+msgstr "NAMESPACES"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:30
@@ -9235,53 +9256,58 @@ msgid ""
 "invisible to other processes.  One use of namespaces is to implement "
 "containers."
 msgstr ""
+"名前空間は、 グローバルシステムリソースを抽象化層で覆うことで、 名前空間内の"
+"プロセスに対して、 自分たちが専用の分離されたグローバルリソースを持っているか"
+"のように見せる仕組みである。 グローバルリソースへの変更は、 名前空間のメン"
+"バーである他のプロセスには見えるが、 それ以外のプロセスには見えない。 名前空"
+"間の一つの利用方法はコンテナーの実装である。"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:39
 msgid "Linux provides the following namespaces:"
-msgstr ""
+msgstr "Linux では以下の名前空間が提供される。"
 
 #. type: tbl table
 #: build/C/man7/namespaces.7:42
 #, no-wrap
 msgid "Namespace\tConstant\tIsolates\n"
-msgstr ""
+msgstr "名前空間\t定数\t分離対象\n"
 
 #. type: tbl table
 #: build/C/man7/namespaces.7:43
 #, no-wrap
 msgid "IPC\tCLONE_NEWIPC\tSystem V IPC, POSIX message queues\n"
-msgstr ""
+msgstr "IPC\tCLONE_NEWIPC\tSystem V IPC, POSIX メッセージキュー\n"
 
 #. type: tbl table
 #: build/C/man7/namespaces.7:44
 #, no-wrap
 msgid "Network\tCLONE_NEWNET\tNetwork devices, stacks, ports, etc.\n"
-msgstr ""
+msgstr "Network\tCLONE_NEWNET\tネットワークデバイス、スタック、ポートなど\n"
 
 #. type: tbl table
 #: build/C/man7/namespaces.7:45
 #, no-wrap
 msgid "Mount\tCLONE_NEWNS\tMount points\n"
-msgstr ""
+msgstr "Mount\tCLONE_NEWNS\tマウントポイント\n"
 
 #. type: tbl table
 #: build/C/man7/namespaces.7:46
 #, no-wrap
 msgid "PID\tCLONE_NEWPID\tProcess IDs\n"
-msgstr ""
+msgstr "PID\tCLONE_NEWPID\tプロセス ID\n"
 
 #. type: tbl table
 #: build/C/man7/namespaces.7:47
 #, no-wrap
 msgid "User\tCLONE_NEWUSER\tUser and group IDs\n"
-msgstr ""
+msgstr "User\tCLONE_NEWUSER\tユーザー ID とグループ ID\n"
 
 #. type: tbl table
 #: build/C/man7/namespaces.7:48
 #, no-wrap
 msgid "UTS\tCLONE_NEWUTS\tHostname and NIS domain name\n"
-msgstr ""
+msgstr "UTS\tCLONE_NEWUTS\tホスト名と NIS ドメイン名\n"
 
 #
 #.  ==================== The namespaces API ====================
@@ -9291,12 +9317,14 @@ msgid ""
 "This page describes the various namespaces and the associated I</proc> "
 "files, and summarizes the APIs for working with namespaces."
 msgstr ""
+"このページでは、各種の名前空間と関連する I</proc> ファイルの説明と、名前空間"
+"とともに動作する API の概要を紹介する。"
 
 #. type: SS
 #: build/C/man7/namespaces.7:57
 #, no-wrap
 msgid "The namespaces API"
-msgstr ""
+msgstr "名前空間 API"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:62
@@ -9304,12 +9332,14 @@ msgid ""
 "As well as various I</proc> files described below, the namespaces API "
 "includes the following system calls:"
 msgstr ""
+"後で説明する種々の I</proc> ファイル以外に、名前空間 API として以下のシステム"
+"コールがある。"
 
 #. type: TP
 #: build/C/man7/namespaces.7:62
 #, no-wrap
 msgid "B<clone>(2)"
-msgstr ""
+msgstr "B<clone>(2)"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:75
@@ -9320,6 +9350,11 @@ msgid ""
 "is made a member of those namespaces.  (This system call also implements a "
 "number of features unrelated to namespaces.)"
 msgstr ""
+"B<clone>(2) システムコールは新しいプロセスを作成する。 呼び出し時に I<flags> "
+"引き数で以下のリストにある B<CLONE_NEW*> のフラグを一つ以上指定すると、 各フ"
+"ラグに対応する新しい名前空間が作成され、 子プロセスはこれらの名前空間のメン"
+"バーになる。 (このシステムコールは名前空間とは関係のない機能も多数実装してい"
+"る。)"
 
 #. type: TP
 #: build/C/man7/namespaces.7:75
@@ -9334,12 +9369,15 @@ msgid ""
 "namespace.  The namespace to join is specified via a file descriptor that "
 "refers to one of the I</proc/[pid]/ns> files described below."
 msgstr ""
+"B<setns>(2) システムコールを使うと、呼び出したプロセスを既存の名前空間に参加"
+"させることができる。 参加する名前空間は、 以下で説明する I</proc/[pid]/ns> "
+"ファイルのいずれか一つを参照するファイルディスクリプタを使って指定する。"
 
 #. type: TP
 #: build/C/man7/namespaces.7:84
 #, no-wrap
 msgid "B<unshare>(2)"
-msgstr ""
+msgstr "B<unshare>(2)"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:97
@@ -9351,6 +9389,11 @@ msgid ""
 "(This system call also implements a number of features unrelated to "
 "namespaces.)"
 msgstr ""
+"B<unshare>(2) システムコールは、 呼び出したプロセスを新しい名前空間に移動す"
+"る。 呼び出し時の I<flags> 引き数に以下のリストにある B<CLONE_NEW*> フラグを"
+"一つ以上指定すると、 各フラグに対応する新しい名前空間が作成され、 呼び出した"
+"プロセスがこれらの名前空間のメンバーになる。 (このシステムコールは名前空間と"
+"は関係のない機能も多数実装している。)"
 
 #
 #.  ==================== The /proc/[pid]/ns/ directory ====================
@@ -9362,12 +9405,15 @@ msgid ""
 "exception: since Linux 3.8, no privilege is required to create a user "
 "namespace."
 msgstr ""
+"B<clone>(2) と B<unshare>(2) を使った新しい名前空間の作成のほとんどの場合で "
+"B<CAP_SYS_ADMIN> ケーパビリティが必要である。 ユーザー名前空間は例外で、 "
+"Linux 3.8 以降ではユーザー名前空間を作成するのに特権が不要である。"
 
 #. type: SS
 #: build/C/man7/namespaces.7:110
 #, no-wrap
 msgid "The /proc/[pid]/ns/ directory"
-msgstr ""
+msgstr "/proc/[pid]/ns/ ディレクトリ"
 
 #.  See commit 6b4e306aa3dc94a0545eb9279475b1ab6209a31f
 #. type: Plain text
@@ -9376,6 +9422,9 @@ msgid ""
 "Each process has a I</proc/[pid]/ns/> subdirectory containing one entry for "
 "each namespace that supports being manipulated by B<setns>(2):"
 msgstr ""
+"各プロセスには I</proc/[pid]/ns/> サブディレクトリがあり、 このサブディレクト"
+"リには B<setns>(2) での操作がサポートされている名前空間単位にエントリが存在す"
+"る。"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:128
@@ -9407,6 +9456,10 @@ msgid ""
 "process specified by I<pid> alive even if all processes currently in the "
 "namespace terminate."
 msgstr ""
+"このディレクトリ内のファイルのいずれかをファイルシステムの他のどこかにバイン"
+"ドマウント (B<mount>(2) 参照) することで、 その名前空間のすべてのプロセスが終"
+"了した場合でも、 I<pid> で指定したプロセスの対応する名前空間を保持することが"
+"できる。"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:149
@@ -9418,6 +9471,12 @@ msgid ""
 "processes in the namespace terminate.  The file descriptor can be passed to "
 "B<setns>(2)."
 msgstr ""
+"このディレクトリ内のファイルのいずれか (またはこれらのファイルのいずれかにバ"
+"インドマウントされたファイル) をオープンすると、 I<pid> で指定されたプロセス"
+"の対応する名前空間に対するファイルハンドルが返される。 このファイルディスクリ"
+"プタがオープンされている限り、 その名前空間のすべてのプロセスが終了した場合で"
+"あっても、 その名前空間は存在し続ける。 このファイルディスクリプタは "
+"B<setns>(2) に渡すことができる。"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:160
@@ -9430,6 +9489,13 @@ msgid ""
 "a string containing the namespace type and inode number as in the following "
 "example:"
 msgstr ""
+"Linux 3.7 以前では、これらのファイルはハードリンクとして見えていた。 Linux "
+"3.8 以降では、これらはシンボリックリンクとして見える。 2 つのプロセスが同じ名"
+"前空間に所属している場合、 これらのプロセスの I</proc/[pid]/ns/xxx> シンボ"
+"リックリンクの inode 番号は同じになる。 アプリケーションは、 B<stat>(2) が返"
+"す I<stat.st_ino> フィールドを使ってこれを確認することができる。 シンボリック"
+"リンクの内容は、 以下の例にあるように、名前空間種別と inode 番号を含む文字列"
+"である。"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:165
@@ -9438,11 +9504,13 @@ msgid ""
 "$ B<readlink /proc/$$/ns/uts>\n"
 "uts:[4026531838]\n"
 msgstr ""
+"$ B<readlink /proc/$$/ns/uts>\n"
+"uts:[4026531838]\n"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:169
 msgid "The files in this subdirectory are as follows:"
-msgstr ""
+msgstr "このサブディレクトリのファイルは以下のとおりである。"
 
 #. type: TP
 #: build/C/man7/namespaces.7:169
@@ -9453,7 +9521,7 @@ msgstr "I</proc/[pid]/ns/ipc> (Linux 3.0 以降)"
 #. type: Plain text
 #: build/C/man7/namespaces.7:172
 msgid "This file is a handle for the IPC namespace of the process."
-msgstr ""
+msgstr "このファイルはそのプロセスの IPC 名前空間の操作用である。"
 
 #. type: TP
 #: build/C/man7/namespaces.7:172
@@ -9464,7 +9532,7 @@ msgstr "I</proc/[pid]/ns/mnt> (Linux 3.8 以降)"
 #. type: Plain text
 #: build/C/man7/namespaces.7:175
 msgid "This file is a handle for the mount namespace of the process."
-msgstr ""
+msgstr "このファイルはそのプロセスのマウント名前空間の操作用である。"
 
 #. type: TP
 #: build/C/man7/namespaces.7:175
@@ -9475,7 +9543,7 @@ msgstr "I</proc/[pid]/ns/net> (Linux 3.0 以降)"
 #. type: Plain text
 #: build/C/man7/namespaces.7:178
 msgid "This file is a handle for the network namespace of the process."
-msgstr ""
+msgstr "このファイルはそのプロセスのネットワーク名前空間の操作用である。"
 
 #. type: TP
 #: build/C/man7/namespaces.7:178
@@ -9486,7 +9554,7 @@ msgstr "I</proc/[pid]/ns/pid> (Linux 3.8 以降)"
 #. type: Plain text
 #: build/C/man7/namespaces.7:181
 msgid "This file is a handle for the PID namespace of the process."
-msgstr ""
+msgstr "このファイルはそのプロセスの PID 名前空間の操作用である。"
 
 #. type: TP
 #: build/C/man7/namespaces.7:181
@@ -9497,7 +9565,7 @@ msgstr "I</proc/[pid]/ns/user> (Linux 3.8 以降)"
 #. type: Plain text
 #: build/C/man7/namespaces.7:184
 msgid "This file is a handle for the user namespace of the process."
-msgstr ""
+msgstr "このファイルはそのプロセスのユーザー名前空間の操作用である。"
 
 #. type: TP
 #: build/C/man7/namespaces.7:184
@@ -9510,13 +9578,13 @@ msgstr "I</proc/[pid]/ns/uts> (Linux 3.0 以降)"
 #. type: Plain text
 #: build/C/man7/namespaces.7:190
 msgid "This file is a handle for the UTS namespace of the process."
-msgstr ""
+msgstr "このファイルはそのプロセスの UTS 名前空間の操作用である。"
 
 #. type: SS
 #: build/C/man7/namespaces.7:190
 #, no-wrap
 msgid "IPC namespaces (CLONE_NEWIPC)"
-msgstr ""
+msgstr "IPC 名前空間 (CLONE_NEWIPC)"
 
 #.  commit 7eafd7c74c3f2e67c27621b987b28397110d643f
 #.  https://lwn.net/Articles/312232/
@@ -9529,6 +9597,10 @@ msgid ""
 "that IPC objects are identified by mechanisms other than filesystem "
 "pathnames."
 msgstr ""
+"IPC 名前空間は、 特定の IPC リソース、すなわち、System V IPC オブジェクト "
+"(B<svipc>(7) 参照)、(Linux 2.6.30 以降では) POSIX メッセージキュー "
+"(B<mq_overview>(7) 参照) を分離する。 これらの IPC 機構に共通の特徴は、 IPC "
+"オブジェクトがファイルシステムのパス名以外の方法で識別されるという点である。"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:208
@@ -9538,16 +9610,20 @@ msgid ""
 "visible to all other processes that are members of that namespace, but are "
 "not visible to processes in other IPC namespaces."
 msgstr ""
+"各 IPC 名前空間はそれぞれ、 独自の System V IPC 識別子の集合と独自の POSIX "
+"メッセージキューファイルシステムを持つ。 IPC 名前空間に作成されたオブジェクト"
+"は、 その名前空間のメンバーの他のすべてのプロセスにも見えるが、 他の IPC 名前"
+"空間のプロセスには見えない。"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:212
 msgid "The following I</proc> interfaces are distinct in each IPC namespace:"
-msgstr ""
+msgstr "以下の I</proc> インタフェースは各 IPC 名前空間で別のものとなる。"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:215
 msgid "The POSIX message queue interfaces in I</proc/sys/fs/mqueue>."
-msgstr ""
+msgstr "I</proc/sys/fs/mqueue> の POSIX メッセージキューインタフェース。"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:228
@@ -9556,11 +9632,14 @@ msgid ""
 "I<msgmnb>, I<msgmni>, I<sem>, I<shmall>, I<shmmax>, I<shmmni>, and "
 "I<shm_rmid_forced>."
 msgstr ""
+"I</proc/sys/kernel> の System V IPC インタフェース。 すなわち、 I<msgmax>, "
+"I<msgmnb>, I<msgmni>, I<sem>, I<shmall>, I<shmmax>, I<shmmni>, "
+"I<shm_rmid_forced>。"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:231
 msgid "The System V IPC interfaces in I</proc/sysvipc>."
-msgstr ""
+msgstr "I</proc/sysvipc> の System V IPC インタフェース。"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:235
@@ -9569,6 +9648,9 @@ msgid ""
 "member of the namespace terminates), all IPC objects in the namespace are "
 "automatically destroyed."
 msgstr ""
+"IPC 名前空間が破棄されたときに (すなわち、その名前空間のメンバーの最後のプロ"
+"セスが終了したときに)、 その名前空間内のすべての IPC オブジェクトが自動的に破"
+"棄される。"
 
 #
 #.  ==================== Network namespaces ====================
@@ -9578,12 +9660,14 @@ msgid ""
 "Use of IPC namespaces requires a kernel that is configured with the "
 "B<CONFIG_IPC_NS> option."
 msgstr ""
+"IPC 名前空間を使用するには、設定 B<CONFIG_IPC_NS> が有効になったカーネルが必"
+"要である。"
 
 #. type: SS
 #: build/C/man7/namespaces.7:242
 #, no-wrap
 msgid "Network namespaces (CLONE_NEWNET)"
-msgstr ""
+msgstr "ネットワーク名前空間 (CLONE_NEWNET)"
 
 #.  FIXME Add pointer to veth(4) page when it is eventually completed
 #. type: Plain text
@@ -9598,6 +9682,14 @@ msgid ""
 "between network namespaces, and can be used to create a bridge to a physical "
 "network device in another namespace."
 msgstr ""
+"ネットワーク名前空間は、 ネットワークに関連するシステムリソースの分離を提供す"
+"る。 分離されるリソースは、 ネットワークデバイス、 IPv4 と IPv6 のプロトコル"
+"スタック、 IP ルーティングテーブル、 ファイアウォール、 I</proc/net> ディレク"
+"トリ、 I</sys/class/net> ディレクトリ、 (ソケットの) ポート番号などである。 "
+"物理ネットワークデバイスは 1 つのネットワーク名前空間にのみ属すことができ"
+"る。 仮想ネットワークデバイス (\"veth\") ペアは、 ネットワーク名前空間間のト"
+"ンネルを作成するのに使うことができるパイプ風の抽象概念で、 別の名前空間に属す"
+"物理ネットワークデバイスへのブリッジを作成するのに使用できる。"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:262
@@ -9606,6 +9698,10 @@ msgid ""
 "namespace terminates), its physical network devices are moved back to the "
 "initial network namespace (not to the parent of the process)."
 msgstr ""
+"ネットワーク名前空間が解放されたときに (すなわち、その名前空間の最後のプロセ"
+"スがしゅうりょうしたときに)、 その名前空間に属していた物理ネットワークデバイ"
+"スは初期ネットワーク名前空間に戻される (プロセスの親プロセスに戻されるわけで"
+"はない)。"
 
 #
 #.  ==================== Mount namespaces ====================
@@ -9615,12 +9711,14 @@ msgid ""
 "Use of network namespaces requires a kernel that is configured with the "
 "B<CONFIG_NET_NS> option."
 msgstr ""
+"ネットワーク名前空間を使用するには、設定 B<CONFIG_NET_NS> が有効になったカー"
+"ネルが必要である。"
 
 #. type: SS
 #: build/C/man7/namespaces.7:269
 #, no-wrap
 msgid "Mount namespaces (CLONE_NEWNS)"
-msgstr ""
+msgstr "マウント名前空間 (CLONE_NEWNS)"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:277
@@ -9630,6 +9728,10 @@ msgid ""
 "filesystem hierarchy.  The set of mounts in a mount namespace is modified "
 "using B<mount>(2)  and B<umount>(2)."
 msgstr ""
+"マウント名前空間はファイルシステムのマウントポイントの集合を分離する。 つま"
+"り、別のマウント名前空間のプロセスには別のファイルシステム階層が見えるという"
+"ことである。 マウント名前空間内のマウントの集合は B<mount>(2) と "
+"B<umount>(2) で変更される。"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:294
@@ -9642,6 +9744,14 @@ msgid ""
 "file descriptor as readable, and B<poll>(2)  and B<epoll_wait>(2)  mark the "
 "file as having an error condition."
 msgstr ""
+"I</proc/[pid]/mounts> ファイル (Linux 2.4.19 以降に存在) は、 そのプロセスの"
+"マウント名前空間で現在マウントされている全ファイルシステムの一覧を表示する。 "
+"このファイルのフォーマットは B<fstab>(5) に記載されている。 カーネルバージョ"
+"ン 2.6.15 以降では、このファイルをポーリングすることができる。 すなわち、この"
+"ファイルを読み出し用にオープンした後、 このファイルの変化 (ファイルシステムの"
+"マウントやアンマウント) が発生すると、 B<select>(2) はファイルディスクリプタ"
+"が読み出し可能になったと印を付け、 B<poll>(2) や B<epoll_wait>(2) はファイル"
+"がエラー状態になったかのように印を付ける。"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:302
@@ -9651,6 +9761,10 @@ msgid ""
 "in the process's mount namespace.  This file is only readable by the owner "
 "of the process.  Lines in this file have the form:"
 msgstr ""
+"I</proc/[pid]/mountstats> ファイル (Linux 2.6.17 以降に存在) は、 そのプロセ"
+"スのマウントポイントに関する情報 (統計情報、設定情報) を公開する。 このファイ"
+"ルはプロセスの所有者だけが読み出し可能である。 このファイルの各行は以下の形式"
+"である。"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:308
@@ -9659,11 +9773,13 @@ msgid ""
 "device /dev/sda7 mounted on /home with fstype ext3 [statistics]\n"
 "(       1      )            ( 2 )             (3 ) (4)\n"
 msgstr ""
+"device /dev/sda7 mounted on /home with fstype ext3 [statistics]\n"
+"(       1      )            ( 2 )             (3 ) (4)\n"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:312
 msgid "The fields in each line are:"
-msgstr ""
+msgstr "各行のフィールドは以下のとおりである。"
 
 #. type: IP
 #: build/C/man7/namespaces.7:312 build/C/man7/user_namespaces.7:371
@@ -9677,6 +9793,8 @@ msgid ""
 "The name of the mounted device (or \"nodevice\" if there is no corresponding "
 "device)."
 msgstr ""
+"マウントされているデバイス名 (もしくは、対応するデバイスがない場合は "
+"\"nodevice\")。"
 
 #. type: IP
 #: build/C/man7/namespaces.7:316 build/C/man7/user_namespaces.7:375
@@ -9687,7 +9805,7 @@ msgstr "(2)"
 #. type: Plain text
 #: build/C/man7/namespaces.7:319
 msgid "The mount point within the filesystem tree."
-msgstr ""
+msgstr "ファイルシステムツリー内のマウントポイント。"
 
 #. type: IP
 #: build/C/man7/namespaces.7:319 build/C/man7/user_namespaces.7:401
@@ -9698,7 +9816,7 @@ msgstr "(3)"
 #. type: Plain text
 #: build/C/man7/namespaces.7:322
 msgid "The filesystem type."
-msgstr ""
+msgstr "ファイルシステム種別"
 
 #. type: TP
 #: build/C/man7/namespaces.7:322
@@ -9712,6 +9830,8 @@ msgid ""
 "Optional statistics and configuration information.  Currently (as at Linux "
 "2.6.26), only NFS filesystems export information via this field."
 msgstr ""
+"統計情報と設定情報。 オプションフィールドである。 現在のところ (Linux 2.6.26 "
+"時点)、NFS ファイルシステムだけがこのフィールドで情報を公開している。"
 
 #
 #.  ==================== PID namespaces ====================
@@ -9719,32 +9839,32 @@ msgstr ""
 #: build/C/man7/namespaces.7:331
 #, no-wrap
 msgid "PID namespaces (CLONE_NEWPID)"
-msgstr ""
+msgstr "PID 名前空間 (CLONE_NEWPID)"
 
 #
 #.  ==================== User namespaces ====================
 #. type: Plain text
 #: build/C/man7/namespaces.7:337
 msgid "See B<pid_namespaces>(7)."
-msgstr ""
+msgstr "B<pid_namespaces>(7) 参照。"
 
 #. type: SS
 #: build/C/man7/namespaces.7:337
 #, no-wrap
 msgid "User namespaces (CLONE_NEWUSER)"
-msgstr ""
+msgstr "ユーザー名前空間 (CLONE_NEWUSER)"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:343 build/C/man7/namespaces.7:364
-#: build/C/man7/pid_namespaces.7:346
+#: build/C/man7/pid_namespaces.7:356
 msgid "See B<user_namespaces>(7)."
-msgstr ""
+msgstr "B<user_namespaces>(7) 参照。"
 
 #. type: SS
 #: build/C/man7/namespaces.7:343
 #, no-wrap
 msgid "UTS namespaces (CLONE_NEWUTS)"
-msgstr ""
+msgstr "UTS 名前空間 (CLONE_NEWUTS)"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:355
@@ -9754,6 +9874,9 @@ msgid ""
 "B<setdomainname>(2), and can be retrieved using B<uname>(2), "
 "B<gethostname>(2), and B<getdomainname>(2)."
 msgstr ""
+"UTS 名前空間は、 ホスト名と NIS ドメイン名の 2 つのシステム識別子を分離す"
+"る。 これらの識別子は B<sethostname>(2) と B<setdomainname>(2) を使って設定で"
+"き、 B<uname>(2), B<gethostname>(2), B<getdomainname>(2) を使って取得できる。"
 
 #. type: Plain text
 #: build/C/man7/namespaces.7:359
@@ -9761,9 +9884,11 @@ msgid ""
 "Use of UTS namespaces requires a kernel that is configured with the "
 "B<CONFIG_UTS_NS> option."
 msgstr ""
+"UTS 名前空間を使用するには、設定 B<CONFIG_UTS_NS> が有効になったカーネルが必"
+"要である。"
 
 #. type: Plain text
-#: build/C/man7/namespaces.7:361 build/C/man7/pid_namespaces.7:343
+#: build/C/man7/namespaces.7:361 build/C/man7/pid_namespaces.7:353
 #: build/C/man7/user_namespaces.7:648
 msgid "Namespaces are a Linux-specific feature."
 msgstr "名前空間は Linux 独自の機能である。"
@@ -9783,7 +9908,13 @@ msgstr ""
 #: build/C/man7/pid_namespaces.7:27
 #, no-wrap
 msgid "PID_NAMESPACES"
-msgstr ""
+msgstr "PID_NAMESPACES"
+
+#. type: TH
+#: build/C/man7/pid_namespaces.7:27 build/C/man2/seccomp.2:27
+#, no-wrap
+msgid "2015-01-10"
+msgstr "2015-01-10"
 
 #. type: Plain text
 #: build/C/man7/pid_namespaces.7:30
@@ -9793,7 +9924,7 @@ msgstr "pid_namespaces - Linux PID 名前空間の概要"
 #. type: Plain text
 #: build/C/man7/pid_namespaces.7:33 build/C/man7/user_namespaces.7:33
 msgid "For an overview of namespaces, see B<namespaces>(7)."
-msgstr ""
+msgstr "名前空間の概要については B<namespaces>(7) を参照。"
 
 #. type: Plain text
 #: build/C/man7/pid_namespaces.7:40
@@ -9804,6 +9935,11 @@ msgid ""
 "processes in the container and migrating the container to a new host while "
 "the processes inside the container maintain the same PIDs."
 msgstr ""
+"PID 名前空間はプロセス ID 番号空間を分離する。 これは、異なる PID 名前空間の"
+"プロセスは同じ PID を持つことができることを意味する。 PID 名前空間を使うこと"
+"で、コンテナー内のプロセス群を中断、再開したり、 コンテナー内のプロセスの "
+"PID を保持したままコンテナーを新しいホストに移行したりするといった機能をコン"
+"テナーが提供することが可能になる。"
 
 #. type: Plain text
 #: build/C/man7/pid_namespaces.7:48
@@ -9812,6 +9948,9 @@ msgid ""
 "and calls to B<fork>(2), B<vfork>(2), or B<clone>(2)  will produce processes "
 "with PIDs that are unique within the namespace."
 msgstr ""
+"新しい PID 名前空間の PID は、 独立したシステムであるかのように、 1 から始ま"
+"る。 B<fork>(2), B<vfork>(2), B<clone>(2) を呼び出すと、 その名前空間内で一意"
+"な PID でプロセスが生成される。"
 
 #
 #.  ============================================================
@@ -9821,12 +9960,14 @@ msgid ""
 "Use of PID namespaces requires a kernel that is configured with the "
 "B<CONFIG_PID_NS> option."
 msgstr ""
+"PID 名前空間を使用するには、設定 B<CONFIG_PID_NS> が有効になったカーネルが必"
+"要である。"
 
 #. type: SS
 #: build/C/man7/pid_namespaces.7:55
 #, no-wrap
 msgid "The namespace init process"
-msgstr ""
+msgstr "名前空間の init プロセス"
 
 #. type: Plain text
 #: build/C/man7/pid_namespaces.7:75
@@ -9841,6 +9982,15 @@ msgid ""
 "B<PR_SET_CHILD_SUBREAPER> command to mark itself as the reaper of orphaned "
 "descendant processes)."
 msgstr ""
+"新しい名前空間で作成される最初のプロセス (すなわち、B<CLONE_NEWPID> フラグで "
+"B<clone>(2) を使って作成されたプロセスや、 B<CLONE_NEWPID> フラグで "
+"B<unshare>(2) を呼び出した後のプロセスによって作成された最初のプロセス) は "
+"PID 1 を持ち、 そのプロセスはその名前空間の \"init\" プロセスとなる "
+"(B<init>(1) 参照)。 名前空間内でみなしごになった (親プロセスがいなくなった) "
+"子プロセスは、 B<init>(1) ではなくこのプロセスが親プロセスになる (ただし、 同"
+"じ PID 名前空間内のその子プロセスの先祖が、 B<prctl>(2) の "
+"B<PR_SET_CHILD_SUBREAPER> コマンドを使って、 自分自身をみなしごとなった子孫の"
+"プロセスの引き取り手になっている場合はこの限りではなく)。"
 
 #. type: Plain text
 #: build/C/man7/pid_namespaces.7:102
@@ -9859,6 +10009,17 @@ msgid ""
 "subsequently created by a B<fork>(2)  terminates, then subsequent calls to "
 "B<fork>(2)  will fail with B<ENOMEM>."
 msgstr ""
+"PID 名前空間の \"init\" プロセスが終了すると、 カーネルはその名前空間の全プロ"
+"セスを B<SIGKILL> シグナルで終了する。 この動作は、 PID 名前空間の正しい操作"
+"のためには \"init\" プロセスは不可欠であるという事実を反映したものである。 こ"
+"の場合、 その PID 名前空間へのそれ以降の B<fork>(2) はエラー B<ENOMEM> で失敗"
+"する。 \"init\" プロセスが終了している PID 名前空間に新しいプロセスを作成する"
+"ことはできない。 このような状況は、 例えば、 名前空間にいたプロセスに対応す"
+"る I</proc/[pid]/ns/pid> ファイルに対してオープンしたファイルディスクリプタを"
+"使って、 \"init\" プロセスが終了した後にその名前空間に B<setns>(2) を行った場"
+"合に起こり得る。 B<unshare>(2) を呼び出した後にも、この状況は起こり得る。 そ"
+"れ以降に B<fork>(2) で作成された最初の子プロセスが終了すると、 それ以降の "
+"B<fork>(2) の呼び出しは B<NOMEM> で失敗する。"
 
 #. type: Plain text
 #: build/C/man7/pid_namespaces.7:108
@@ -9868,6 +10029,10 @@ msgid ""
 "This restriction applies even to privileged processes, and prevents other "
 "members of the PID namespace from accidentally killing the \"init\" process."
 msgstr ""
+"PID 名前空間の他のメンバーは、 \"init\" プロセスがシグナルハンドラーを設定し"
+"たシグナルだけを、 \"init\" プロセスに送信することができる。 この制限は特権プ"
+"ロセスに対しても適用される。 この制限により、 PID 名前空間の他のメンバーが"
+"うっかり \"init\" プロセスを殺してしまうのを防ぐことができる。"
 
 #. type: Plain text
 #: build/C/man7/pid_namespaces.7:128
@@ -9883,6 +10048,15 @@ msgid ""
 "the usual actions associated with those signals (respectively, terminating "
 "and stopping the process)."
 msgstr ""
+"同様に、 先祖の名前空間のプロセスは、 \"init\" プロセスがそのシグナルに対する"
+"ハンドラーを設定している場合にのみ、 B<kill>(2) で説明されている通常のアクセ"
+"ス許可のチェックを経た上で、 子供の PID 名前空間の \"init\" プロセスにシグナ"
+"ルを送信できる。 (ハンドラー内では、 I<sigaction>(2) に説明がある "
+"I<siginfo_t> の I<si_pid> フィールドは 0 になる。) B<SIGKILL> と B<SIGSTOP> "
+"は例外として扱われ、 これらのシグナルが先祖の PID 名前空間から送信された場合"
+"には強制的に配送される。 これらのシグナルはどちらも \"init\" プロセルが捕捉す"
+"ることはできない。 そのため、これらのシグナルに関連付けられた通常のアクショ"
+"ン (それぞれ、プロセスの終了とプロセスの強制停止) が実行される。"
 
 #
 #.  ============================================================
@@ -9892,12 +10066,14 @@ msgid ""
 "Starting with Linux 3.4, the B<reboot>(2)  system call causes a signal to be "
 "sent to the namespace \"init\" process.  See B<reboot>(2)  for more details."
 msgstr ""
+"Linux 3.4 以降では、 B<reboot>(2) システムコールを呼び出すと、 シグナルがその"
+"名前空間の \"init\" プロセスに送信される。 詳細は B<reboot>(2) を参照。"
 
 #. type: SS
 #: build/C/man7/pid_namespaces.7:138
 #, no-wrap
 msgid "Nesting PID namespaces"
-msgstr ""
+msgstr "ネストされた PID 名前空間"
 
 #. type: Plain text
 #: build/C/man7/pid_namespaces.7:149
@@ -9908,6 +10084,11 @@ msgid ""
 "or B<unshare>(2).  PID namespaces thus form a tree, with all namespaces "
 "ultimately tracing their ancestry to the root namespace."
 msgstr ""
+"PID 名前空間は入れ子にすることができる。 最初の (\"root\") PID 名前空間以外の"
+"各 PID 名前空間は親を持つ。 PID 名前空間の親は B<clone>(2) や B<unshare>(2) "
+"を使ってその名前空間を作成したプロセスの PID 名前空間である。 したがって、 "
+"PID 名前空間は木構造を構成し、 すべての名前空間は親を辿って行くと、最終的に"
+"は root 名前空間に辿り着く。"
 
 #. type: Plain text
 #: build/C/man7/pid_namespaces.7:164
@@ -9922,6 +10103,14 @@ msgid ""
 "values with B<setpriority>(2), etc.) only processes contained in its own PID "
 "namespace and in descendants of that namespace."
 msgstr ""
+"プロセスは、所属する PID 名前空間の他のプロセスから見える。また、 root PID 名"
+"前空間に向かう直径の先祖の各 PID 名前空間のプロセスからも見える。 この場合、"
+"「見える」とは、 あるプロセスが、 他のプロセスがプロセス ID を指定するシステ"
+"ムコールを使う際に操作の対象にできることを意味する。 逆に、子供 PID 名前空間"
+"のプロセスから親や先祖の名前空間のプロセスは見えない。 あるプロセスは自分自身"
+"の PID 名前空間とその子孫の名前空間のプロセスだけが見える (例えば、"
+"B<kill>(2) でシグナルを送信したり、 B<setpriority>(2) で nice 値を設定した"
+"り、など)。"
 
 #. type: Plain text
 #: build/C/man7/pid_namespaces.7:176
@@ -9933,11 +10122,16 @@ msgid ""
 "namespace of the caller.  A call to B<getpid>(2)  always returns the PID "
 "associated with the namespace in which the process was created."
 msgstr ""
+"プロセスは、そのプロセスが見える PID 名前空間の階層の各層においてプロセス ID "
+"を一つ持ち、 直接の先祖の名前空間を辿ることで通って root PID 名前空間に至るこ"
+"とができる。 プロセス ID に対して操作を行うシステムコールは、常に、呼び出し元"
+"プロセスの PID 名前空間で見えるプロセス ID を使って操作を行う。 B<getpid>(2) "
+"の呼び出しでは、 常に、 プロセスが作成された名前空間に関連付けられた PID を返"
+"す。"
 
 #
-#.  ============================================================
 #. type: Plain text
-#: build/C/man7/pid_namespaces.7:194
+#: build/C/man7/pid_namespaces.7:191
 msgid ""
 "Some processes in a PID namespace may have parents that are outside of the "
 "namespace.  For example, the parent of the initial process in the namespace "
@@ -9947,15 +10141,32 @@ msgid ""
 "different PID namespace from the caller of B<setns>(2).  Calls to "
 "B<getppid>(2)  for such processes return 0."
 msgstr ""
+"PID 名前空間内のプロセスは名前空間の外部に親プロセスを持つことができる。 例え"
+"ば、その名前空間の初期プロセス (すなわち PID 1 を持つ B<init>(1) プロセス) の"
+"親プロセスは必然的に別の名前空間に属すことになる。 同様に、 あるプロセスが "
+"B<setns>(2) を使って子プロセスを PID 名前空間に参加させた場合、 子プロセスは "
+"B<setns>(2) の呼び出し元とは異なる PID 名前空間に属す。 子プロセスで "
+"B<getppid>(2) を呼び出すと 0 が返される。"
+
+#
+#.  ============================================================
+#. type: Plain text
+#: build/C/man7/pid_namespaces.7:204
+msgid ""
+"While processes may freely descend into child PID namespaces (e.g., using "
+"B<setns>(2)  with B<CLONE_NEWPID>), they may not move in the other "
+"direction.  That is to say, processes may not enter any ancestor namespaces "
+"(parent, grandparent, etc.).  Changing PID namespaces is a one way operation."
+msgstr "プロセスは (B<setns>(2) を B<CLONE_NEWPID> で使うなどで) 子供の PID 名前空間に自由に入ることができるが、 逆の方向には移動できない。 つまり、 プロセスは先祖の名前空間 (親、親の親など) に入ることはできない。 PID 名前空間の変更は一方向の操作である。"
 
 #. type: SS
-#: build/C/man7/pid_namespaces.7:194
+#: build/C/man7/pid_namespaces.7:204
 #, no-wrap
 msgid "setns(2) and unshare(2) semantics"
-msgstr ""
+msgstr "setns(2) と unshare(2) の動作"
 
 #. type: Plain text
-#: build/C/man7/pid_namespaces.7:210
+#: build/C/man7/pid_namespaces.7:220
 msgid ""
 "Calls to B<setns>(2)  that specify a PID namespace file descriptor and calls "
 "to B<unshare>(2)  with the B<CLONE_NEWPID> flag cause children subsequently "
@@ -9965,9 +10176,16 @@ msgid ""
 "PID (as reported by B<getpid>()), which would break many applications and "
 "libraries."
 msgstr ""
+"PID 名前空間のファイルディスクリプタを指定して B<setns>(2) を呼び出したり、 "
+"B<CLONE_NEWPID> フラグ付きで B<unshare>(2) を呼び出したりすると、 その結果作"
+"成された子プロセスは呼び出し元とは異なる PID 名前空間に置かれる。 しかし、こ"
+"れらの呼び出しでは呼び出し元プロセスの PID 名前空間は変更されない。 なぜな"
+"ら、PID 名前空間を変更してしまうと、 呼び出し元が認識する (B<getpid>() が返"
+"す) 自分の PID が変わってしまい、 多くのアプリケーションやライブラリが正しく"
+"動作しなくなるからである。"
 
 #. type: Plain text
-#: build/C/man7/pid_namespaces.7:218
+#: build/C/man7/pid_namespaces.7:228
 msgid ""
 "To put things another way: a process's PID namespace membership is "
 "determined when the process is created and cannot be changed thereafter.  "
@@ -9976,29 +10194,39 @@ msgid ""
 "parent of a process is either in the same namespace or resides in the "
 "immediate parent PID namespace."
 msgstr ""
+"別の言い方をすると、 あるプロセスがどの PID 名前空間に所属するかは、 そのプロ"
+"セスが作成されたときに決定され、 それ以降は変更されることはない。 いろいろあ"
+"るが、プロセス間の親子関係には、PID 名前空間の親子関係がそのまま反映されると"
+"いうことだ。 プロセスの親プロセスは、同じ名前空間にいるか、もしくは直接の親 "
+"PID 名前空間にいるかのいずれかである。"
 
 #. type: SS
-#: build/C/man7/pid_namespaces.7:218
+#: build/C/man7/pid_namespaces.7:228
 #, no-wrap
 msgid "Compatibility of CLONE_NEWPID with other CLONE_* flags"
-msgstr ""
+msgstr "CLONE_NEWPID の他の CLONE_* フラグとの互換性"
 
 #. type: Plain text
-#: build/C/man7/pid_namespaces.7:223
+#: build/C/man7/pid_namespaces.7:233
 msgid "B<CLONE_NEWPID> can't be combined with some other B<CLONE_*> flags:"
 msgstr ""
+"B<CLONE_NEWPID> はいくつかの他の B<CLONE_*> フラグと組み合わせることができな"
+"い。"
 
 #. type: Plain text
-#: build/C/man7/pid_namespaces.7:231
+#: build/C/man7/pid_namespaces.7:241
 msgid ""
-"B<CLONE_THREAD> requires being in the same PID namespace in order that that "
-"the threads in a process can send signals to each other.  Similarly, it must "
-"be possible to see all of the threads of a processes in the B<proc>(5)  "
+"B<CLONE_THREAD> requires being in the same PID namespace in order that the "
+"threads in a process can send signals to each other.  Similarly, it must be "
+"possible to see all of the threads of a processes in the B<proc>(5)  "
 "filesystem."
 msgstr ""
+"B<CLONE_THREAD> は、 プロセス内のスレッド間で互いにシグナルを送信できるように"
+"するため、 同じ PID 名前空間に属している必要がある。 同様に、 プロセス内の全"
+"スレッドが B<proc>(5) ファイルシステムで見える必要がある。"
 
 #. type: Plain text
-#: build/C/man7/pid_namespaces.7:242
+#: build/C/man7/pid_namespaces.7:252
 msgid ""
 "B<CLONE_SIGHAND> requires being in the same PID namespace; otherwise the "
 "process ID of the process sending a signal could not be meaningfully encoded "
@@ -10006,9 +10234,14 @@ msgid ""
 "B<sigaction>(2)).  A signal queue shared by processes in multiple PID "
 "namespaces will defeat that."
 msgstr ""
+"B<CLONE_SIGHAND> は、同じ PID 名前空間である必要がある。 さもなければ、 シグ"
+"ナルが送信された際に、シグナルを送信したプロセスのプロセス ID を意味のある形"
+"でエンコードすることができない (B<sigaction>(2) の I<siginfo_t> 型の説明を参"
+"照)。 複数の PID 名前空間に属するプロセス間で一つのシグナルキューを共有する"
+"と、うまく動かなくなる。"
 
 #. type: Plain text
-#: build/C/man7/pid_namespaces.7:252
+#: build/C/man7/pid_namespaces.7:262
 msgid ""
 "B<CLONE_VM> requires all of the threads to be in the same PID namespace, "
 "because, from the point of view of a core dump, if two processes share the "
@@ -10017,9 +10250,15 @@ msgid ""
 "dump.  Writing the process IDs could not meaningfully succeed if some of the "
 "process IDs were in a parent PID namespace."
 msgstr ""
+"B<CLONE_VM> は、全スレッドが同じ PID 名前空間に属している必要がある。 なぜな"
+"ら、 コアダンプの観点から見ると、 2 つのプロセスが同じアドレス空間を共有して"
+"いれば、 これらはスレッドであり、コアダンプが一緒に行われるからである。 コア"
+"ダンプが書き込まれる際に、 各スレッドの PID がコアダンプに書き込まれる。 もし"
+"プロセス ID のいくつかが親 PID 名前空間に属していたとすると、 プロセス ID の"
+"書き込みは意味を持たなくなってしまう。"
 
 #. type: Plain text
-#: build/C/man7/pid_namespaces.7:270
+#: build/C/man7/pid_namespaces.7:280
 msgid ""
 "To summarize: there is a technical requirement for each of B<CLONE_THREAD>, "
 "B<CLONE_SIGHAND>, and B<CLONE_VM> to share a PID namespace.  (Note "
@@ -10027,57 +10266,73 @@ msgid ""
 "B<CLONE_THREAD> or B<CLONE_SIGHAND> is specified.)  Thus, call sequences "
 "such as the following will fail (with the error B<EINVAL>):"
 msgstr ""
+"まとめると、 B<CLONE_THREAD>, B<CLONE_SIGHAND>, B<CLONE_VM> では技術的な要件"
+"として PID 名前空間が共有されている点がある。 (さらに B<clone>(2) では "
+"B<CLONE_THREAD> か B<CLONE_SIGHAND> が指定された際には B<CLONE_VM> が指定され"
+"ている必要がある点にも注意。) したがって、以下のような順序で呼び出しを行うと "
+"(エラー B<EINVAL> で) 失敗する。"
 
 #. type: Plain text
-#: build/C/man7/pid_namespaces.7:274
+#: build/C/man7/pid_namespaces.7:284
 #, no-wrap
 msgid ""
 "    unshare(CLONE_NEWPID);\n"
 "    clone(..., CLONE_VM, ...);    /* Fails */\n"
 msgstr ""
+"    unshare(CLONE_NEWPID);\n"
+"    clone(..., CLONE_VM, ...);    /* Fails */\n"
 
 #. type: Plain text
-#: build/C/man7/pid_namespaces.7:277
+#: build/C/man7/pid_namespaces.7:287
 #, no-wrap
 msgid ""
 "    setns(fd, CLONE_NEWPID);\n"
 "    clone(..., CLONE_VM, ...);    /* Fails */\n"
 msgstr ""
+"    setns(fd, CLONE_NEWPID);\n"
+"    clone(..., CLONE_VM, ...);    /* Fails */\n"
 
 #. type: Plain text
-#: build/C/man7/pid_namespaces.7:280
+#: build/C/man7/pid_namespaces.7:290
 #, no-wrap
 msgid ""
 "    clone(..., CLONE_VM, ...);\n"
 "    setns(fd, CLONE_NEWPID);      /* Fails */\n"
 msgstr ""
+"    clone(..., CLONE_VM, ...);\n"
+"    setns(fd, CLONE_NEWPID);      /* Fails */\n"
 
 #. type: Plain text
-#: build/C/man7/pid_namespaces.7:283
+#: build/C/man7/pid_namespaces.7:293
 #, no-wrap
 msgid ""
 "    clone(..., CLONE_VM, ...);\n"
 "    unshare(CLONE_NEWPID);        /* Fails */\n"
 msgstr ""
+"    clone(..., CLONE_VM, ...);\n"
+"    unshare(CLONE_NEWPID);        /* Fails */\n"
 
 #
 #.  ============================================================
 #. type: SS
-#: build/C/man7/pid_namespaces.7:287
+#: build/C/man7/pid_namespaces.7:297
 #, no-wrap
 msgid "/proc and PID namespaces"
-msgstr ""
+msgstr "/proc と PID 名前空間"
 
 #. type: Plain text
-#: build/C/man7/pid_namespaces.7:296
+#: build/C/man7/pid_namespaces.7:306
 msgid ""
 "A I</proc> filesystem shows (in the I</proc/PID> directories) only processes "
 "visible in the PID namespace of the process that performed the mount, even "
 "if the I</proc> filesystem is viewed from processes in other namespaces."
 msgstr ""
+"I</proc> ファイルシステムは、I</proc> のマウントを行ったプロセスの PID 名前空"
+"間で見えるプロセスだけを表示する。 たとえ、 その I</proc> ファイルシステムが"
+"他の名前空間のプロセスから参照されたとしても、そうである。"
 
 #. type: Plain text
-#: build/C/man7/pid_namespaces.7:315
+#: build/C/man7/pid_namespaces.7:325
 msgid ""
 "After creating a new PID namespace, it is useful for the child to change its "
 "root directory and mount a new procfs instance at I</proc> so that tools "
@@ -10086,22 +10341,28 @@ msgid ""
 "of B<clone>(2)  or B<unshare>(2), then it isn't necessary to change the root "
 "directory: a new procfs instance can be mounted directly over I</proc>."
 msgstr ""
+"新しい PID 名前空間を作成した後、 子プロセスが、自身の root ディレクトリを変"
+"更し、新しい procfs インスタンスを I</proc> にマウントするのは B<ps>(1) など"
+"のツールが正しく動作するためにも有用である。 B<clone>(2) の I<flags> 引き数"
+"に B<CLONE_NEWNS> も指定されて新しいマウント名前空間が同時に作成された場合"
+"は、 root ディレクトリを変更する必要はない。 新しい procfs インスタンスを I</"
+"proc> にそのままマウントすることができる。"
 
 #. type: Plain text
-#: build/C/man7/pid_namespaces.7:319
+#: build/C/man7/pid_namespaces.7:329
 msgid "From a shell, the command to mount I</proc> is:"
-msgstr ""
+msgstr "シェルから、コマンドで I</proc> のマウントを行うには次のようにする。"
 
 #. type: Plain text
-#: build/C/man7/pid_namespaces.7:321
+#: build/C/man7/pid_namespaces.7:331
 #, no-wrap
 msgid "    $ mount -t proc proc /proc\n"
-msgstr ""
+msgstr "    $ mount -t proc proc /proc\n"
 
 #
 #.  ============================================================
 #. type: Plain text
-#: build/C/man7/pid_namespaces.7:333
+#: build/C/man7/pid_namespaces.7:343
 msgid ""
 "Calling B<readlink>(2)  on the path I</proc/self> yields the process ID of "
 "the caller in the PID namespace of the procfs mount (i.e., the PID namespace "
@@ -10109,24 +10370,30 @@ msgid ""
 "introspection purposes, when a process wants to discover its PID in other "
 "namespaces."
 msgstr ""
+"パス I</proc/self> に対して B<readlink>(2) を呼び出すと、 procfs のマウントを"
+"行ったプロセスの PID 名前空間におけるプロセス ID が得られる。 これは調査目的"
+"でプロセスが他の名前空間で自身の PID を知りたい場合などに役立つ。"
 
 #. type: SS
-#: build/C/man7/pid_namespaces.7:333 build/C/man7/user_namespaces.7:635
+#: build/C/man7/pid_namespaces.7:343 build/C/man7/user_namespaces.7:635
 #, no-wrap
 msgid "Miscellaneous"
-msgstr ""
+msgstr "その他"
 
 #. type: Plain text
-#: build/C/man7/pid_namespaces.7:341
+#: build/C/man7/pid_namespaces.7:351
 msgid ""
 "When a process ID is passed over a UNIX domain socket to a process in a "
 "different PID namespace (see the description of B<SCM_CREDENTIALS> in "
 "B<unix>(7)), it is translated into the corresponding PID value in the "
 "receiving process's PID namespace."
 msgstr ""
+"プロセス ID が UNIX ドメインソケット経由で別の PID 名前空間のプロセスに渡され"
+"る場合 (B<unix>(7) の B<SCM_CREDENTIALS> の説明を参照)、 プロセス ID は受信プ"
+"ロセスの PID 名前空間での対応する PID 値に翻訳される。"
 
 #. type: Plain text
-#: build/C/man7/pid_namespaces.7:355
+#: build/C/man7/pid_namespaces.7:365
 msgid ""
 "B<clone>(2), B<setns>(2), B<unshare>(2), B<proc>(5), B<credentials>(7), "
 "B<capabilities>(7), B<user_namespaces>(7), B<switch_root>(8)"
@@ -10200,11 +10467,15 @@ msgid ""
 "is UID 0; it is a grave security error to omit checking for a failure return "
 "from B<seteuid>()."
 msgstr ""
+"I<注意>: 呼び出し元が UID 0 であっても B<seteuid>() が失敗する場合がある。 "
+"B<seteuid>() からのリターンが失敗かどうかの確認を省略することは重大なセキュリ"
+"ティ上のエラーとなる。"
 
 #. type: Plain text
 #: build/C/man2/seteuid.2:83
 msgid "The target user or group ID is not valid in this user namespace."
 msgstr ""
+"対象のユーザー ID かグループ ID がこのユーザー名前空間では有効ではない。"
 
 #. type: Plain text
 #: build/C/man2/seteuid.2:99
@@ -10239,16 +10510,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/seteuid.2:123
-#, fuzzy
-#| msgid ""
-#| "Under libc4, libc5 and glibc 2.0 B<seteuid(>I<euid>B<)> is equivalent to "
-#| "B<setreuid(-1,>I< euid>B<)> and hence may change the saved set-user-ID.  "
-#| "Under glibc 2.1 and later it is equivalent to B<setresuid(-1,>I< euid>B<, "
-#| "-1)> and hence does not change the saved set-user-ID.  Analogous remarks "
-#| "hold for B<setegid>(), with the difference that the change in "
-#| "implementation from B<setregid(-1,>I< egid>B<)> to B<setresgid(-1,>I< "
-#| "egid>B<, -1)> occurred in glibc 2.2 or 2.3 (depending on the hardware "
-#| "architecture)."
 msgid ""
 "Under glibc 2.0 B<seteuid(>I<euid>B<)> is equivalent to B<setreuid(-1,>I< "
 "euid>B<)> and hence may change the saved set-user-ID.  Under glibc 2.1 and "
@@ -10258,10 +10519,10 @@ msgid ""
 "egid>B<)> to B<setresgid(-1,>I< egid>B<, -1)> occurred in glibc 2.2 or 2.3 "
 "(depending on the hardware architecture)."
 msgstr ""
-"libc4, libc5, glibc 2.0 では、 B<seteuid(>I<euid>B<)> は B<setreuid(-1,>I< "
-"euid>B<)> と等価であり、保存 set-user-ID を変更するかもしれない。 glibc 2.1 "
-"では、 B<setresuid(-1,>I< euid>B<, -1)> と等価であり、保存 set-user-ID 変更し"
-"ない。 同様のことが B<setegid>() にも言えるが、 glibc 2.2 か 2.3 で、 実装が "
+"glibc 2.0 では、 B<seteuid(>I<euid>B<)> は B<setreuid(-1,>I< euid>B<)> と等価"
+"であり、保存 set-user-ID を変更するかもしれない。 glibc 2.1 では、 "
+"B<setresuid(-1,>I< euid>B<, -1)> と等価であり、保存 set-user-ID 変更しない。 "
+"同様のことが B<setegid>() にも言えるが、 glibc 2.2 か 2.3 で、 実装が "
 "B<setregid(-1,>I< egid>B<)> から B<setresgid(-1,>I< egid>B<, -1)> へ変更され"
 "た点だけが違う (どの glibc バージョンで変更が行われたかは、ハードウェアアーキ"
 "テクチャによって異なる)。"
@@ -10284,6 +10545,8 @@ msgid ""
 "On Linux, B<seteuid>()  and B<setegid>()  are implemented as library "
 "functions that call, respectively, B<setreuid>(2)  and B<setresgid>(2)."
 msgstr ""
+"Linux では、 B<seteuid>() と B<setegid>() は、それぞれ B<setreuid>(2) と "
+"B<setresgid>(2) を呼び出すライブラリ関数として実装されている。"
 
 #. type: Plain text
 #: build/C/man2/seteuid.2:149
@@ -10655,6 +10918,7 @@ msgstr ""
 #: build/C/man2/setgid.2:64
 msgid "The group ID specified in I<gid> is not valid in this user namespace."
 msgstr ""
+"I<gid> で指定されたグループ ID がこのユーザー名前空間では有効ではない。"
 
 #. type: Plain text
 #: build/C/man2/setgid.2:71
@@ -11191,6 +11455,9 @@ msgid ""
 "is UID 0; it is a grave security error to omit checking for a failure return "
 "from B<setresuid>()."
 msgstr ""
+"I<注意>: 呼び出し元が UID 0 であっても B<setresuid>() が失敗する場合がある。 "
+"B<setresuid>() からのリターンが失敗かどうかの確認を省略することは重大なセキュ"
+"リティ上のエラーとなる。"
 
 #. type: TP
 #: build/C/man2/setresuid.2:77 build/C/man2/setresuid.2:84
@@ -11207,6 +11474,9 @@ msgid ""
 "the caller's real UID), but there was a temporary failure allocating the "
 "necessary kernel data structures."
 msgstr ""
+"この呼び出しで呼び出し元の実 UID が変更されるはずだったが (つまり、 I<ruid> "
+"が呼び出し元の実 UID と一致していない)、 必要なカーネルのデータ構造体の割り当"
+"てで一時的な失敗があった。"
 
 #. type: Plain text
 #: build/C/man2/setresuid.2:99 build/C/man2/setreuid.2:128
@@ -11217,6 +11487,11 @@ msgid ""
 "occurs (but robust applications should check for this error); see the "
 "description of B<EAGAIN> in B<execve>(2)."
 msgstr ""
+"I<ruid> は呼び出し元の実 UID と一致しておらず、 この呼び出しで実ユーザー ID "
+"I<ruid> に属するプロセス数が呼び出し元の B<RLIMIT_NPROC> リソース上限を超過す"
+"るところであった。 Linux 3.1 以降では、このエラーはもはや発生することはない "
+"(しかし、堅牢性が求められるアプリケーションではこのエラーを確認すべきであ"
+"る)。 B<execve>(2) の B<EAGAIN> の説明を参照。"
 
 #. type: Plain text
 #: build/C/man2/setresuid.2:103 build/C/man2/setreuid.2:132
@@ -11224,6 +11499,8 @@ msgid ""
 "One or more of the target user or group IDs is not valid in this user "
 "namespace."
 msgstr ""
+"対象のユーザー ID やグループ ID のうち 1 つ以上がこのユーザー名前空間で有効で"
+"はない。"
 
 #. type: Plain text
 #: build/C/man2/setresuid.2:107
@@ -11375,6 +11652,9 @@ msgid ""
 "is UID 0; it is a grave security error to omit checking for a failure return "
 "from B<setreuid>()."
 msgstr ""
+"I<注意>: 呼び出し元が UID 0 であっても B<setreuid>() が失敗する場合がある。 "
+"B<setreuid>() からのリターンが失敗かどうかの確認を省略することは重大なセキュ"
+"リティ上のエラーとなる。"
 
 #. type: Plain text
 #: build/C/man2/setreuid.2:148
@@ -11486,15 +11766,6 @@ msgstr "B<pid_t setsid(void);>"
 
 #. type: Plain text
 #: build/C/man2/setsid.2:50
-#, fuzzy
-#| msgid ""
-#| "B<setsid>()  creates a new session if the calling process is not a "
-#| "process group leader.  The calling process is the leader of the new "
-#| "session, the process group leader of the new process group, and has no "
-#| "controlling terminal.  The process group ID and session ID of the calling "
-#| "process are set to the PID of the calling process.  The calling process "
-#| "will be the only process in this new process group and in this new "
-#| "session."
 msgid ""
 "B<setsid>()  creates a new session if the calling process is not a process "
 "group leader.  The calling process is the leader of the new session (i.e., "
@@ -11502,12 +11773,12 @@ msgid ""
 "becomes the process group leader of a new process group in the session (i."
 "e., its process group ID is made the same as it process ID)."
 msgstr ""
-"B<setsid>()  は呼び出したプロセスがプロセスグループ・リーダー (process group "
-"leader) でなければ、新しいセッションを作成する。 呼び出したプロセスは新しい"
-"ã\82»ã\83\83ã\82·ã\83§ã\83³ã\81®ã\83ªã\83¼ã\83\80ã\83¼ã\80\81æ\96°ã\81\97ã\81\84ã\83\97ã\83­ã\82»ã\82¹ã\82°ã\83«ã\83¼ã\83\97ã\81® ã\83\97ã\83­ã\82»ã\82¹ã\82°ã\83«ã\83¼ã\83\97ã\83»ã\83ªã\83¼ã\83\80ã\83¼ã\81¨ã\81ª"
-"ã\82\8aã\80\81端æ\9c«ã\81®å\88¶å¾¡ã\82\92æ\8c\81ã\81\9fã\81ªã\81\84ã\80\82 å\91¼ã\81³å\87ºã\81\97ã\81\9fã\83\97ã\83­ã\82»ã\82¹ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\82°ã\83«ã\83¼ã\83\97 ID ã\81¨ã\82»ã\83\83ã\82·ã\83§"
-"ã\83³ ID ã\81«ã\81¯ã\80\81 å\91¼ã\81³å\87ºã\81\97ã\81\9fã\83\97ã\83­ã\82»ã\82¹ã\81® PID ã\81\8c設å®\9aã\81\95ã\82\8cã\82\8bã\80\82å\91¼ã\81³å\87ºã\81\97ã\81\9fã\83\97ã\83­ã\82»ã\82¹ã\81¯ã\81\93ã\81® "
-"新しいプロセスグループ、この新しいセッションの唯一のプロセスとなる。"
+"B<setsid>() は、 呼び出したプロセスがプロセスグループ・リーダー (process "
+"group leader) でなければ、 新しいセッションを作成する。 呼び出したプロセス"
+"ã\81¯ã\80\81 æ\96°ã\81\97ã\81\84ã\82»ã\83\83ã\82·ã\83§ã\83³ã\81®ã\83ªã\83¼ã\83\80ã\83¼ã\81¨ã\81ªã\82\8b (ã\81\99ã\81ªã\82\8fã\81¡ã\80\81ã\81\9dã\81®ã\82»ã\83\83ã\82·ã\83§ã\83³ ID ã\81\8cã\83\97ã\83­ã\82»"
+"ã\82¹ ID ã\81¨å\90\8cã\81\98å\80¤ã\81«ã\81ªã\82\8b\80\82 ã\81¾ã\81\9fã\80\81å\91¼ã\81³å\87ºã\81\97ã\81\9fã\83\97ã\83­ã\82»ã\82¹ã\81¯ã\80\81 ã\81\9dã\81®ã\82»ã\83\83ã\82·ã\83§ã\83³ã\81®æ\96°ã\81\97ã\81\84ã\83\97"
+"ã\83­ã\82»ã\82¹ã\82°ã\83«ã\83¼ã\83\97ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\82°ã\83«ã\83¼ã\83\97ã\83»ã\83ªã\83¼ã\83\80ã\83¼ã\81«ã\82\82ã\81ªã\82\8b (ã\81\99ã\81ªã\82\8fã\81¡ã\80\81ã\83\97ã\83­ã\82»ã\82¹ã\82°ã\83«ã\83¼"
+"プ ID がプロセス ID と同じ値になる)。"
 
 #. type: Plain text
 #: build/C/man2/setsid.2:54
@@ -11515,6 +11786,8 @@ msgid ""
 "The calling process will be the only process in the new process group and in "
 "the new session.  The new session has no controlling terminal."
 msgstr ""
+"呼び出したプロセスは、 新しいプロセスグループと新しいセッションの唯一のプロセ"
+"スとなる。 新しいセッションは制御端末を持たない。"
 
 #. type: Plain text
 #: build/C/man2/setsid.2:61
@@ -11524,7 +11797,7 @@ msgid ""
 "error."
 msgstr ""
 "成功すると、呼び出したプロセスの (新しい) セッション ID が返される。 エラーの"
-"場合は、 I<(pid_t)\\ -1> が返され、 I<error> にエラーを示す値が設定される。"
+"場合は、 I<(pid_t)\\ -1> が返され、 I<errno> にエラーを示す値が設定される。"
 
 #. type: Plain text
 #: build/C/man2/setsid.2:68
@@ -11550,13 +11823,21 @@ msgstr ""
 #: build/C/man2/setsid.2:93
 msgid ""
 "A process group leader is a process whose process group ID equals its PID.  "
-"Disallowing a process group leader from calling B<setsid()> prevents the "
+"Disallowing a process group leader from calling B<setsid>()  prevents the "
 "possibility that a process group leader places itself in a new session while "
 "other processes in the process group remain in the original session; such a "
 "scenario would break the strict two-level hierarchy of sessions and process "
 "groups.  In order to be sure that B<setsid>()  will succeed, B<fork>(2)  and "
 "B<_exit>(2), and have the child do B<setsid>()."
 msgstr ""
+"プロセスグループ・リーダーは、 プロセスグループ ID がその PID と同じ値のプロ"
+"セスである。 プロセスグループ・リーダーが B<setsid>() を呼び出すことを許可し"
+"ないと、 そのプロセスグループ内の他のプロセスを元のセッションに残したまま、 "
+"プロセスグループ・リーダーが自分自身を新しいセッションに入れるということがで"
+"きなくなる。 このようなシナリオは、 セッションとプロセスグループという厳密な "
+"2 階層モデルを壊すことになる。 B<setsid>() が成功することを保証するには、 "
+"B<fork>(2) と B<_exit>(2) を行い、 その子プロセスに B<setsid>() をさせればよ"
+"い。"
 
 #. type: Plain text
 #: build/C/man2/setsid.2:100
@@ -11642,6 +11923,9 @@ msgid ""
 "UID 0; it is a grave security error to omit checking for a failure return "
 "from B<setuid>()."
 msgstr ""
+"I<注意>: 呼び出し元が UID 0 であっても B<setuid>() が失敗する場合がある。 "
+"B<setuid>() からのリターンが失敗かどうかの確認を省略することは重大なセキュリ"
+"ティ上のエラーとなる。"
 
 #. type: Plain text
 #: build/C/man2/setuid.2:90
@@ -11650,6 +11934,9 @@ msgid ""
 "caller's real UID), but there was a temporary failure allocating the "
 "necessary kernel data structures."
 msgstr ""
+"この呼び出しで呼び出し元の実 UID が変更されるはずだったが (つまり、 I<uid> が"
+"呼び出し元の実 UID と一致していない)、 必要なカーネルのデータ構造体の割り当て"
+"で一時的な失敗があった。"
 
 #. type: Plain text
 #: build/C/man2/setuid.2:105
@@ -11660,11 +11947,17 @@ msgid ""
 "no longer occurs (but robust applications should check for this error); see "
 "the description of B<EAGAIN> in B<execve>(2)."
 msgstr ""
+"I<uid> は呼び出し元の実 UID と一致しておらず、 この呼び出しで実ユーザー ID "
+"I<ruid> に属するプロセス数が呼び出し元の B<RLIMIT_NPROC> リソース上限を超過す"
+"るところであった。 Linux 3.1 以降では、このエラーはもはや発生することはない "
+"(しかし、堅牢性が求められるアプリケーションではこのエラーを確認すべきであ"
+"る)。 B<execve>(2) の B<EAGAIN> の説明を参照。"
 
 #. type: Plain text
 #: build/C/man2/setuid.2:110
 msgid "The user ID specified in I<uid> is not valid in this user namespace."
 msgstr ""
+"I<uid> で指定されたユーザー ID がこのユーザー名前空間では有効ではない。"
 
 #. type: Plain text
 #: build/C/man2/setuid.2:117
@@ -12375,7 +12668,7 @@ msgstr ""
 #: build/C/man7/svipc.7:331
 #, no-wrap
 msgid "IPC namespaces"
-msgstr ""
+msgstr "IPC 名前空間"
 
 #. type: Plain text
 #: build/C/man7/svipc.7:335
@@ -12383,6 +12676,8 @@ msgid ""
 "For a discussion of the interaction of System V IPC objects and IPC "
 "namespaces, see B<namespaces>(7)."
 msgstr ""
+"System V IPC オブジェクトと IPC 名前空間の相互の影響に関する議論は "
+"B<namespaces>(7) を参照。"
 
 #. type: Plain text
 #: build/C/man7/svipc.7:353
@@ -12525,14 +12820,12 @@ msgstr "B<bash>(1), B<getrlimit>(2), B<setrlimit>(2), B<sysconf>(3)"
 #: build/C/man7/user_namespaces.7:27
 #, no-wrap
 msgid "USER_NAMESPACES"
-msgstr ""
+msgstr "USER_NAMESPACES"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:30
-#, fuzzy
-#| msgid "namespaces - overview of Linux namespaces"
 msgid "user_namespaces - overview of Linux user namespaces"
-msgstr "namespaces - Linux 名前空間の概要"
+msgstr "user_namespaces - Linux ユーザー名前空間の概要"
 
 #
 #.  FIXME: This page says very little about the interaction
@@ -12550,13 +12843,13 @@ msgid ""
 "a user ID of 0 inside the namespace; in other words, the process has full "
 "privileges for operations inside the user namespace, but is unprivileged for "
 "operations outside the namespace."
-msgstr ""
+msgstr "ユーザー名前空間は、 セキュリティに関連する識別子や属性、 特にユーザー ID やグループ ID (B<credentials>(7) 参照)、 root ディレクトリ、 キー (B<keyctl>(2) 参照)、 ケーパビリティを分離する。 プロセスのユーザー ID とグループ ID はユーザー名前空間の内部と外部で異なる場合がある。 特に、 あるプロセスがユーザー名前空間の外部では通常の非特権ユーザー ID を持つが、 同時にユーザー名前空間の内部ではユーザー ID 0 を持つという場合がある。 言い換えると、 そのプロセスはそのユーザー名前空間の内部での操作に対してすべての特権を持つが、 名前空間の外部での操作では特権を持たない。"
 
 #. type: SS
 #: build/C/man7/user_namespaces.7:56
 #, no-wrap
 msgid "Nested namespaces, namespace membership"
-msgstr ""
+msgstr "ネストされた名前空間、名前空間のメンバー"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:69
@@ -12566,7 +12859,7 @@ msgid ""
 "zero or more child user namespaces.  The parent user namespace is the user "
 "namespace of the process that creates the user namespace via a call to "
 "B<unshare>(2)  or B<clone>(2)  with the B<CLONE_NEWUSER> flag."
-msgstr ""
+msgstr "ユーザー名前空間は入れ子にすることができる。 つまり、 最初の (\"root\") 名前空間以外の各名前空間は親のユーザー名前空間を持ち、 0 個以上のユーザー名前空間を持つということである。 親のユーザー名前空間は、 B<CLONE_NEWUSER> フラグを指定して B<unshare>(2) や B<clone>(2) を呼び出してユーザー名前空間を作成したプロセスのユーザー名前空間である。"
 
 #.  commit 8742f229b635bf1c1c84a3dfe5e47c814c20b5c8
 #.  FIXME Explain the rationale for this limit. (What is the rationale?)
@@ -12576,7 +12869,7 @@ msgid ""
 "The kernel imposes (since version 3.11) a limit of 32 nested levels of user "
 "namespaces.  Calls to B<unshare>(2)  or B<clone>(2)  that would cause this "
 "limit to be exceeded fail with the error B<EUSERS>."
-msgstr ""
+msgstr "カーネルにより (バージョン 3.11 以降では) ユーザー名前空間のネスト数に 32 という上限が課される。 B<unshare>(2) や B<clone>(2) の呼び出しでこの上限を超えてしまう場合はエラー B<EUSERS> で失敗する。"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:95
@@ -12587,7 +12880,7 @@ msgid ""
 "can join another user namespace with B<setns>(2)  if it has the "
 "B<CAP_SYS_ADMIN> in that namespace; upon doing so, it gains a full set of "
 "capabilities in that namespace."
-msgstr ""
+msgstr "各プロセスは必ず 1 個のユーザー名前空間のメンバーとなる。 B<CLONE_NEWUSER> フラグを指定せずに B<fork>(2) や B<clone>(2) でプロセスを作成した場合、 そのプロセスは親プロセスと同じユーザー名前空間のメンバーとなる。 シングルスレッドのプログラムは、 変更先のユーザー名前空間で B<CAP_SYS_ADMIN> を持っていれば、 B<setns>(2) を使って別のユーザー名前空間に参加することができる。 変更時に、 変更後の名前空間ですべてのケーパビリティを獲得する。"
 
 #
 #.  ============================================================
@@ -12597,7 +12890,7 @@ msgid ""
 "A call to B<clone>(2)  or B<unshare>(2)  with the B<CLONE_NEWUSER> flag "
 "makes the new child process (for B<clone>(2))  or the caller (for "
 "B<unshare>(2))  a member of the new user namespace created by the call."
-msgstr ""
+msgstr "B<CLONE_NEWUSER> を指定して B<clone>(2) や B<unshare>(2) を呼び出すと、 新しいプロセス (B<clone>(2) の場合) や呼び出したプロセス (B<unshare>(2) の場合) がその呼び出しで作成された新しいユーザー名前空間のメンバーとなる。"
 
 #. type: SS
 #: build/C/man7/user_namespaces.7:110
@@ -12617,7 +12910,7 @@ msgid ""
 "case of B<unshare>(2)  and B<setns>(2))  user namespace, even if the new "
 "namespace is created or joined by the root user (i.e., a process with user "
 "ID 0 in the root namespace)."
-msgstr ""
+msgstr "B<CLONE_NEWUSER> フラグが指定された B<clone>(2) で作成された子プロセスは、 新しい名前空間ですべてのケーパビリティを持った状態で開始される。 同様に、 B<unshare>(2) を使って新しいユーザー名前空間を作成したり、 B<setns>(2) を使って既存のユーザー名前空間に参加したりしたプロセスは、 その名前空間ですべてのケーパビリティを獲得する。 一方、 そのプロセスは、親のユーザー名前空間 (B<clone>(2) の場合) や直前のユーザー名前空間 (B<unshare>(2) や B<setns>(2) の場合) では、 root ユーザー (root 名前空間のユーザー ID 0 のプロセス) により新しい名前空間の作成や参加が行われた場合であっても、 ケーパビリティを全く持たない。"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:142
@@ -12627,7 +12920,7 @@ msgid ""
 "unless it has a user ID of 0 within the namespace or the executable file has "
 "a nonempty inheritable capabilities mask, it will lose all capabilities.  "
 "See the discussion of user and group ID mappings, below."
-msgstr ""
+msgstr "B<execve>(2) の呼び出しでは、 プロセスのケーパビリティは通常の方法 (B<capabilities>(7) 参照) で再計算され、 通常は、 名前空間内でユーザー ID 0 を持つ場合や実行ファイルが空でない継承可能ケーパビリティマスクを持っている場合を除くと、 すべてのケーパビリティを失うことになる。 下記の、ユーザー ID やグループ ID のマッピングの議論を参照。"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:167
@@ -12641,7 +12934,7 @@ msgid ""
 "reset its \"securebits\" flags while retaining its user namespace membership "
 "by using a pair of B<setns>(2)  calls to move to another user namespace and "
 "then return to its original user namespace."
-msgstr ""
+msgstr "B<CLONE_NEWUSER> フラグを使って B<clone>(2), B<unshare>(2), B<setns>(2) を呼び出すと、 子プロセス (B<clone>(2) の場合) や呼び出し元 (B<unshare>(2) や B<setns>(2) の場合) では \"securebits\" フラグ (B<capabilities>(7) 参照) がデフォルト値に設定される。 呼び出し元は B<setns>(2) の呼び出し後は元のユーザー名前空間ではケーパビリティを持たないので、 B<setns>(2) を 2 回呼び出して一度別のユーザー名前空間に移動して元のユーザー名前空間に戻ることで、 プロセスが元のユーザー名前空間にとどまりつつ自身の \"securebits\" フラグを再設定することはできない。"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:173
@@ -12650,7 +12943,7 @@ msgid ""
 "operations (that require privilege)  only on resources governed by that "
 "namespace.  The rules for determining whether or not a process has a "
 "capability in a particular user namespace are as follows:"
-msgstr ""
+msgstr "ユーザー名前空間内部でケーパビリティを持つというのは、 そのプロセスがその名前空間の支配下にあるリソースに対してのみ (特権を必要とする) 操作を実行できるということである。 プロセスが特定のユーザー名前空間でケーパビリティを持つかどうかを判定するルールは以下の通りである。"
 
 #.  In the 3.8 sources, see security/commoncap.c::cap_capable():
 #. type: Plain text
@@ -12663,14 +12956,14 @@ msgid ""
 "with associated file capabilities.  In addition, a process may gain "
 "capabilities via the effect of B<clone>(2), B<unshare>(2), or B<setns>(2), "
 "as already described."
-msgstr ""
+msgstr "プロセスがその名前空間のメンバーで、実効ケーパビリティセットにそのケーパビリティがあれば、 そのプロセスはユーザー名前空間内でケーパビリティを持つ。 プロセスが実効ケーパビリティセットでケーパビリティを得るにはいくつかの方法がある。 例えば、 set-user-ID プログラムや関連するファイルケーパビリティを持った実行ファイルを実行する。 また、 すでに説明したとおり、 プロセスは B<clone>(2), B<unshare>(2), B<setns>(2) の結果としてケーパビリティを獲得することもできる。"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:193
 msgid ""
 "If a process has a capability in a user namespace, then it has that "
 "capability in all child (and further removed descendant)  namespaces as well."
-msgstr ""
+msgstr "プロセスがユーザー名前空間でケーパビリティを持っている場合、 そのプロセスはすべての子供の名前空間 (および削除された子孫の名前空間) でケーパビリティを持つ。"
 
 #
 #.  * The owner of the user namespace in the parent of the
@@ -12691,13 +12984,13 @@ msgid ""
 "matches the owner of the namespace has all capabilities in the namespace.  "
 "By virtue of the previous rule, this means that the process has all "
 "capabilities in all further removed descendant user namespaces as well."
-msgstr ""
+msgstr "ユーザー名前空間が作成された際、 カーネルはその名前空間の「所有者」として作成したプロセスの実効ユーザー ID を記録する。 親のユーザー名前空間に属するプロセスで、 そのプロセスの実効ユーザー ID が名前空間の所有者と一致する場合、 そのプロセスはその名前空間ですべてのケーパビリティを持つ。 一つ前のルールも合わせて考えると、 このプロセスはすべての削除された子孫のユーザー名前空間ですべてのケーパビリティを持つことを意味する。"
 
 #. type: SS
 #: build/C/man7/user_namespaces.7:214
 #, no-wrap
 msgid "Interaction of user namespaces and other types of namespaces"
-msgstr ""
+msgstr "ユーザー名前空間と他の名前空間の関係"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:219
@@ -12705,7 +12998,7 @@ msgid ""
 "Starting in Linux 3.8, unprivileged processes can create user namespaces, "
 "and mount, PID, IPC, network, and UTS namespaces can be created with just "
 "the B<CAP_SYS_ADMIN> capability in the caller's user namespace."
-msgstr ""
+msgstr "Linux 3.8 以降では、 非特権プロセスがユーザー名前空間を作成することができる。 また、 呼び出し元のユーザー名前空間で B<CAP_SYS_ADMIN> ケーパビリティを持っているだけで、 マウント名前空間、 PID 名前空間、 IPC 名前空間、 ネットワーク名前空間、 UTS 名前空間を作成できる。"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:225
@@ -12714,7 +13007,7 @@ msgid ""
 "which the creating process was a member at the time of the creation of the "
 "namespace.  Actions on the non-user-namespace require capabilities in the "
 "corresponding user namespace."
-msgstr ""
+msgstr "ユーザー名前空間以外の名前空間が作成された場合、 その名前空間は呼び出したプロセスが名前空間の作成時にメンバーであったユーザー名前空間により所有される。 ユーザー名前空間以外の名前空間における操作には、 対応するユーザー名前空間でのケーパビリティが必要である。"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:242
@@ -12725,7 +13018,7 @@ msgid ""
 "(B<unshare>(2))  privileges over the remaining namespaces created by the "
 "call.  Thus, it is possible for an unprivileged caller to specify this "
 "combination of flags."
-msgstr ""
+msgstr "一つの B<clone>(2) や B<unshare>(2) の呼び出しで B<CLONE_NEWUSER> が他の B<CLONE_NEW*> フラグと一緒に指定された場合、 そのユーザー名前空間が最初に作成されることが保証され、 子プロセス (B<clone>(2) の場合) や呼び出し元 (B<unshare>(2) の場合) はその呼び出しで作成される残りの名前空間で特権を持つ。 したがって、 特権を持たない呼び出し元がフラグを組み合わせて指定することができる。"
 
 #
 #.  ============================================================
@@ -12740,18 +13033,18 @@ msgid ""
 "namespace, the permission checks are performed according to the process's "
 "capabilities in the user namespace that the kernel associated with the new "
 "namespace."
-msgstr ""
+msgstr "新しい IPC 名前空間、 マウント名前空間、 ネットワーク名前空間、 PID 名前空間、 UTS 名前空間が B<clone>(2) や B<unshare>(2) で作成される際、 カーネルは新しい名前空間に対して作成したプロセスのユーザー名前空間を記録する (この関連付けは変更できない)。 その新しい名前空間のプロセスがその後名前空間で分離されたグローバルリソースに対して特権操作を行う場合、 カーネルが新しい名前空間に対して関連付けたユーザー名前空間でのプロセスのケーパビリティに基づいてアクセス許可のチェックが行われる。"
 
 #. type: SS
 #: build/C/man7/user_namespaces.7:258
 #, no-wrap
 msgid "Restrictions on mount namespaces"
-msgstr ""
+msgstr "マウント名前空間における制限"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:261
 msgid "Note the following points with respect to mount namespaces:"
-msgstr ""
+msgstr "マウント名前空間に関しては以下の点に注意すること。"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:266
@@ -12759,7 +13052,7 @@ msgid ""
 "A mount namespace has an owner user namespace.  A mount namespace whose "
 "owner user namespace is different from the owner user namespace of its "
 "parent mount namespace is considered a less privileged mount namespace."
-msgstr ""
+msgstr "マウント名前空間は所有者のユーザー名前空間を持つ。 所有者のユーザー名前空間が親のマウント名前空間の所有者のユーザー名前空間と異なるマウント名前空間は、 特権が少ないマウント名前空間 (less privileged mount namespace) である。"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:272
@@ -12767,7 +13060,7 @@ msgid ""
 "When creating a less privileged mount namespace, shared mounts are reduced "
 "to slave mounts.  This ensures that mappings performed in less privileged "
 "mount namespaces will not propagate to more privileged mount namespaces."
-msgstr ""
+msgstr "特権が少ないマウント名前空間を作成する場合、 共有マウントは slave マウントに縮小される。 これにより、 特権の少ないマウント名前空間で実行されるマッピングが、 より特権を持つマウント名前空間 (more privileged mount namespace) に伝搬しないことが保証される。"
 
 #.  FIXME .
 #.     What does "come as a single unit from more privileged mount" mean?
@@ -12779,7 +13072,7 @@ msgid ""
 "(The B<unshare>(2)  B<CLONE_NEWNS> operation brings across all of the mounts "
 "from the original mount namespace as a single unit, and recursive mounts "
 "that propagate between mount namespaces propagate as a single unit.)"
-msgstr ""
+msgstr "より特権を持つマウントで一つのまとまりとして行われたマウントは一つにまとまったままとなり、 特権が少ないマウント名前空間で分割することはできない。 (B<unshare>(2) の B<CLONE_NEWNS> 操作では、 元のマウント名前空間のすべてのマウントは一つのまとまりとして扱われ、 マウント名前空間間で伝わる再帰的なマウントでは一つのまとまりとして伝わる。)"
 
 #
 #.  commit 9566d6742852c527bf5af38af5cbb878dad75705
@@ -12794,7 +13087,7 @@ msgid ""
 "become locked when propagated from a more privileged to a less privileged "
 "mount namespace, and may not be changed in the less privileged mount "
 "namespace."
-msgstr ""
+msgstr "より特権を持つマウント名前空間から特権の少ないマウント名前空間に伝わる際に、 B<mount>(2) の B<MS_RDONLY>, B<MS_NOSUID>, B<MS_NOEXEC> フラグと \"atime\" フラグ (B<MS_NOATIME>, B<MS_NODIRATIME>, B<MS_REALTIME>) 設定はロックされ、 特権の少ないマウント名前空間では変更することはできない。"
 
 #.  (As of 3.18-rc1 (in Al Viro's 2014-08-30 vfs.git#for-next tree))
 #. type: Plain text
@@ -12804,7 +13097,7 @@ msgid ""
 "mount point in another namespace, may be renamed, unlinked, or removed "
 "(B<rmdir>(2))  in the mount namespace in which it is not a mount point "
 "(subject to the usual permission checks)."
-msgstr ""
+msgstr "ある名前空間でマウントポイントとなっているが別の名前空間でのマウントポイントになっていないファイルやディレクトリは、 マウントポイントになっていないマウント名前空間では (通常のアクセス許可チェックにもとづいて) rename, unlink, remove (B<rmdir>(2)) を行うことができる。"
 
 #
 #.  ============================================================
@@ -12817,13 +13110,13 @@ msgid ""
 "NFS)  and permitted denial-of-service attacks against more privileged "
 "users.  (i.e., preventing individual files from being updated by bind "
 "mounting on top of them)."
-msgstr ""
+msgstr "以前は、 別のマウント名前空間でマウントポイントとなっていたファイルやディレクトリを rename, unlink, remove しようとすると、 エラー B<EBUSY> が返されていた。 この動作は、 (NFS などで) 適用にあたっての技術的な問題があるとともに、 より特権を持つユーザーに対してサービス不能攻撃 (denial-of-service attack) を許してしまっていた (ファイルをバインドマウントで更新することができなくなっていた)。"
 
 #. type: SS
 #: build/C/man7/user_namespaces.7:324
 #, no-wrap
 msgid "User and group ID mappings: uid_map and gid_map"
-msgstr ""
+msgstr "ユーザー ID とグループ ID のマッピング: uid_map と gid_map"
 
 #.  commit 22d917d80e842829d0ca0a561967d728eb1d6303
 #. type: Plain text
@@ -12944,6 +13237,8 @@ msgid ""
 "$ B<cat /proc/$$/uid_map>\n"
 "         0          0 4294967295\n"
 msgstr ""
+"$ B<cat /proc/$$/uid_map>\n"
+"         0          0 4294967295\n"
 
 #
 #.  ============================================================
@@ -12964,7 +13259,7 @@ msgstr ""
 #: build/C/man7/user_namespaces.7:453
 #, no-wrap
 msgid "Defining user and group ID mappings: writing to uid_map and gid_map"
-msgstr ""
+msgstr "ユーザー ID とグループ ID のマッピングの定義: uid_map と gid_map への書き込み"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:469
@@ -13093,7 +13388,7 @@ msgstr ""
 #: build/C/man7/user_namespaces.7:555
 #, no-wrap
 msgid "Unmapped user and group IDs"
-msgstr ""
+msgstr "ユーザー ID とグループ ID のマッピング解除"
 
 #.  from_kuid_munged(), from_kgid_munged()
 #. type: Plain text
@@ -13140,7 +13435,7 @@ msgstr ""
 #: build/C/man7/user_namespaces.7:615
 #, no-wrap
 msgid "Set-user-ID and set-group-ID programs"
-msgstr ""
+msgstr "set-user-ID や set-group-ID されたプログラム"
 
 #
 #.  ============================================================
@@ -13185,7 +13480,7 @@ msgstr ""
 #: build/C/man7/user_namespaces.7:658
 #, no-wrap
 msgid "Availability"
-msgstr ""
+msgstr "可用性"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:666
@@ -13218,11 +13513,16 @@ msgid ""
 "explanation of the program.  The following shell session demonstrates its "
 "use."
 msgstr ""
+"以下のプログラムは、ユーザー名前空間で実験を行えるように設計されている。 他の"
+"種類の名前空間も扱える。 このプログラムはコマンドライン引き数で指定された名前"
+"空間を作成し、作成した名前空間内でコマンドを実行する。 コメントとプログラム内"
+"の I<usage()> 関数に、プログラムの詳しい説明が書かれている。 以下のシェルセッ"
+"ションに実行例を示す。"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:688
 msgid "First, we look at the run-time environment:"
-msgstr ""
+msgstr "まず最初に、実行環境を確認しておく。"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:697
@@ -13235,6 +13535,12 @@ msgid ""
 "$ B<id -g>\n"
 "1000\n"
 msgstr ""
+"$ B<uname -rs>     # Linux 3.8 以降が必要\n"
+"Linux 3.8.0\n"
+"$ B<id -u>         # 非特権ユーザーで実行する\n"
+"1000\n"
+"$ B<id -g>\n"
+"1000\n"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:711
@@ -13243,12 +13549,15 @@ msgid ""
 "namespaces, with user ID (I<-M>)  and group ID (I<-G>)  1000 mapped to 0 "
 "inside the user namespace:"
 msgstr ""
+"新しいユーザー名前空間 (I<-U>), マウント名前空間 (I<-m>), PID 名前空間 (I<-"
+"p>) で新しいシェルを開始する。ユーザー ID (I<-M>) 1000 とグループ ID (I<-G>) "
+"1000 をユーザー名前空間内で 0 にマッピングしている。"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:715
 #, no-wrap
 msgid "$ B<./userns_child_exec -p -m -U -M '0 1000 1' -G '0 1000 1' bash>\n"
-msgstr ""
+msgstr "$ B<./userns_child_exec -p -m -U -M '0 1000 1' -G '0 1000 1' bash>\n"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:720
@@ -13256,6 +13565,8 @@ msgid ""
 "The shell has PID 1, because it is the first process in the new PID "
 "namespace:"
 msgstr ""
+"シェルは PID 1 を持つ。このシェルは新しい PID 名前空間の最初のプロセスだから"
+"である。"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:725
@@ -13264,6 +13575,8 @@ msgid ""
 "bash$ B<echo $$>\n"
 "1\n"
 msgstr ""
+"bash$ B<echo $$>\n"
+"1\n"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:730
@@ -13271,6 +13584,8 @@ msgid ""
 "Inside the user namespace, the shell has user and group ID 0, and a full set "
 "of permitted and effective capabilities:"
 msgstr ""
+"ユーザー名前空間内では、シェルのユーザー ID とグループ ID ともに 0 で、すべて"
+"の許可ケーパビリティと実効ケーパビリティが有効になっている。"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:740
@@ -13284,6 +13599,13 @@ msgid ""
 "CapPrm:\t0000001fffffffff\n"
 "CapEff:\t0000001fffffffff\n"
 msgstr ""
+"bash$ B<cat /proc/$$/status | egrep '^[UG]id'>\n"
+"Uid:\t0\t0\t0\t0\n"
+"Gid:\t0\t0\t0\t0\n"
+"bash$ B<cat /proc/$$/status | egrep '^Cap(Prm|Inh|Eff)'>\n"
+"CapInh:\t0000000000000000\n"
+"CapPrm:\t0000001fffffffff\n"
+"CapEff:\t0000001fffffffff\n"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:748
@@ -13292,6 +13614,9 @@ msgid ""
 "in the new PID namespace shows that the shell can't see any processes "
 "outside the PID namespace:"
 msgstr ""
+"I</proc> ファイルシステムをマウントし、新しい PID 名前空間で見えるプロセス一"
+"覧を表示すると、 シェルからは PID 名前空間外のプロセスが見えないことが分か"
+"る。"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:756
@@ -13303,24 +13628,29 @@ msgid ""
 "    1 pts/3    S      0:00 bash\n"
 "   22 pts/3    R+     0:00 ps ax\n"
 msgstr ""
+"bash$ B<mount -t proc proc /proc>\n"
+"bash$ B<ps ax>\n"
+"  PID TTY      STAT   TIME COMMAND\n"
+"    1 pts/3    S      0:00 bash\n"
+"   22 pts/3    R+     0:00 ps ax\n"
 
 #. type: SS
-#: build/C/man7/user_namespaces.7:758
+#: build/C/man7/user_namespaces.7:758 build/C/man2/seccomp.2:574
 #, no-wrap
 msgid "Program source"
-msgstr ""
+msgstr "プログラムのソース"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:762
 #, no-wrap
 msgid "/* userns_child_exec.c\n"
-msgstr ""
+msgstr "/* userns_child_exec.c\n"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:764
 #, no-wrap
 msgid "   Licensed under GNU General Public License v2 or later\n"
-msgstr ""
+msgstr "   GNU General Public License v2 以降の元でライセンスされる\n"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:780
@@ -13342,6 +13672,21 @@ msgid ""
 "#include E<lt>limits.hE<gt>\n"
 "#include E<lt>errno.hE<gt>\n"
 msgstr ""
+"   新しい名前空間でシェルコマンドを実行する子プロセスを作成する。\n"
+"   ユーザー名前空間を作成する際に UID と GID のマッピングを\n"
+"   指定することができる。\n"
+"*/\n"
+"#define _GNU_SOURCE\n"
+"#include E<lt>sched.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>sys/wait.hE<gt>\n"
+"#include E<lt>signal.hE<gt>\n"
+"#include E<lt>fcntl.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>limits.hE<gt>\n"
+"#include E<lt>errno.hE<gt>\n"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:783
@@ -13350,8 +13695,8 @@ msgid ""
 "/* A simple error-handling function: print an error message based\n"
 "   on the value in \\(aqerrno\\(aq and terminate the calling process */\n"
 msgstr ""
-"/* A simple error-handling function: print an error message based\n"
-"   on the value in \\(aqerrno\\(aq and terminate the calling process */\n"
+"/* 簡単なエラー処理関数: \\\\(aqerrno\\\\(aq の値に基づいて\n"
+"   エラーメッセージを出力し、呼び出し元プロセスを終了する。 */\n"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:786
@@ -13373,15 +13718,15 @@ msgid ""
 "};\n"
 msgstr ""
 "struct child_args {\n"
-"    char **argv;        /* Command to be executed by child, with args */\n"
-"    int    pipe_fd[2];  /* Pipe used to synchronize parent and child */\n"
+"    char **argv;        /* 子プロセスが実行するコマンドと引き数 */\n"
+"    int    pipe_fd[2];  /* 親プロセスと子プロセスを同期するためのパイプ */\n"
 "};\n"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:793
 #, no-wrap
 msgid "static int verbose;\n"
-msgstr ""
+msgstr "static int verbose;\n"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:826
@@ -13603,7 +13948,7 @@ msgstr ""
 #: build/C/man7/user_namespaces.7:892
 #, no-wrap
 msgid "    /* Execute a shell command */\n"
-msgstr ""
+msgstr "    /* シェルコマンドを実行する */\n"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:897
@@ -13629,7 +13974,7 @@ msgstr "#define STACK_SIZE (1024 * 1024)\n"
 #: build/C/man7/user_namespaces.7:901
 #, no-wrap
 msgid "static char child_stack[STACK_SIZE];    /* Space for child\\(aqs stack */\n"
-msgstr ""
+msgstr "static char child_stack[STACK_SIZE];    /* 子プロセスのスタック空間 */\n"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:912
@@ -13719,7 +14064,7 @@ msgstr ""
 #: build/C/man7/user_namespaces.7:942
 #, no-wrap
 msgid "    /* -M or -G without -U is nonsensical */\n"
-msgstr ""
+msgstr "    /* -U なしの -M や -G の指定は意味がない */\n"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:947
@@ -13770,7 +14115,7 @@ msgstr ""
 #: build/C/man7/user_namespaces.7:964
 #, no-wrap
 msgid "    /* Create the child in new namespace(s) */\n"
-msgstr ""
+msgstr "    /* 新しい名前空間で子プロセスを作成する */\n"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:969
@@ -13790,7 +14135,7 @@ msgstr ""
 #: build/C/man7/user_namespaces.7:971
 #, no-wrap
 msgid "    /* Parent falls through to here */\n"
-msgstr ""
+msgstr "    /* 親プロセスはここを実行する */\n"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:975
@@ -13808,7 +14153,7 @@ msgstr ""
 #: build/C/man7/user_namespaces.7:977
 #, no-wrap
 msgid "    /* Update the UID and GID maps in the child */\n"
-msgstr ""
+msgstr "    /* 子プロセスの UID と GID のマッピングを更新する */\n"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:996
@@ -13859,6 +14204,8 @@ msgid ""
 "    /* Close the write end of the pipe, to signal to the child that we\n"
 "       have updated the UID and GID maps */\n"
 msgstr ""
+"    /* パイプの書き込み端をクローズし、子プロセスに UID と GID の\n"
+"       マッピングが更新されたことを知らせる */\n"
 
 #. type: Plain text
 #: build/C/man7/user_namespaces.7:1001
@@ -13873,7 +14220,7 @@ msgid ""
 "    if (waitpid(child_pid, NULL, 0) == -1)      /* Wait for child */\n"
 "        errExit(\"waitpid\");\n"
 msgstr ""
-"    if (waitpid(child_pid, NULL, 0) == -1)      /* Wait for child */\n"
+"    if (waitpid(child_pid, NULL, 0) == -1)      /* 子プロセスを待つ */\n"
 "        errExit(\"waitpid\");\n"
 
 #. type: Plain text
@@ -13915,32 +14262,918 @@ msgstr ""
 #: build/C/man7/user_namespaces.7:1027
 msgid ""
 "The kernel source file I<Documentation/namespaces/resource-control.txt>."
+msgstr "カーネルのソースファイル I<Documentation/namespaces/resource-control.txt>"
+
+#. type: TH
+#: build/C/man2/seccomp.2:27
+#, no-wrap
+msgid "SECCOMP"
 msgstr ""
-"カーネルのソーフファイル I<Documentation/namespaces/resource-control.txt>"
 
-#~ msgid "2013-02-11"
-#~ msgstr "2013-02-11"
+#. type: Plain text
+#: build/C/man2/seccomp.2:30
+msgid "seccomp - operate on Secure Computing state of the process"
+msgstr ""
 
-#~ msgid ""
-#~ "A process group leader is a process with process group ID equal to its "
-#~ "PID.  In order to be sure that B<setsid>()  will succeed, B<fork>(2)  and "
-#~ "B<_exit>(2), and have the child do B<setsid>()."
-#~ msgstr ""
-#~ "プロセスグループ・リーダーとは、そのプロセスのプロセスグループ ID が その "
-#~ "PID に等しいプロセスである。 B<setsid>()  を確実に成功させるためには、 "
-#~ "B<fork>(2)  して B<exit>(2)  し、子プロセスで B<setsid>()  を行なえば良"
-#~ "い。"
+#.  Kees Cook noted: Anything that uses SECCOMP_RET_TRACE returns will
+#.                   need <sys/ptrace.h>
+#. type: Plain text
+#: build/C/man2/seccomp.2:39
+#, no-wrap
+msgid ""
+"B<#include E<lt>linux/seccomp.hE<gt>>\n"
+"B<#include E<lt>linux/filter.hE<gt>>\n"
+"B<#include E<lt>linux/audit.hE<gt>>\n"
+"B<#include E<lt>linux/signal.hE<gt>>\n"
+"B<#include E<lt>sys/ptrace.hE<gt>>\n"
+msgstr ""
+"B<#include E<lt>linux/seccomp.hE<gt>>\n"
+"B<#include E<lt>linux/filter.hE<gt>>\n"
+"B<#include E<lt>linux/audit.hE<gt>>\n"
+"B<#include E<lt>linux/signal.hE<gt>>\n"
+"B<#include E<lt>sys/ptrace.hE<gt>>\n"
 
-#~ msgid ""
-#~ "I<uid> does not match the current UID and this call would bring that user "
-#~ "ID over its B<RLIMIT_NPROC> resource limit."
-#~ msgstr ""
-#~ "I<uid> が現在のユーザー ID と違う値で、 この呼び出しにより ユーザー ID が "
-#~ "リソース上限 B<RLIMIT_NPROC> を超えてしまう。"
+#. type: Plain text
+#: build/C/man2/seccomp.2:42
+#, no-wrap
+msgid "B<int seccomp(unsigned int >I<operation>B<, unsigned int >I<flags>B<, void *>I<args>B<);>\n"
+msgstr "B<int seccomp(unsigned int >I<operation>B<, unsigned int >I<flags>B<, void *>I<args>B<);>\n"
 
-#~ msgid ""
-#~ "The I<uid> does not match the current uid and I<uid> brings process over "
-#~ "its B<RLIMIT_NPROC> resource limit."
-#~ msgstr ""
-#~ "I<uid> が現在のユーザー ID とマッチせず、この I<uid> によってプロセスがリ"
-#~ "ソース上限 B<RLIMIT_NPROC> を超えた。"
+#. type: Plain text
+#: build/C/man2/seccomp.2:48
+msgid ""
+"The B<seccomp>()  system call operates on the Secure Computing (seccomp) "
+"state of the calling process."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:52
+msgid "Currently, Linux supports the following I<operation> values:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/seccomp.2:52
+#, no-wrap
+msgid "B<SECCOMP_SET_MODE_STRICT>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:66
+msgid ""
+"The only system calls that the calling 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."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:70
+msgid ""
+"This operation is available only if the kernel is configured with "
+"B<CONFIG_SECCOMP> enabled."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:76
+msgid "The value of I<flags> must be 0, and I<args> must be NULL."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:78
+msgid "This operation is functionally identical to the call:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:80
+#, no-wrap
+msgid "    prctl(PR_SET_SECCOMP, SECCOMP_MODE_STRICT);\n"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/seccomp.2:80
+#, no-wrap
+msgid "B<SECCOMP_SET_MODE_FILTER>"
+msgstr "B<SECCOMP_SET_MODE_FILTER>"
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:95
+msgid ""
+"The system calls allowed are defined by a pointer to a Berkeley Packet "
+"Filter (BPF) passed via I<args>.  This argument is a pointer to a I<struct\\ "
+"sock_fprog>; it can be designed to filter arbitrary system calls and system "
+"call arguments.  If the filter is invalid, B<seccomp>()  fails, returning "
+"B<EINVAL> in I<errno>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:107
+msgid ""
+"If B<fork>(2)  or B<clone>(2)  is allowed by the filter, any child processes "
+"will be constrained to the same system call filters as the parent.  If "
+"B<execve>(2)  is allowed, the existing filters will be preserved across a "
+"call to B<execve>(2)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:117
+msgid ""
+"In order to use the B<SECCOMP_SET_MODE_FILTER> operation, either the caller "
+"must have the B<CAP_SYS_ADMIN> capability, or the thread must already have "
+"the I<no_new_privs> bit set.  If that bit was not already set by an ancestor "
+"of this thread, the thread must make the following call:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:119
+#, no-wrap
+msgid "    prctl(PR_SET_NO_NEW_PRIVS, 1);\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:138
+msgid ""
+"Otherwise, the B<SECCOMP_SET_MODE_FILTER> operation will fail and return "
+"B<EACCES> in I<errno>.  This requirement ensures that an unprivileged "
+"process cannot apply a malicious filter and then invoke a set-user-ID or "
+"other privileged program using B<execve>(2), thus potentially compromising "
+"that program.  (Such a malicious filter might, for example, cause an attempt "
+"to use B<setuid>(2)  to set the caller's user IDs to non-zero values to "
+"instead return 0 without actually making the system call.  Thus, the program "
+"might be tricked into retaining superuser privileges in circumstances where "
+"it is possible to influence it to do dangerous things because it did not "
+"actually drop privileges.)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:146
+msgid ""
+"If B<prctl>(2)  or B<seccomp>(2)  is allowed by the attached filter, further "
+"filters may be added.  This will increase evaluation time, but allows for "
+"further reduction of the attack surface during execution of a thread."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:152
+msgid ""
+"The B<SECCOMP_SET_MODE_FILTER> operation is available only if the kernel is "
+"configured with B<CONFIG_SECCOMP_FILTER> enabled."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:156
+msgid ""
+"When I<flags> is 0, this operation is functionally identical to the call:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:158
+#, no-wrap
+msgid "    prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, args);\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:162
+msgid "The recognized I<flags> are:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/seccomp.2:163
+#, no-wrap
+msgid "B<SECCOMP_FILTER_FLAG_TSYNC>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:171
+msgid ""
+"When adding a new filter, synchronize all other threads of the calling "
+"process to the same seccomp filter tree.  A \"filter tree\" is the ordered "
+"list of filters attached to a thread.  (Attaching identical filters in "
+"separate B<seccomp>()  calls results in different filters from this "
+"perspective.)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:179
+msgid ""
+"If any thread cannot synchronize to the same filter tree, the call will not "
+"attach the new seccomp filter, and will fail, returning the first thread ID "
+"found that cannot synchronize.  Synchronization will fail if another thread "
+"in the same process is in B<SECCOMP_MODE_STRICT> or if it has attached new "
+"seccomp filters to itself, diverging from the calling thread's filter tree."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/seccomp.2:180
+#, no-wrap
+msgid "Filters"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:185
+msgid ""
+"When adding filters via B<SECCOMP_SET_MODE_FILTER>, I<args> points to a "
+"filter program:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:193
+#, no-wrap
+msgid ""
+"struct sock_fprog {\n"
+"    unsigned short      len;    /* Number of BPF instructions */\n"
+"    struct sock_filter *filter; /* Pointer to array of\n"
+"                                   BPF instructions */\n"
+"};\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:197
+msgid "Each program must contain one or more BPF instructions:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:206
+#, no-wrap
+msgid ""
+"struct sock_filter {            /* Filter block */\n"
+"    __u16 code;                 /* Actual filter code */\n"
+"    __u8  jt;                   /* Jump true */\n"
+"    __u8  jf;                   /* Jump false */\n"
+"    __u32 k;                    /* Generic multiuse field */\n"
+"};\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:213
+msgid ""
+"When executing the instructions, the BPF program operates on the system call "
+"information made available (i.e., use the B<BPF_ABS> addressing mode) as a "
+"buffer of the following form:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:223
+#, no-wrap
+msgid ""
+"struct seccomp_data {\n"
+"    int   nr;                   /* System call number */\n"
+"    __u32 arch;                 /* AUDIT_ARCH_* value\n"
+"                                   (see E<lt>linux/audit.hE<gt>) */\n"
+"    __u64 instruction_pointer;  /* CPU instruction pointer */\n"
+"    __u64 args[6];              /* Up to 6 system call arguments */\n"
+"};\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:234
+msgid ""
+"A seccomp filter returns a 32-bit value consisting of two parts: the most "
+"significant 16 bits (corresponding to the mask defined by the constant "
+"B<SECCOMP_RET_ACTION>)  contain one of the \"action\" values listed below; "
+"the least significant 16-bits (defined by the constant B<SECCOMP_RET_DATA>)  "
+"are \"data\" to be associated with this return value."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:242
+msgid ""
+"If multiple filters exist, they are all executed, in reverse order of their "
+"addition to the filter tree (i.e., the most recently installed filter is "
+"executed first).  The return value for the evaluation of a given system call "
+"is the first-seen B<SECCOMP_RET_ACTION> value of highest precedence (along "
+"with its accompanying data)  returned by execution of all of the filters."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:245
+msgid ""
+"In decreasing order of precedence, the values that may be returned by a "
+"seccomp filter are:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/seccomp.2:245
+#, no-wrap
+msgid "B<SECCOMP_RET_KILL>"
+msgstr "B<SECCOMP_RET_KILL>"
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:254
+msgid ""
+"This value results in the process exiting immediately without executing the "
+"system call.  The process terminates as though killed by a B<SIGSYS> signal "
+"(I<not> B<SIGKILL>)."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/seccomp.2:254
+#, no-wrap
+msgid "B<SECCOMP_RET_TRAP>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:264
+msgid ""
+"This value results in the kernel sending a B<SIGSYS> signal to the "
+"triggering process without executing the system call.  Various fields will "
+"be set in the I<siginfo_t> structure (see B<sigaction>(2))  associated with "
+"signal:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:269
+msgid "I<si_signo> will contain B<SIGSYS>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:272
+msgid "I<si_call_addr> will show the address of the system call instruction."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:277
+msgid ""
+"I<si_syscall> and I<si_arch> will indicate which system call was attempted."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:281
+msgid "I<si_code> will contain B<SYS_SECCOMP>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:286
+msgid ""
+"I<si_errno> will contain the B<SECCOMP_RET_DATA> portion of the filter "
+"return value."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:295
+msgid ""
+"The program counter will be as though the system call happened (i.e., it "
+"will not point to the system call instruction).  The return value register "
+"will contain an architecture-dependent value; if resuming execution, set it "
+"to something appropriate for the system call.  (The architecture dependency "
+"is because replacing it with B<ENOSYS> could overwrite some useful "
+"information.)"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/seccomp.2:295
+#, no-wrap
+msgid "B<SECCOMP_RET_ERRNO>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:302
+msgid ""
+"This value results in the B<SECCOMP_RET_DATA> portion of the filter's return "
+"value being passed to user space as the I<errno> value without executing the "
+"system call."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/seccomp.2:302
+#, no-wrap
+msgid "B<SECCOMP_RET_TRACE>"
+msgstr "B<SECCOMP_RET_TRACE>"
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:312
+msgid ""
+"When returned, this value will cause the kernel to attempt to notify a "
+"B<ptrace>(2)-based tracer prior to executing the system call.  If there is "
+"no tracer present, the system call is not executed and returns a failure "
+"status with I<errno> set to B<ENOSYS>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:323
+msgid ""
+"A tracer will be notified if it requests B<PTRACE_O_TRACESECCOMP> using "
+"I<ptrace(PTRACE_SETOPTIONS)>.  The tracer will be notified of a "
+"B<PTRACE_EVENT_SECCOMP> and the B<SECCOMP_RET_DATA> portion of the filter's "
+"return value will be available to the tracer via B<PTRACE_GETEVENTMSG>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:330
+msgid ""
+"The tracer can skip the system call by changing the system call number to "
+"-1.  Alternatively, the tracer can change the system call requested by "
+"changing the system call to a valid system call number.  If the tracer asks "
+"to skip the system call, then the system call will appear to return the "
+"value that the tracer puts in the return value register."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:339
+msgid ""
+"The seccomp check will not be run again after the tracer is notified.  (This "
+"means that seccomp-based sandboxes B<must not> allow use of "
+"B<ptrace>(2)\\(emeven of other sandboxed processes\\(emwithout extreme care; "
+"ptracers can use this mechanism to escape from the seccomp sandbox.)"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/seccomp.2:339
+#, no-wrap
+msgid "B<SECCOMP_RET_ALLOW>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:342
+msgid "This value results in the system call being executed."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:358
+msgid ""
+"On success, B<seccomp>()  returns 0.  On error, if "
+"B<SECCOMP_FILTER_FLAG_TSYNC> was used, the return value is the ID of the "
+"thread that caused the synchronization failure.  (This ID is a kernel thread "
+"ID of the type returned by B<clone>(2)  and B<gettid>(2).)  On other errors, "
+"-1 is returned, and I<errno> is set to indicate the cause of the error."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:361
+msgid "B<seccomp>()  can fail for the following reasons:"
+msgstr "B<seccomp>()  は以下のエラーで失敗する。"
+
+#. type: TP
+#: build/C/man2/seccomp.2:361
+#, no-wrap
+msgid "B<EACCESS>"
+msgstr "B<EACCESS>"
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:369
+msgid ""
+"The caller did not have the B<CAP_SYS_ADMIN> capability, or had not set "
+"I<no_new_privs> before using B<SECCOMP_SET_MODE_FILTER>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:373
+msgid "I<args> was not a valid address."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:380
+msgid ""
+"I<operation> is unknown; or I<flags> are invalid for the given I<operation>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:387
+msgid ""
+"I<operation> included B<BPF_ABS>, but the specified offset was not aligned "
+"to a 32-bit boundary or exceeded I<sizeof(struct\\ seccomp_data)>."
+msgstr ""
+
+#.  See kernel/seccomp.c::seccomp_may_assign_mode() in 3.18 sources
+#. type: Plain text
+#: build/C/man2/seccomp.2:393
+msgid ""
+"A secure computing mode has already been set, and I<operation> differs from "
+"the existing setting."
+msgstr ""
+
+#.  See stub kernel/seccomp.c::seccomp_set_mode_filter() in 3.18 sources
+#. type: Plain text
+#: build/C/man2/seccomp.2:402
+msgid ""
+"I<operation> specified B<SECCOMP_SET_MODE_FILTER>, but the kernel was not "
+"built with B<CONFIG_SECCOMP_FILTER> enabled."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:413
+msgid ""
+"I<operation> specified B<SECCOMP_SET_MODE_FILTER>, but the filter program "
+"pointed to by I<args> was not valid or the length of the filter program was "
+"zero or exceeded B<BPF_MAXINSNS> (4096) instructions.  B<EINVAL>"
+msgstr ""
+
+#.  ENOMEM in kernel/seccomp.c::seccomp_attach_filter() in 3.18 sources
+#. type: Plain text
+#: build/C/man2/seccomp.2:426
+msgid ""
+"The total length of all filter programs attached to the calling thread would "
+"exceed B<MAX_INSNS_PER_PATH> (32768) instructions.  Note that for the "
+"purposes of calculating this limit, each already existing filter program "
+"incurs an overhead penalty of 4 instructions."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:430
+msgid ""
+"Another thread caused a failure during thread sync, but its ID could not be "
+"determined."
+msgstr ""
+
+#.  FIXME . Add glibc version
+#. type: Plain text
+#: build/C/man2/seccomp.2:435
+msgid "The B<seccomp()> system call first appeared in Linux 3.17."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:439
+msgid "The B<seccomp()> system call is a nonstandard Linux extension."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:446
+msgid ""
+"The I<Seccomp> field of the I</proc/[pid]/status> file provides a method of "
+"viewing the seccomp mode of a process; see B<proc>(5)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:453
+msgid ""
+"B<seccomp>()  provides a superset of the functionality provided by the "
+"B<prctl>(2)  B<PR_SET_SECCOMP> operation (which does not support I<flags>)."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/seccomp.2:453
+#, no-wrap
+msgid "Seccomp-specific BPF details"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:455
+msgid "Note the following BPF details specific to seccomp filters:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:463
+msgid ""
+"The B<BPF_H> and B<BPF_B> size modifiers are not supported: all operations "
+"must load and store (4-byte) words (B<BPF_W>)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:469
+msgid ""
+"To access the contents of the I<seccomp_data> buffer, use the B<BPF_ABS> "
+"addressing mode modifier."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:476
+msgid ""
+"The B<BPF_LEN> addressing mode modifier yields an immediate mode operand "
+"whose value is the size of the I<seccomp_data> buffer."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:482
+msgid ""
+"The program below accepts four or more arguments.  The first three arguments "
+"are a system call number, a numeric architecture identifier, and an error "
+"number.  The program uses these values to construct a BPF filter that is "
+"used at run time to perform the following checks:"
+msgstr ""
+
+#. type: IP
+#: build/C/man2/seccomp.2:482
+#, no-wrap
+msgid "[1]"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:486
+msgid ""
+"If the program is not running on the specified architecture, the BPF filter "
+"causes system calls to fail with the error B<ENOSYS>."
+msgstr ""
+
+#. type: IP
+#: build/C/man2/seccomp.2:486
+#, no-wrap
+msgid "[2]"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:491
+msgid ""
+"If the program attempts to execute the system call with the specified "
+"number, the BPF filter causes the system call to fail, with I<errno> being "
+"set to the specified error number."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:500
+msgid ""
+"The remaining command-line arguments specify the pathname and additional "
+"arguments of a program that the example program should attempt to execute "
+"using B<execve>(3)  (a library function that employs the B<execve>(2)  "
+"system call).  Some example runs of the program are shown below."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:504
+msgid ""
+"First, we display the architecture that we are running on (x86-64)  and then "
+"construct a shell function that looks up system call numbers on this "
+"architecture:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:513
+#, no-wrap
+msgid ""
+"$ B<uname -m>\n"
+"x86_64\n"
+"$ B<syscall_nr() {\n"
+"    cat /usr/src/linux/arch/x86/syscalls/syscall_64.tbl | \\e\n"
+"    awk '$2 != \"x32\" && $3 == \"'$1'\" { print $1 }'\n"
+"}>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:520
+msgid ""
+"When the BPF filter rejects a system call (case [2] above), it causes the "
+"system call to fail with the error number specified on the command line.  In "
+"the experiments shown here, we'll use error number 99:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:525
+#, no-wrap
+msgid ""
+"$ B<errno 99>\n"
+"EADDRNOTAVAIL 99 Cannot assign requested address\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:533
+msgid ""
+"In the following example, we attempt to run the command B<whoami>(1), but "
+"the BPF filter rejects the B<execve>(2)  system call, so that the command is "
+"not even executed:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:544
+#, no-wrap
+msgid ""
+"$ B<syscall_nr execve>\n"
+"59\n"
+"$ B<./a.out>\n"
+"Usage: ./a.out E<lt>syscall_nrE<gt> E<lt>archE<gt> E<lt>errnoE<gt> E<lt>progE<gt> [E<lt>argsE<gt>]\n"
+"Hint for E<lt>archE<gt>: AUDIT_ARCH_I386: 0x40000003\n"
+"                 AUDIT_ARCH_X86_64: 0xC000003E\n"
+"$ B<./a.out 59 0xC000003E 99 /bin/whoami>\n"
+"execv: Cannot assign requested address\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:552
+msgid ""
+"In the next example, the BPF filter rejects the B<write>(2)  system call, so "
+"that, although it is successfully started, the B<whoami>(1)  command is not "
+"able to write output:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:558
+#, no-wrap
+msgid ""
+"$ B<syscall_nr write>\n"
+"1\n"
+"$ B<./a.out 1 0xC000003E 99 /bin/whoami>\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:565
+msgid ""
+"In the final example, the BPF filter rejects a system call that is not used "
+"by the B<whoami>(1)  command, so it is able to successfully execute and "
+"produce output:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:572
+#, no-wrap
+msgid ""
+"$ B<syscall_nr preadv>\n"
+"295\n"
+"$ B<./a.out 295 0xC000003E 99 /bin/whoami>\n"
+"cecilia\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:586
+#, no-wrap
+msgid ""
+"#include E<lt>errno.hE<gt>\n"
+"#include E<lt>stddef.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"#include E<lt>linux/audit.hE<gt>\n"
+"#include E<lt>linux/filter.hE<gt>\n"
+"#include E<lt>linux/seccomp.hE<gt>\n"
+"#include E<lt>sys/prctl.hE<gt>\n"
+msgstr ""
+"#include E<lt>errno.hE<gt>\n"
+"#include E<lt>stddef.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>unistd.hE<gt>\n"
+"#include E<lt>linux/audit.hE<gt>\n"
+"#include E<lt>linux/filter.hE<gt>\n"
+"#include E<lt>linux/seccomp.hE<gt>\n"
+"#include E<lt>sys/prctl.hE<gt>\n"
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:595
+#, no-wrap
+msgid ""
+"static int\n"
+"install_filter(int syscall_nr, int t_arch, int f_errno)\n"
+"{\n"
+"    struct sock_filter filter[] = {\n"
+"        /* [0] Load architecture from 'seccomp_data' buffer into\n"
+"               accumulator */\n"
+"        BPF_STMT(BPF_LD | BPF_W | BPF_ABS,\n"
+"                 (offsetof(struct seccomp_data, arch))),\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:599
+#, no-wrap
+msgid ""
+"        /* [1] Jump forward 4 instructions if architecture does not\n"
+"               match 't_arch' */\n"
+"        BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, t_arch, 0, 4),\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:604
+#, no-wrap
+msgid ""
+"        /* [2] Load system call number from 'seccomp_data' buffer into\n"
+"               accumulator */\n"
+"        BPF_STMT(BPF_LD | BPF_W | BPF_ABS,\n"
+"                 (offsetof(struct seccomp_data, nr))),\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:608
+#, no-wrap
+msgid ""
+"        /* [3] Jump forward 1 instruction if system call number\n"
+"               does not match 'syscall_nr' */\n"
+"        BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, syscall_nr, 0, 1),\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:613
+#, no-wrap
+msgid ""
+"        /* [4] Matching architecture and system call: don't execute\n"
+"\t       the system call, and return 'f_errno' in 'errno' */\n"
+"        BPF_STMT(BPF_RET | BPF_K,\n"
+"                 SECCOMP_RET_ERRNO | (f_errno & SECCOMP_RET_DATA)),\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:617
+#, no-wrap
+msgid ""
+"        /* [5] Destination of system call number mismatch: allow other\n"
+"               system calls */\n"
+"        BPF_STMT(BPF_RET | BPF_K, SECCOMP_RET_ALLOW),\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:621
+#, no-wrap
+msgid ""
+"        /* [6] Destination of architecture mismatch: kill process */\n"
+"        BPF_STMT(BPF_RET | BPF_K, SECCOMP_RET_KILL),\n"
+"    };\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:626
+#, no-wrap
+msgid ""
+"    struct sock_fprog prog = {\n"
+"        .len = (unsigned short) (sizeof(filter) / sizeof(filter[0])),\n"
+"        .filter = filter,\n"
+"    };\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:631
+#, no-wrap
+msgid ""
+"    if (seccomp(SECCOMP_SET_MODE_FILTER, 0, &prog)) {\n"
+"        perror(\"seccomp\");\n"
+"        return 1;\n"
+"    }\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:634
+#, no-wrap
+msgid ""
+"    return 0;\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:646
+#, no-wrap
+msgid ""
+"int\n"
+"main(int argc, char **argv)\n"
+"{\n"
+"    if (argc E<lt> 5) {\n"
+"        fprintf(stderr, \"Usage: \"\n"
+"                \"%s E<lt>syscall_nrE<gt> E<lt>archE<gt> E<lt>errnoE<gt> E<lt>progE<gt> [E<lt>argsE<gt>]\\en\"\n"
+"                \"Hint for E<lt>archE<gt>: AUDIT_ARCH_I386: 0x%X\\en\"\n"
+"                \"                 AUDIT_ARCH_X86_64: 0x%X\\en\"\n"
+"                \"\\en\", argv[0], AUDIT_ARCH_I386, AUDIT_ARCH_X86_64);\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:651
+#, no-wrap
+msgid ""
+"    if (prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0)) {\n"
+"        perror(\"prctl\");\n"
+"        exit(EXIT_FAILURE);\n"
+"    }\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:656
+#, no-wrap
+msgid ""
+"    if (install_filter(strtol(argv[1], NULL, 0),\n"
+"                       strtol(argv[2], NULL, 0),\n"
+"                       strtol(argv[3], NULL, 0)))\n"
+"        exit(EXIT_FAILURE);\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:661
+#, no-wrap
+msgid ""
+"    execv(argv[4], &argv[4]);\n"
+"    perror(\"execv\");\n"
+"    exit(EXIT_FAILURE);\n"
+"}\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:667
+msgid "B<prctl>(2), B<ptrace>(2), B<signal>(7), B<socket>(7)"
+msgstr "B<prctl>(2), B<ptrace>(2), B<signal>(7), B<socket>(7)"
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:672
+msgid ""
+"The kernel source files I<Documentation/networking/filter.txt> and "
+"I<Documentation/prctl/seccomp_filter.txt>."
+msgstr "カーネルのソースファイル I<Documentation/networking/filter.txt> と I<Documentation/prctl/seccomp_filter.txt>"
+
+#. type: Plain text
+#: build/C/man2/seccomp.2:678
+msgid ""
+"McCanne, S. and Jacobson, V. (1992)  I<The BSD Packet Filter: A New "
+"Architecture for User-level Packet Capture>, Proceedings of the USENIX "
+"Winter 1993 Conference E<.UR http://www.tcpdump.org/papers/bpf-usenix93.pdf> "
+"E<.UE>"
+msgstr ""
+
+#~ msgid ""
+#~ "A process group leader is a process with process group ID equal to its "
+#~ "PID.  In order to be sure that B<setsid>()  will succeed, B<fork>(2)  and "
+#~ "B<_exit>(2), and have the child do B<setsid>()."
+#~ msgstr ""
+#~ "プロセスグループ・リーダーとは、そのプロセスのプロセスグループ ID が その "
+#~ "PID に等しいプロセスである。 B<setsid>()  を確実に成功させるためには、 "
+#~ "B<fork>(2)  して B<exit>(2)  し、子プロセスで B<setsid>()  を行なえば良"
+#~ "い。"
+
+#~ msgid ""
+#~ "I<uid> does not match the current UID and this call would bring that user "
+#~ "ID over its B<RLIMIT_NPROC> resource limit."
+#~ msgstr ""
+#~ "I<uid> が現在のユーザー ID と違う値で、 この呼び出しにより ユーザー ID が "
+#~ "リソース上限 B<RLIMIT_NPROC> を超えてしまう。"