OSDN Git Service

LDP: Address fuzzy changes (process)
authorAkihiro Motoki <amotoki@gmail.com>
Mon, 5 Apr 2021 21:50:40 +0000 (06:50 +0900)
committerAkihiro Motoki <amotoki@gmail.com>
Mon, 5 Apr 2021 21:54:47 +0000 (06:54 +0900)
25 files changed:
manual/LDP_man-pages/draft/man2/acct.2
manual/LDP_man-pages/draft/man2/capget.2 [new file with mode: 0644]
manual/LDP_man-pages/draft/man2/getgroups.2 [new file with mode: 0644]
manual/LDP_man-pages/draft/man2/getpriority.2 [new file with mode: 0644]
manual/LDP_man-pages/draft/man2/getrlimit.2 [new file with mode: 0644]
manual/LDP_man-pages/draft/man2/getrusage.2
manual/LDP_man-pages/draft/man2/getsid.2 [new file with mode: 0644]
manual/LDP_man-pages/draft/man2/iopl.2 [new file with mode: 0644]
manual/LDP_man-pages/draft/man2/ioprio_set.2
manual/LDP_man-pages/draft/man2/ipc.2 [new file with mode: 0644]
manual/LDP_man-pages/draft/man2/seteuid.2 [new file with mode: 0644]
manual/LDP_man-pages/draft/man2/setfsgid.2
manual/LDP_man-pages/draft/man2/setfsuid.2 [new file with mode: 0644]
manual/LDP_man-pages/draft/man2/setgid.2
manual/LDP_man-pages/draft/man2/setpgid.2
manual/LDP_man-pages/draft/man2/setresuid.2
manual/LDP_man-pages/draft/man2/setreuid.2
manual/LDP_man-pages/draft/man2/setsid.2 [new file with mode: 0644]
manual/LDP_man-pages/draft/man2/setuid.2
manual/LDP_man-pages/draft/man3/ulimit.3
manual/LDP_man-pages/draft/man5/acct.5
manual/LDP_man-pages/draft/man7/credentials.7 [new file with mode: 0644]
manual/LDP_man-pages/po4a/process/po/ja.po
manual/LDP_man-pages/stats/process
manual/LDP_man-pages/untrans.html

index 7828b81..894b626 100644 (file)
@@ -98,10 +98,10 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 \fIfilename\fP が長すぎる。
 .TP 
 \fBENFILE\fP
-The system\-wide limit on the total number of open files has been reached.
+オープンされたファイルの総数がシステム全体の制限に達した。
 .TP 
 \fBENOENT\fP
-The specified file does not exist.
+指定されたファイルが存在しない。
 .TP 
 \fBENOMEM\fP
 メモリー不足。
@@ -114,8 +114,8 @@ The specified file does not exist.
 \fIfilename\fP の中でディレクトリして扱われている要素が、 実際はディレクトリでない。
 .TP 
 \fBEPERM\fP
-The calling process has insufficient privilege to enable process
-accounting.  On Linux, the \fBCAP_SYS_PACCT\fP capability is required.
+呼び出したプロセスにはプロセスアカウントを有効にするのに十分な特権がない。 Linux では \fBCAP_SYS_PACCT\fP ケーパビリティ
+(capability) が必要である。
 .TP 
 \fBEROFS\fP
 読み込みだけのファイルシステム上のファイルを \fIfilename\fP が参照している。
diff --git a/manual/LDP_man-pages/draft/man2/capget.2 b/manual/LDP_man-pages/draft/man2/capget.2
new file mode 100644 (file)
index 0000000..62d4a60
--- /dev/null
@@ -0,0 +1,176 @@
+.\" Copyright: written by Andrew Morgan <morgan@kernel.org>
+.\" and Copyright 2006, 2008, Michael Kerrisk <tmk.manpages@gmail.com>
+.\"
+.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE)
+.\" may be distributed as per GPL
+.\" %%%LICENSE_END
+.\"
+.\" Modified by David A. Wheeler <dwheeler@ida.org>
+.\" Modified 2004-05-27, mtk
+.\" Modified 2004-06-21, aeb
+.\" Modified 2008-04-28, morgan of kernel.org
+.\"     Update in line with addition of file capabilities and
+.\"     64-bit capability sets in kernel 2.6.2[45].
+.\" Modified 2009-01-26, andi kleen
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 1999 HANATAKA Shinya
+.\"         all rights reserved.
+.\" Translated 1999-12-26, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Updated & Modified 2005-02-03, Yuichi SATO <ysato444@yahoo.co.jp>
+.\" Updated & Modified 2006-01-31, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated & Modified 2006-07-23, Akihiro MOTOKI, LDP v2.36
+.\" Updated & Modified 2008-08-11, Akihiro MOTOKI, LDP v3.05
+.\" Updated 2009-02-24, Akihiro MOTOKI, LDP v3.19
+.\"
+.TH CAPGET 2 2020\-02\-09 Linux "Linux Programmer's Manual"
+.SH 名前
+capget, capset \- スレッドのケーパビリティを設定/取得する
+.SH 書式
+\fB#include <sys/capability.h>\fP
+.PP
+\fBint capget(cap_user_header_t \fP\fIhdrp\fP\fB, cap_user_data_t \fP\fIdatap\fP\fB);\fP
+.PP
+\fBint capset(cap_user_header_t \fP\fIhdrp\fP\fB, const cap_user_data_t
+\fP\fIdatap\fP\fB);\fP
+.SH 説明
+この二つのシステムコールはスレッドのケーパビリティを取得したり設定したりするための 生のカーネルインターフェースである。 これらのシステムコールは
+Linux 特有であるというだけでなく、 カーネル API は変更されるかもしれず、これらのシステムコールの使用法 (特に
+\fIcap_user_*_t\fP 型という書式) はカーネルのリビジョン毎に拡張されるかもしれないが、 以前のプログラムはそのまま動作する。
+.PP
+.\"
+移植性のあるインターフェースは \fBcap_set_proc\fP(3)  と \fBcap_get_proc\fP(3)  である。
+可能ならばアプリケーションはこれらの関数を使用すべきである。
+.SS 現在の詳細
+現在のカーネルの詳細について注意を述べておく。 構造体は以下のように定義される。
+.PP
+.in +4n
+.EX
+#define _LINUX_CAPABILITY_VERSION_1  0x19980330
+#define _LINUX_CAPABILITY_U32S_1     1
+
+.\" commit e338d263a76af78fe8f38a72131188b58fceb591
+.\" Added 64 bit capability support
+        /* V2 added in Linux 2.6.25; deprecated */
+#define _LINUX_CAPABILITY_VERSION_2  0x20071026
+#define _LINUX_CAPABILITY_U32S_2     2
+
+.\" commit ca05a99a54db1db5bca72eccb5866d2a86f8517f
+        /* V3 added in Linux 2.6.26 */
+#define _LINUX_CAPABILITY_VERSION_3  0x20080522
+#define _LINUX_CAPABILITY_U32S_3     2
+
+typedef struct __user_cap_header_struct {
+   __u32 version;
+   int pid;
+} *cap_user_header_t;
+
+typedef struct __user_cap_data_struct {
+   __u32 effective;
+   __u32 permitted;
+   __u32 inheritable;
+} *cap_user_data_t;
+.EE
+.in
+.PP
+フィールド \fIeffective\fP, \fIpermitted\fP, \fIinheritable\fP は、 \fBcapabilities\fP(7)
+で定義されるケーパビリティのビットマスクである。 \fICAP_*\fP はビット番号を表すインデックス値であり、 ビットフィールドに OR を行う前に
+\fICAP_*\fP の値の分だけビットシフトを行う必要がある。 typedef の方はポインターなので、 このシステムコールに渡す構造体を定義するには、
+\fIstruct __user_cap_header_struct\fP と \fIstruct __user_cap_data_struct\fP
+という名前を使用しなければならない。
+.PP
+Kernels prior to 2.6.25 prefer 32\-bit capabilities with version
+\fB_LINUX_CAPABILITY_VERSION_1\fP.  Linux 2.6.25 added 64\-bit capability sets,
+with version \fB_LINUX_CAPABILITY_VERSION_2\fP.  There was, however, an API
+glitch, and Linux 2.6.26 added \fB_LINUX_CAPABILITY_VERSION_3\fP to fix the
+problem.
+.PP
+Note that 64\-bit capabilities use \fIdatap[0]\fP and \fIdatap[1]\fP, whereas
+32\-bit capabilities use only \fIdatap[0]\fP.
+.PP
+On kernels that support file capabilities (VFS capabilities support), these
+system calls behave slightly differently.  This support was added as an
+option in Linux 2.6.24, and became fixed (nonoptional) in Linux 2.6.33.
+.PP
+\fBcapget\fP()  では、 \fIhdrp\->pid\fP のフィールド値にケーパビリティを知りたいプロセスのプロセス ID を
+指定することで、任意のプロセスのケーパビリティを調べることができる。
+.PP
+.\"
+このデータの詳細は \fBcapabilities\fP(7)  を参照すること。
+.SS "VFS ケーパビリティがサポートされている場合"
+.\"
+VFS capabilities employ a file extended attribute (see \fBxattr\fP(7))  to
+allow capabilities to be attached to executables.  This privilege model
+obsoletes kernel support for one process asynchronously setting the
+capabilities of another.  That is, on kernels that have VFS capabilities
+support, when calling \fBcapset\fP(), the only permitted values for
+\fIhdrp\->pid\fP are 0 or, equivalently, the value returned by \fBgettid\fP(2).
+.SS "VFS ケーパビリティがサポートされていない場合"
+On older kernels that do not provide VFS capabilities support \fBcapset\fP()
+can, if the caller has the \fBCAP_SETPCAP\fP capability, be used to change not
+only the caller's own capabilities, but also the capabilities of other
+threads.  The call operates on the capabilities of the thread specified by
+the \fIpid\fP field of \fIhdrp\fP when that is nonzero, or on the capabilities of
+the calling thread if \fIpid\fP is 0.  If \fIpid\fP refers to a single\-threaded
+process, then \fIpid\fP can be specified as a traditional process ID; operating
+on a thread of a multithreaded process requires a thread ID of the type
+returned by \fBgettid\fP(2).  For \fBcapset\fP(), \fIpid\fP can also be: \-1, meaning
+perform the change on all threads except the caller and \fBinit\fP(1); or a
+value less than \-1, in which case the change is applied to all members of
+the process group whose ID is \-\fIpid\fP.
+.SH 返り値
+成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。
+.PP
+\fIhdrp\fP のフィールド \fIversion\fP にサポートされていない値が指定された場合、 呼び出しはエラー \fBEINVAL\fP で失敗し、
+\fIversion\fP にカーネル推奨の \fB_LINUX_CAPABILITY_VERSION_?\fP を設定する。
+このようにして、現在の推奨ケーパビリティリビジョンが何かを 調べることができる。
+.SH エラー
+.TP 
+\fBEFAULT\fP
+不正なメモリーアドレス。 \fIhdrp\fP は NULL であってはならない。 \fIdatap\fP に NULL
+を指定してよいのは、ユーザーがカーネルがサポートしている 推奨のケーパビリティバージョンを判定しようとしているときだけである。
+.TP 
+\fBEINVAL\fP
+引き数のどれかが無効である。
+.TP 
+\fBEPERM\fP
+An attempt was made to add a capability to the permitted set, or to set a
+capability in the effective set that is not in the permitted set.
+.TP 
+\fBEPERM\fP
+An attempt was made to add a capability to the inheritable set, and either:
+.RS
+.IP * 3
+that capability was not in the caller's bounding set; or
+.IP *
+the capability was not in the caller's permitted set and the caller lacked
+the \fBCAP_SETPCAP\fP capability in its effective set.
+.RE
+.TP 
+\fBEPERM\fP
+呼び出し元が自分以外のスレッドのケーパビリティを \fBcapset\fP()  を使って修正しようとしたが、十分な特権がなかった。 VFS
+ケーパビリティをサポートしているカーネルでは、 この操作が許可されることは決してない。 VFS ケーパビリティをサポートしていないカーネルでは、
+\fBCAP_SETPCAP\fP ケーパビリティが必要である。 (バージョン 2.6.11 より前のカーネルには、 このケーパビリティを持たないスレッドが
+\fIpid\fP フィールドに 0 でない値 (つまり、0 の代わりに \fBgetpid\fP(2)  が返す値)
+を指定して自分自身のケーパビリティを変更しようとした場合にも、 このエラーが発生するというバグがあった。)
+.TP 
+\fBESRCH\fP
+そのようなスレッドが存在しない。
+.SH 準拠
+これらのシステムコールは Linux 独自である。
+.SH 注意
+ケーパビリティを設定したり取得したりする機能のための移植性ある インターフェースは \fIlibcap\fP ライブラリによって提供される。
+このライブラリは以下から入手できる:
+.br
+.UR http://git.kernel.org/cgit\:/linux\:/kernel\:/git\:/morgan\:\:/libcap.git
+.UE
+.SH 関連項目
+\fBclone\fP(2), \fBgettid\fP(2), \fBcapabilities\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
+\%https://www.kernel.org/doc/man\-pages/ に書かれている。
diff --git a/manual/LDP_man-pages/draft/man2/getgroups.2 b/manual/LDP_man-pages/draft/man2/getgroups.2
new file mode 100644 (file)
index 0000000..6819a58
--- /dev/null
@@ -0,0 +1,162 @@
+.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu)
+.\" and Copyright (C) 2008, 2010, 2015, Michael Kerrisk <mtk.manpages@gmail.com>
+.\"
+.\" %%%LICENSE_START(VERBATIM)
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date.  The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein.  The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
+.\"
+.\" Modified Thu Oct 31 12:04:29 1996 by Eric S. Raymond <esr@thyrsus.com>
+.\" Modified, 27 May 2004, Michael Kerrisk <mtk.manpages@gmail.com>
+.\"     Added notes on capability requirements
+.\" 2008-05-03, mtk, expanded and rewrote parts of DESCRIPTION and RETURN
+.\"     VALUE, made style of page more consistent with man-pages style.
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
+.\"         all rights reserved.
+.\" Translated 1997-02-22, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Updated 2001-02-10, Yuichi SATO <sato@complex.eng.hokudai.ac.jp>
+.\" Updated & Modified 2004-12-30, Yuichi SATO <ysato444@yahoo.co.jp>
+.\" Updated 2008-08-04, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.05
+.\" Updated 2012-04-30, Akihiro MOTOKI <amotoki@gmail.com>
+.\"
+.TH GETGROUPS 2 2019\-03\-06 Linux "Linux Programmer's Manual"
+.SH 名前
+getgroups, setgroups \- 補助グループ ID のリストを取得/設定する
+.SH 書式
+\fB#include <sys/types.h>\fP
+.br
+\fB#include <unistd.h>\fP
+.PP
+\fBint getgroups(int \fP\fIsize\fP\fB, gid_t \fP\fIlist\fP\fB[]);\fP
+
+\fB#include <grp.h>\fP
+.PP
+\fBint setgroups(size_t \fP\fIsize\fP\fB, const gid_t *\fP\fIlist\fP\fB);\fP
+.PP
+.RS -4
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
+.RE
+.PP
+\fBsetgroups\fP():
+    Since glibc 2.19:
+        _DEFAULT_SOURCE
+    Glibc 2.19 and earlier:
+        _BSD_SOURCE
+.SH 説明
+\fBgetgroups\fP()  は呼び出し元プロセスの補助グループ (supplementary group) ID を \fIlist\fP に返す。
+\fIsize\fP 引き数には、 \fIlist\fP により参照されるバッファーに格納できる要素の最大数を設定すべきである。 呼び出し元プロセスが
+\fIsize\fP 個より多くの補助グループのメンバの場合には、エラーとなる。
+.PP
+この関数を呼び出したプロセスの実効グループ ID が、 返されるリストに含まれるかどうかは規定されていない (したがって、アプリケーションは
+\fBgetegid\fP(2) を呼び出し、その結果の値を追加・削除すべきである)。
+.PP
+\fIsize\fP が 0 ならば、 \fIlist\fP は修正されないが、そのプロセスの補助グループ ID の合計数が返される。 これを使うことで、それ以降の
+\fBgetgroups\fP()  の呼び出しで必要となる動的割り当てバッファー \fIlist\fP のサイズを、呼び出し元が決定することができる。
+.PP
+\fBsetgroups\fP()  sets the supplementary group IDs for the calling process.
+Appropriate privileges are required (see the description of the \fBEPERM\fP
+error, below).  The \fIsize\fP argument specifies the number of supplementary
+group IDs in the buffer pointed to by \fIlist\fP.  A process can drop all of
+its supplementary groups with the call:
+.PP
+.in +4n
+.EX
+setgroups(0, NULL);
+.EE
+.in
+.SH 返り値
+\fBgetgroups\fP()  は、成功すると補助グループ ID の数を返す。 エラーの場合 \-1 を返し、 \fIerrno\fP を適切に設定する。
+.PP
+\fBsetgroups\fP()  は、成功すると 0 を返す。 エラーの場合 \-1 を返し、 \fIerrno\fP を適切に設定する。
+.SH エラー
+.TP 
+\fBEFAULT\fP
+\fIlist\fP が不正なアドレスである。
+.PP
+\fBgetgroups\fP()  は、上記に加えて以下のエラーで失敗する可能性がある。
+.TP 
+\fBEINVAL\fP
+\fIsize\fP が補助グループ ID の数より小さいが 0 でない。
+.PP
+\fBsetgroups\fP()  は、上記に加えて以下のエラーで失敗する可能性がある。
+.TP 
+\fBEINVAL\fP
+\fIsize\fP が \fBNGROUPS_MAX\fP より大きい (\fBNGROUPS_MAX\fP は Linux 2.6.4 より前では 32、Linux
+2.6.4 以降では 65536)。
+.TP 
+\fBENOMEM\fP
+メモリー不足。
+.TP 
+\fBEPERM\fP
+The calling process has insufficient privilege (the caller does not have the
+\fBCAP_SETGID\fP capability in the user namespace in which it resides).
+.TP 
+\fBEPERM\fP (Linux 3.19 以降)
+The use of \fBsetgroups\fP()  is denied in this user namespace.  See the
+description of \fI/proc/[pid]/setgroups\fP in \fBuser_namespaces\fP(7).
+.SH 準拠
+\fBgetgroups\fP(): SVr4, 4.3BSD, POSIX.1\-2001, POSIX.1\-2008.
+.PP
+\fBsetgroups\fP(): SVr4, 4.3BSD.  Since \fBsetgroups\fP()  requires privilege, it
+is not covered by POSIX.1.
+.SH 注意
+プロセスは、実効グループ ID に加え、最大 \fBNGROUPS_MAX\fP までの補助グループ ID を持つことができる。 定数
+\fBNGROUPS_MAX\fP は \fI<limits.h>\fP で定義されている。 補助グループ ID の集合は親プロセスから継承され、
+\fBexecve\fP(2)  の前後で保持される。
+.PP
+補助グループ ID の最大数は、実行時に \fBsysconf\fP(3)  を使って以下のようにして調べることができる:
+.PP
+.in +4n
+.EX
+long ngroups_max;
+ngroups_max = sysconf(_SC_NGROUPS_MAX);
+.EE
+.in
+.PP
+\fBgetgroups\fP() の返り値の最大値は、この値より大きくなることはない。 Linux 2.6.4 以降では、補助グループ ID の最大数も
+Linux 固有の読み込み専用のファイル \fI/proc/sys/kernel/ngroups_max\fP 経由で公開されている。
+.PP
+.\"
+元々の Linux の \fBgetgroups\fP() システムコールは 16 ビットのグループ ID だけ
+に対応していた。その後、Linux 2.4 で、32 ビットの ID に対応した
+\fBgetgroups\fP() が追加された。glibc の \fBgetgroups\fP のラッパー関数はカーネル
+バージョンによるこの違いを吸収している。
+.SS "C ライブラリとカーネルの違い"
+At the kernel level, user IDs and group IDs are a per\-thread attribute.
+However, POSIX requires that all threads in a process share the same
+credentials.  The NPTL threading implementation handles the POSIX
+requirements by providing wrapper functions for the various system calls
+that change process UIDs and GIDs.  These wrapper functions (including the
+one for \fBsetgroups\fP())  employ a signal\-based technique to ensure that when
+one thread changes credentials, all of the other threads in the process also
+change their credentials.  For details, see \fBnptl\fP(7).
+.SH 関連項目
+\fBgetgid\fP(2), \fBsetgid\fP(2), \fBgetgrouplist\fP(3), \fBgroup_member\fP(3),
+\fBinitgroups\fP(3), \fBcapabilities\fP(7), \fBcredentials\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
+\%https://www.kernel.org/doc/man\-pages/ に書かれている。
diff --git a/manual/LDP_man-pages/draft/man2/getpriority.2 b/manual/LDP_man-pages/draft/man2/getpriority.2
new file mode 100644 (file)
index 0000000..d832f31
--- /dev/null
@@ -0,0 +1,163 @@
+.\" Copyright (c) 1980, 1991 The Regents of the University of California.
+.\" All rights reserved.
+.\"
+.\" %%%LICENSE_START(BSD_4_CLAUSE_UCB)
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"    notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"    notice, this list of conditions and the following disclaimer in the
+.\"    documentation and/or other materials provided with the distribution.
+.\" 3. All advertising materials mentioning features or use of this software
+.\"    must display the following acknowledgement:
+.\"    This product includes software developed by the University of
+.\"    California, Berkeley and its contributors.
+.\" 4. Neither the name of the University nor the names of its contributors
+.\"    may be used to endorse or promote products derived from this software
+.\"    without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\" %%%LICENSE_END
+.\"
+.\"     @(#)getpriority.2      6.9 (Berkeley) 3/10/91
+.\"
+.\" Modified 1993-07-24 by Rik Faith <faith@cs.unc.edu>
+.\" Modified 1996-07-01 by Andries Brouwer <aeb@cwi.nl>
+.\" Modified 1996-11-06 by Eric S. Raymond <esr@thyrsus.com>
+.\" Modified 2001-10-21 by Michael Kerrisk <mtk.manpages@gmail.com>
+.\"    Corrected statement under EPERM to clarify privileges required
+.\" Modified 2002-06-21 by Michael Kerrisk <mtk.manpages@gmail.com>
+.\"    Clarified meaning of 0 value for 'who' argument
+.\" Modified 2004-05-27 by Michael Kerrisk <mtk.manpages@gmail.com>
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
+.\"         all rights reserved.
+.\" Translated 1997-02-22, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Modified 2001-08-17, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Modified 2001-10-18, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated 2001-12-13, Kentaro Shirakata <argrath@ub32.org>
+.\" Updated 2002-10-16, Kentaro Shirakata <argrath@ub32.org>
+.\" Updated 2005-02-24, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated 2005-10-07, Akihiro MOTOKI
+.\" Updated 2008-08-04, Akihiro MOTOKI, LDP v3.05
+.\" Updated 2013-05-06, Akihiro MOTOKI <amotoki@gmail.com>
+.\"
+.TH GETPRIORITY 2 2017\-09\-15 Linux "Linux Programmer's Manual"
+.SH 名前
+getpriority, setpriority \- プログラムのスケジューリングの優先度を取得/設定する
+.SH 書式
+\fB#include <sys/time.h>\fP
+.br
+\fB#include <sys/resource.h>\fP
+.PP
+\fBint getpriority(int \fP\fIwhich\fP\fB, id_t \fP\fIwho\fP\fB);\fP
+.br
+\fBint setpriority(int \fP\fIwhich\fP\fB, id_t \fP\fIwho\fP\fB, int \fP\fIprio\fP\fB);\fP
+.SH 説明
+The scheduling priority of the process, process group, or user, as indicated
+by \fIwhich\fP and \fIwho\fP is obtained with the \fBgetpriority\fP()  call and set
+with the \fBsetpriority\fP()  call.  The process attribute dealt with by these
+system calls is the same attribute (also known as the "nice" value) that is
+dealt with by \fBnice\fP(2).
+.PP
+\fIwhich\fP の値は \fBPRIO_PROCESS\fP, \fBPRIO_PGRP\fP, \fBPRIO_USER\fP, のどれか一つで、 \fIwho\fP は
+\fIwhich\fP に応じて解釈される (\fBPRIO_PROCESS\fP だとプロセス識別子、 \fBPRIO_PGRP\fP だとプロセスグループ識別子、
+\fBPRIO_USER\fP だと UID (ユーザーID) と解釈される)。 \fIwho\fP がゼロならば、(それぞれ)呼び出したプロセス、
+呼び出したプロセスのプロセスグループ、 呼び出したプロセスの実UID を意味する。
+.PP
+\fIprio\fP 引き数は \-20 から 19 の範囲の値で (但し以下の「注意」を参照)、 \-20 が最高優先度で、 19
+が最低優先度である。優先度をこの範囲外に設定しようとした場合は、値は黙ってこの範囲となる。デフォルトの優先度は 0 である;
+小さな数字ほど、プロセスのスケジューリング優先度が高くなる。
+.PP
+\fBgetpriority\fP()  コールは指定したプロセスの中の最も高い優先度 (数値的には最小の値) を返す。 \fBsetpriority\fP()
+コールは指定したプロセス全ての優先度を指定した値に設定する。
+.PP
+Traditionally, only a privileged process could lower the nice value (i.e.,
+set a higher priority).  However, since Linux 2.6.12, an unprivileged
+process can decrease the nice value of a target process that has a suitable
+\fBRLIMIT_NICE\fP soft limit; see \fBgetrlimit\fP(2)  for details.
+.SH 返り値
+On success, \fBgetpriority\fP()  returns the calling thread's nice value, which
+may be a negative number.  On error, it returns \-1 and sets \fIerrno\fP to
+indicate the cause of the error.
+.PP
+\fBgetpriority\fP()  は成功した場合にも \-1 の値を返す可能性があるので、 呼び出しの前に外部変数の \fIerrno\fP
+をクリアし、呼び出しの後に返り値の \-1 が正当な値か エラーかを判別する必要がある。
+.PP
+成功すると、 \fBsetpriority\fP() は 0 を返す。 エラーの場合、\-1 を返し、 \fIerrno\fP にエラーの原因を示す値を設定する。
+.SH エラー
+.TP 
+\fBEINVAL\fP
+\fIwhich\fP が \fBPRIO_PROCESS\fP, \fBPRIO_PGRP\fP, \fBPRIO_USER\fP のいずれでもない。
+.TP 
+\fBESRCH\fP
+\fIwhich\fP と \fIwho\fP で指定されたプロセスが存在しない。
+.PP
+上記のものに加えて \fBsetpriority\fP()  では以下のエラーがある:
+.TP 
+\fBEACCES\fP
+The caller attempted to set a lower nice value (i.e., a higher process
+priority), but did not have the required privilege (on Linux: did not have
+the \fBCAP_SYS_NICE\fP capability).
+.TP 
+\fBEPERM\fP
+プロセスは見つかったが、そのプロセスの実効 (effective) UID が 呼び出し元の実効UID にも実 (real) UID にも一致せず、
+呼び出し元が特権も持っていなかった (Linux の場合、 \fBCAP_SYS_NICE\fP ケーパビリティがなかった)。 以下の「注意」も参照のこと。
+.SH 準拠
+POSIX.1\-2001, POSIX.1\-2008, SVr4, 4.4BSD (これらのインターフェースは 4.2BSD で初めて登場した)
+.SH 注意
+nice 値の詳細は \fBsched\fP(7) を参照のこと。
+.PP
+\fINote\fP: the addition of the "autogroup" feature in Linux 2.6.38 means that
+the nice value no longer has its traditional effect in many circumstances.
+For details, see \fBsched\fP(7).
+.PP
+\fBfork\fP(2)  で作成された子プロセスは、 親プロセスの nice 値を継承する。 \fBexecve\fP(2)  の前後で nice
+値は保存される。
+.PP
+\fBEPERM\fP が発生する条件の詳細はシステムに依存する。 上記の説明は POSIX.1\-2001 のものであり、全ての System\ V
+風システムは これに従っているようである。 2.6.12 より前の Linux カーネルでは、呼び出し元の実 UID または 実効 UID がプロセス
+\fIwho\fP の (実効 UID でなく)  実 UID に一致する必要がある。 Linux 2.6.12 以降では、呼び出し元の実行 UID
+がプロセス \fIwho\fP の実 UID か実効 UID のいずれかと一致する必要がある。 全ての BSD 風システム (SunOS 4.1.3,
+Ultrix 4.2, 4.3BSD, FreeBSD 4.3, OpenBSD\-2.5等) は、 Linux 2.6.12 以降と同じ動作をする。
+.PP
+.\"
+現在では \fI<sys/time.h>\fP をインクルードする必要はないが、インクルードすれば移植性を高めることができる (実際には
+\fI<sys/resource.h>\fP で \fIrusage\fP 構造体が定義されているが、そのフィールドで使用されている
+\fIstruct timeval\fP 型は \fI<sys/time.h>\fP で定義されている)。
+.SS "C ライブラリとカーネルの違い"
+カーネル内部では、nice 値は実際には 40 〜 1 の範囲を使って 表現されており (負の値はエラーコードとなるため)、こちらの値が システムコール
+\fBsetpriority\fP()  と \fBgetpriority\fP()  で使用されている。 glibc
+のこれらのシステムコールのラッパー関数において、nice 値の ユーザー領域 (user\-land) とカーネル表現の間の変換が行われる。 変換式は
+\fIunice\ =\ 20\ \-\ knice\fP となる。 (したがって、カーネルの 40..1 の範囲はユーザー空間で見える \-20..19
+の範囲に対応する。)
+.SH バグ
+POSIX では nice 値はプロセス単位の設定となっている。 一方、 現在の POSIX スレッドの Linux/NPTL 実装では、 nice
+値はスレッド単位の属性である。 同じプロセスの別々のスレッドが異なる nice 値を持つ場合がある。 移植性が必要なアプリケーションではこの Linux
+の動作を前提するのは避けるべきである。 Linux の動作は将来標準に準拠した動作になるかもしれない。
+.SH 関連項目
+\fBnice\fP(1), \fBrenice\fP(1), \fBfork\fP(2), \fBcapabilities\fP(7), \fBsched\fP(7)
+.PP
+Linux カーネルのソースツリー内の \fIDocumentation/scheduler/sched\-nice\-design.txt\fP (Linux
+2.6.23 以降)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
+\%https://www.kernel.org/doc/man\-pages/ に書かれている。
diff --git a/manual/LDP_man-pages/draft/man2/getrlimit.2 b/manual/LDP_man-pages/draft/man2/getrlimit.2
new file mode 100644 (file)
index 0000000..fce6b36
--- /dev/null
@@ -0,0 +1,541 @@
+.\" Copyright (c) 1992 Drew Eckhardt, March 28, 1992
+.\" and Copyright (c) 2002, 2004, 2005, 2008, 2010 Michael Kerrisk
+.\"
+.\" %%%LICENSE_START(VERBATIM)
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date.  The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein.  The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
+.\"
+.\" Modified by Michael Haardt <michael@moria.de>
+.\" Modified 1993-07-23 by Rik Faith <faith@cs.unc.edu>
+.\" Modified 1996-01-13 by Arnt Gulbrandsen <agulbra@troll.no>
+.\" Modified 1996-01-22 by aeb, following a remark by
+.\"          Tigran Aivazian <tigran@sco.com>
+.\" Modified 1996-04-14 by aeb, following a remark by
+.\"          Robert Bihlmeyer <robbe@orcus.ping.at>
+.\" Modified 1996-10-22 by Eric S. Raymond <esr@thyrsus.com>
+.\" Modified 2001-05-04 by aeb, following a remark by
+.\"          Håvard Lygre <hklygre@online.no>
+.\" Modified 2001-04-17 by Michael Kerrisk <mtk.manpages@gmail.com>
+.\" Modified 2002-06-13 by Michael Kerrisk <mtk.manpages@gmail.com>
+.\"     Added note on nonstandard behavior when SIGCHLD is ignored.
+.\" Modified 2002-07-09 by Michael Kerrisk <mtk.manpages@gmail.com>
+.\"    Enhanced descriptions of 'resource' values
+.\" Modified 2003-11-28 by aeb, added RLIMIT_CORE
+.\" Modified 2004-03-26 by aeb, added RLIMIT_AS
+.\" Modified 2004-06-16 by Michael Kerrisk <mtk.manpages@gmail.com>
+.\"     Added notes on CAP_SYS_RESOURCE
+.\"
+.\" 2004-11-16 -- mtk: the getrlimit.2 page, which formally included
+.\" coverage of getrusage(2), has been split, so that the latter
+.\" is now covered in its own getrusage.2.
+.\"
+.\" Modified 2004-11-16, mtk: A few other minor changes
+.\" Modified 2004-11-23, mtk
+.\"    Added notes on RLIMIT_MEMLOCK, RLIMIT_NPROC, and RLIMIT_RSS
+.\"            to "CONFORMING TO"
+.\" Modified 2004-11-25, mtk
+.\"    Rewrote discussion on RLIMIT_MEMLOCK to incorporate kernel
+.\"            2.6.9 changes.
+.\"    Added note on RLIMIT_CPU error in older kernels
+.\" 2004-11-03, mtk, Added RLIMIT_SIGPENDING
+.\" 2005-07-13, mtk, documented RLIMIT_MSGQUEUE limit.
+.\" 2005-07-28, mtk, Added descriptions of RLIMIT_NICE and RLIMIT_RTPRIO
+.\" 2008-05-07, mtk / Peter Zijlstra, Added description of RLIMIT_RTTIME
+.\" 2010-11-06, mtk: Added documentation of prlimit()
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
+.\"         all rights reserved.
+.\" Translated 1997-02-22, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Updated and Modified 2001-06-02, Yuichi SATO <ysato444@yahoo.co.jp>
+.\" Updated and Modified 2001-08-18, Yuichi SATO
+.\" Updated and Modified 2002-08-25, Yuichi SATO
+.\" Updated and Modified 2004-01-17, Yuichi SATO
+.\" Updated and Modified 2004-12-30, Yuichi SATO
+.\" Updated and Modified 2005-09-10, Yuichi SATO
+.\" Updated and Modified 2005-10-11, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated and Modified 2005-10-27, Akihiro MOTOKI
+.\" Updated and Modified 2006-04-15, Akihiro MOTOKI, Catch up to LDP v2.29
+.\" Updated 2008-08-08, Akihiro MOTOKI, LDP v3.05
+.\" Updated 2008-10-13, Akihiro MOTOKI, LDP v3.11
+.\" Updated 2013-05-01, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2013-05-06, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2013-07-22, Akihiro MOTOKI <amotoki@gmail.com>
+.\"
+.TH GETRLIMIT 2 2020\-11\-01 Linux "Linux Programmer's Manual"
+.SH 名前
+getrlimit, setrlimit, prlimit \- 資源の制限を取得/設定する
+.SH 書式
+\fB#include <sys/time.h>\fP
+.br
+\fB#include <sys/resource.h>\fP
+.PP
+\fBint getrlimit(int \fP\fIresource\fP\fB, struct rlimit *\fP\fIrlim\fP\fB);\fP
+.br
+\fBint setrlimit(int \fP\fIresource\fP\fB, const struct rlimit *\fP\fIrlim\fP\fB);\fP
+.PP
+\fBint prlimit(pid_t \fP\fIpid\fP\fB, int \fP\fIresource\fP\fB, const struct rlimit
+*\fP\fInew_limit\fP\fB,\fP
+.br
+\fB struct rlimit *\fP\fIold_limit\fP\fB);\fP
+.PP
+.RS -4
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
+.RE
+.PP
+\fBprlimit\fP(): _GNU_SOURCE
+.SH 説明
+\fBgetrlimit\fP() と \fBsetrlimit\fP() は、資源 (resource) の制限 (limit) の設定と取得を行う。
+各リソースには、それに対応するソフトリミットとハードリミットがあり、 \fIrlimit\fP 構造体で定義される:
+.PP
+.in +4n
+.EX
+struct rlimit {
+    rlim_t rlim_cur;  /* ソフトリミット */
+    rlim_t rlim_max;  /* ハードリミット
+                         (rlim_cur より小さくない) */
+};
+.EE
+.in
+.PP
+ソフトリミットは、カーネルが対応するリソースに対して課す制限値である。 ハードリミットはソフトリミットの上限として働く。
+特権を持たないプロセスは、ソフトリミットの値を 0 からハードリミットの範囲に設定することと、 ハードリミットを下げることのみができる
+(一度下げたハードリミットは上げられない)。 特権プロセス (Linux では初期ユーザー名前空間で \fBCAP_SYS_RESOURCE\fP
+ケーパビリティ (capability) を持つプロセス) は ソフトリミットとハードリミットを自由に変更できる。
+.PP
+値 \fBRLIM_INFINITY\fP はリソースに制限がないことを表す (この値は \fBgetrlimit\fP()  が返す構造体と
+\fBsetrlimit\fP()  に渡す構造体の両方で使用される)。
+.PP
+\fIresource\fP 引き数は次のいずれか 1 つである。
+.TP 
+\fBRLIMIT_AS\fP
+.\" since 2.0.27 / 2.1.12
+This is the maximum size of the process's virtual memory (address space).
+The limit is specified in bytes, and is rounded down to the system page
+size.  This limit affects calls to \fBbrk\fP(2), \fBmmap\fP(2), and \fBmremap\fP(2),
+which fail with the error \fBENOMEM\fP upon exceeding this limit.  In addition,
+automatic stack expansion fails (and generates a \fBSIGSEGV\fP that kills the
+process if no alternate stack has been made available via
+\fBsigaltstack\fP(2)).  Since the value is a \fIlong\fP, on machines with a 32\-bit
+\fIlong\fP either this limit is at most 2\ GiB, or this resource is unlimited.
+.TP 
+\fBRLIMIT_CORE\fP
+This is the maximum size of a \fIcore\fP file (see \fBcore\fP(5))  in bytes that
+the process may dump.  When 0 no core dump files are created.  When nonzero,
+larger dumps are truncated to this size.
+.TP 
+\fBRLIMIT_CPU\fP
+This is a limit, in seconds, on the amount of CPU time that the process can
+consume.  When the process reaches the soft limit, it is sent a \fBSIGXCPU\fP
+signal.  The default action for this signal is to terminate the process.
+However, the signal can be caught, and the handler can return control to the
+main program.  If the process continues to consume CPU time, it will be sent
+\fBSIGXCPU\fP once per second until the hard limit is reached, at which time it
+is sent \fBSIGKILL\fP.  (This latter point describes Linux behavior.
+Implementations vary in how they treat processes which continue to consume
+CPU time after reaching the soft limit.  Portable applications that need to
+catch this signal should perform an orderly termination upon first receipt
+of \fBSIGXCPU\fP.)
+.TP 
+\fBRLIMIT_DATA\fP
+.\" commits 84638335900f1995495838fe1bd4870c43ec1f67
+.\" ("mm: rework virtual memory accounting"),
+.\" f4fcd55841fc9e46daac553b39361572453c2b88
+.\" (mm: enable RLIMIT_DATA by default with workaround for valgrind).
+This is the maximum size of the process's data segment (initialized data,
+uninitialized data, and heap).  The limit is specified in bytes, and is
+rounded down to the system page size.  This limit affects calls to
+\fBbrk\fP(2), \fBsbrk\fP(2), and (since Linux 4.7)  \fBmmap\fP(2), which fail with
+the error \fBENOMEM\fP upon encountering the soft limit of this resource.
+.TP 
+\fBRLIMIT_FSIZE\fP
+これはプロセスが作成できるファイルサイズの最大値 (バイト単位) である。 このサイズを超えてファイルを拡張すると、 \fBSIGXFSZ\fP
+シグナルを送る。 デフォルトでは、このシグナルはプロセスを終了する。 プロセスをキャッチすることもできるが、 関連するシステムコール
+(\fBwrite\fP(2), \fBtruncate\fP(2)  など) はエラー \fBEFBIG\fP で失敗する。
+.TP 
+\fBRLIMIT_LOCKS\fP (Linux 2.4.0 から 2.4.24 まで)
+.\" to be precise: Linux 2.4.0-test9; no longer in 2.4.25 / 2.5.65
+このプロセスが実行できる \fBflock\fP(2)  ロック数と \fBfcntl\fP(2)  リース数の合計値の上限である。
+.TP 
+\fBRLIMIT_MEMLOCK\fP
+This is the maximum number of bytes of memory that may be locked into RAM.
+This limit is in effect rounded down to the nearest multiple of the system
+page size.  This limit affects \fBmlock\fP(2), \fBmlockall\fP(2), and the
+\fBmmap\fP(2)  \fBMAP_LOCKED\fP operation.  Since Linux 2.6.9, it also affects the
+\fBshmctl\fP(2)  \fBSHM_LOCK\fP operation, where it sets a maximum on the total
+bytes in shared memory segments (see \fBshmget\fP(2))  that may be locked by
+the real user ID of the calling process.  The \fBshmctl\fP(2)  \fBSHM_LOCK\fP
+locks are accounted for separately from the per\-process memory locks
+established by \fBmlock\fP(2), \fBmlockall\fP(2), and \fBmmap\fP(2)  \fBMAP_LOCKED\fP; a
+process can lock bytes up to this limit in each of these two categories.
+.IP
+In Linux kernels before 2.6.9, this limit controlled the amount of memory
+that could be locked by a privileged process.  Since Linux 2.6.9, no limits
+are placed on the amount of memory that a privileged process may lock, and
+this limit instead governs the amount of memory that an unprivileged process
+may lock.
+.TP 
+\fBRLIMIT_MSGQUEUE\fP (Linux 2.6.8 以降)
+This is a limit on the number of bytes that can be allocated for POSIX
+message queues for the real user ID of the calling process.  This limit is
+enforced for \fBmq_open\fP(3).  Each message queue that the user creates counts
+(until it is removed)  against this limit according to the formula:
+.IP
+    Since Linux 3.5:
+.IP
+.EX
+        bytes = attr.mq_maxmsg * sizeof(struct msg_msg) +
+                min(attr.mq_maxmsg, MQ_PRIO_MAX) *
+                      sizeof(struct posix_msg_tree_node)+
+                                /* オーバーヘッド分 */
+                attr.mq_maxmsg * attr.mq_msgsize;
+                                /* メッセージデータ分 */
+.EE
+.IP
+    Linux 3.4 and earlier:
+.IP
+.EX
+        bytes = attr.mq_maxmsg * sizeof(struct msg_msg *) +
+                                /* オーバーヘッド分 */
+                attr.mq_maxmsg * attr.mq_msgsize;
+                                /* メッセージデータ分 */
+.EE
+.IP
+ここで \fIattr\fP は \fImq_attr\fP 構造体であり、 \fBmq_open\fP(3)  の第 4 引き数として指定される。 また、構造体
+\fImsg_msg\fP と \fIposix_msg_tree_node\fP はカーネル内部の構造体である。
+.IP
+上記の式での「オーバーヘッド」加算分は、実装において必要となるオーバーヘッドを考慮したものである。 また、これにより、ユーザーが長さ 0
+のメッセージを無制限に作れないことが保証される (このようなメッセージであっても、 記録のためのオーバーヘッドでシステムメモリーを消費する)。
+.TP 
+\fBRLIMIT_NICE\fP (Linux 2.6.12 以降, 下記の「バグ」の節も参照)
+This specifies a ceiling to which the process's nice value can be raised
+using \fBsetpriority\fP(2)  or \fBnice\fP(2).  The actual ceiling for the nice
+value is calculated as \fI20\ \-\ rlim_cur\fP.  The useful range for this limit
+is thus from 1 (corresponding to a nice value of 19) to 40 (corresponding to
+a nice value of \-20).  This unusual choice of range was necessary because
+negative numbers cannot be specified as resource limit values, since they
+typically have special meanings.  For example, \fBRLIM_INFINITY\fP typically is
+the same as \-1.  For more detail on the nice value, see \fBsched\fP(7).
+.TP 
+\fBRLIMIT_NOFILE\fP
+このプロセスがオープンできるファイルディスクリプター数の最大値より 1 大きい値を指定する。 (\fBopen\fP(2), \fBpipe\fP(2),
+\fBdup\fP(2)  などにより) この上限を超えようとした場合、エラー \fBEMFILE\fP が発生する (歴史的に、BSD ではこの上限は
+\fBRLIMIT_OFILE\fP という名前となっている)。
+.IP
+Since Linux 4.5, this limit also defines the maximum number of file
+descriptors that an unprivileged process (one without the
+\fBCAP_SYS_RESOURCE\fP capability) may have "in flight" to other processes, by
+being passed across UNIX domain sockets.  This limit applies to the
+\fBsendmsg\fP(2)  system call.  For further details, see \fBunix\fP(7).
+.TP 
+\fBRLIMIT_NPROC\fP
+This is a limit on the number of extant process (or, more precisely on
+Linux, threads)  for the real user ID of the calling process.  So long as
+the current number of processes belonging to this process's real user ID is
+greater than or equal to this limit, \fBfork\fP(2)  fails with the error
+\fBEAGAIN\fP.
+.IP
+The \fBRLIMIT_NPROC\fP limit is not enforced for processes that have either the
+\fBCAP_SYS_ADMIN\fP or the \fBCAP_SYS_RESOURCE\fP capability.
+.TP 
+\fBRLIMIT_RSS\fP
+.\" As at kernel 2.6.12, this limit still does nothing in 2.6 though
+.\" talk of making it do something has surfaced from time to time in LKML
+.\"       -- MTK, Jul 05
+プロセスの resident set (RAM 上に存在する仮想ページの数) の 上限である (バイト単位)。 この制限は 2.4.30
+より前でしか影響がなく、 \fBmadvise\fP(2)  に \fBMADV_WILLNEED\fP を指定した関数コールにしか影響しない。
+.TP 
+\fBRLIMIT_RTPRIO\fP (Linux 2.6.12 以降, バグの節も参照)
+\fBsched_setscheduler\fP(2)  や \fBsched_setparam\fP(2)
+を使って設定できる、そのプロセスのリアルタイム優先度の上限を指定する。
+.IP
+For further details on real\-time scheduling policies, see \fBsched\fP(7)
+.TP 
+\fBRLIMIT_RTTIME\fP (Linux 2.6.25 以降)
+リアルタイムスケジューリング方針でスケジューリングされるプロセスが ブロッキング型のシステムコールを呼び出さずに消費することのできる CPU
+時間の合計についての上限を (マイクロ秒単位で) 指定する。 この上限の目的のため、プロセスがブロッキング型のシステムコールを 呼び出す度に、消費された
+CPU 時間のカウントは 0 にリセットされる。 プロセスが CPU を使い続けようとしたが他のプロセスに置き換えられた (preempted)
+場合や、そのプロセスのタイムスライスが満了した場合、 そのプロセスが \fBsched_yield\fP(2)  を呼び出した場合は、CPU
+時間のカウントはリセットされない。
+.IP
+ソフトリミットに達すると、そのプロセスに \fBSIGXCPU\fP シグナルが送られる。そのプロセスがこのシグナルを捕捉するか 無視して、CPU
+時間を消費し続けた場合には、 ハードリミットに達するまで 1 秒に 1 回 \fBSIGXCPU\fP が生成され続けることになる。
+ハードリミットに達した時点で、そのプロセスには \fBSIGKILL\fP シグナルが送られる。
+.IP
+この上限を意図的に使用するのは、暴走したリアルタイムプロセスを 停止して、システムが動かなくなるのを避ける場合である。
+.IP
+For further details on real\-time scheduling policies, see \fBsched\fP(7)
+.TP 
+\fBRLIMIT_SIGPENDING\fP (Linux 2.6.8 以降)
+.\" This replaces the /proc/sys/kernel/rtsig-max system-wide limit
+.\" that was present in kernels <= 2.6.7.  MTK Dec 04
+呼び出し元プロセスの実ユーザー ID に対して キューに入れられるシグナルの
+数の制限を指定する。この制限をチェックするため、標準シグナルとリアルタ
+イムシグナルの両方がカウントされる。しかし、この制限は \fBsigqueue\fP(3)
+に対してのみ適用され、 \fBkill\fP(2) 使うことで、そのプロセスに対してま
+だキューに入れられていない シグナルのインスタンスをキューに入れることが
+できる。
+.TP 
+\fBRLIMIT_STACK\fP
+プロセススタックの最大サイズをバイト単位で指定する。 この上限に達すると、 \fBSIGSEGV\fP シグナルが生成される。 このシグナルを扱うためには、
+プロセスは代りのシグナルスタック (\fBsigaltstack\fP(2))  を使用しなければならない。
+.IP
+Linux 2.6.23 以降では、この制限はプロセスのコマンドライン引き数と環境変数
+に使用される空間の合計サイズの上限の決定にも使用される。詳細については \fBexecve\fP(2)  を参照。
+.SS prlimit()
+.\" commit c022a0acad534fd5f5d5f17280f6d4d135e74e81
+.\" Author: Jiri Slaby <jslaby@suse.cz>
+.\" Date:   Tue May 4 18:03:50 2010 +0200
+.\"
+.\"     rlimits: implement prlimit64 syscall
+.\"
+.\" commit 6a1d5e2c85d06da35cdfd93f1a27675bfdc3ad8c
+.\" Author: Jiri Slaby <jslaby@suse.cz>
+.\" Date:   Wed Mar 24 17:06:58 2010 +0100
+.\"
+.\"     rlimits: add rlimit64 structure
+.\"
+Linux 固有の \fBprlimit\fP() システムコールは、 \fBsetrlimit\fP() と \fBgetrlimit\fP
+の機能を合わせて拡張したものである。 このシステムコールを使って、任意のプロセスのリソース上限の設定と取得を行うことができる。
+.PP
+\fIresource\fP 引き数は \fBsetrlimit\fP() や \fBgetrlimit\fP() と同じ意味である。
+.PP
+\fInew_limit\fP 引き数が NULL 以外の場合、 \fInew_limit\fP が指す \fIrlimit\fP 構造体を使って \fIresource\fP
+のソフトリミットとハードリミットの新しい値が設定される。 \fIold_limit\fP 引き数が NULL 以外の場合、 \fBprlimit\fP()
+の呼び出しが成功すると、 \fIresource\fP の直前のソフトリミットとハードリミットが \fIold_limit\fP が指す \fIrlimit\fP
+構造体に格納される。
+.PP
+.\" FIXME . this permission check is strange
+.\" Asked about this on LKML, 7 Nov 2010
+.\"     "Inconsistent credential checking in prlimit() syscall"
+The \fIpid\fP argument specifies the ID of the process on which the call is to
+operate.  If \fIpid\fP is 0, then the call applies to the calling process.  To
+set or get the resources of a process other than itself, the caller must
+have the \fBCAP_SYS_RESOURCE\fP capability in the user namespace of the process
+whose resource limits are being changed, or the real, effective, and saved
+set user IDs of the target process must match the real user ID of the caller
+\fIand\fP the real, effective, and saved set group IDs of the target process
+must match the real group ID of the caller.
+.SH 返り値
+成功した場合、これらのシステムコールは 0 を返す。
+エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。
+.SH エラー
+.TP 
+\fBEFAULT\fP
+場所を指すポインター引き数がアクセス可能なアドレス空間外を指している。
+.TP 
+\fBEINVAL\fP
+\fIresource\fP で指定された値が有効でない。
+または、 \fBsetrlimit\fP() や \fBprlimit\fP() で、
+\fIrlim\->rlim_cur\fP が \fIrlim\->rlim_max\fP よりも大きかった。
+.TP 
+\fBEPERM\fP
+非特権プロセスがハードリミットを増やそうとした。 この操作には \fBCAP_SYS_RESOURCE\fP ケーパビリティが必要である。
+.TP 
+\fBEPERM\fP
+呼び出し元がハードリミット \fBRLIMIT_NOFILE\fP を \fI/proc/sys/fs/nr_open\fP (\fBproc\fP(5) 参照)
+で定義される最大値より大きな値に増やそうとした。
+.TP 
+\fBEPERM\fP
+(\fBprlimit\fP()) 呼び出し元のプロセスが \fIpid\fP で指定されたプロセスの上限を設定する許可を持っていなかった。
+.TP 
+\fBESRCH\fP
+\fIpid\fP で指定された ID のプロセスが見つからなかった。
+.SH バージョン
+\fBprlimit\fP() システムコールは Linux 2.6.36 以降で利用できる。 ライブラリのサポートは glibc 2.13
+以降で利用できる。
+.SH 属性
+この節で使用されている用語の説明については、 \fBattributes\fP(7) を参照。
+.TS
+allbox;
+lbw35 lb lb
+l l l.
+インターフェース       属性  値
+T{
+\fBgetrlimit\fP(),
+\fBsetrlimit\fP(),
+\fBprlimit\fP()
+T}     Thread safety   MT\-Safe
+.TE
+.sp 1
+.SH 準拠
+\fBgetrlimit\fP(), \fBsetrlimit\fP(): POSIX.1\-2001, POSIX.1\-2008, SVr4, 4.3BSD.
+.PP
+\fBprlimit\fP(): Linux 固有。
+.PP
+\fBRLIMIT_MEMLOCK\fP と \fBRLIMIT_NPROC\fP は BSD から派生し、 POSIX.1 には指定されていない。これらは BSD
+系と Linux に存在するが、他の実装は少ない。 \fBRLIMIT_RSS\fP は BSD から派生し、POSIX.1
+には指定されていない。それにも関わらず多くの実装で存在する。 \fBRLIMIT_MSGQUEUE\fP, \fBRLIMIT_NICE\fP,
+\fBRLIMIT_RTPRIO\fP, \fBRLIMIT_RTTIME\fP, \fBRLIMIT_SIGPENDING\fP は Linux 固有のものである。
+.SH 注意
+\fBfork\fP(2)  で作成された作成された子プロセスは、 親プロセスのリソース制限を継承する。 \fBexecve\fP(2)
+の前後でリソース制限は保存される。
+.PP
+Resource limits are per\-process attributes that are shared by all of the
+threads in a process.
+.PP
+リソースのソフトリミットをそのプロセスが現在のリソース使用量より小さい値に設定することはできる
+(但し、そのプロセスはそれ以降そのリソースの使用量を増やすことができなくなる)。
+.PP
+シェルのリソース制限は、シェルの組み込みコマンドである \fIulimit\fP (\fBcsh\fP(1)  では \fIlimit )\fP
+を使って設定することができる。 このシェルのリソース制限は、コマンドを実行してシェルが生成するプロセス に引き継がれる。
+.PP
+Linux 2.6.24 以降では、 プロセスのリソース上限は \fI/proc/[pid]/limits\fP で知ることができる。 \fBproc\fP(5)
+参照。
+.PP
+古いシステムでは、 \fBsetrlimit\fP()  と同様の目的を持つ関数 \fBvlimit\fP()  が提供されていた。 後方互換性のため、glibc
+でも \fBvlimit\fP()  を提供している。 全ての新しいアプリケーションでは、 \fBsetrlimit\fP()  を使用すべきである。
+.SS "C ライブラリとカーネル ABI の違い"
+バージョン 2.13 以降では、 glibc の \fBgetrlimit\fP() と \fBsetrlimit\fP()
+のラッパー関数はもはや対応するシステムコールを呼び出さず、 代わりに「バグ」の節で説明されている理由から \fBprlimit\fP() を利用している。
+.PP
+The name of the glibc wrapper function is \fBprlimit\fP(); the underlying
+system call is \fBprlimit64\fP().
+.SH バグ
+以前の Linux カーネルでは、プロセスがソフトまたはハード \fBRLIMIT_CPU\fP リミットに達した場合に送られる \fBSIGXCPU\fP と
+\fBSIGKILL\fP シグナルが、本来送られるべき時点の 1 (CPU) 秒後に送られてしまう。 これはカーネル 2.6.8 で修正された。
+.PP
+.\" see http://marc.theaimsgroup.com/?l=linux-kernel&m=114008066530167&w=2
+2.6.17 より前の 2.6.x カーネルでは、 \fBRLIMIT_CPU\fP リミットが 0 の場合、 (\fBRLIM_INFINITY\fP
+と同じように) 「制限なし」と間違って解釈されていた。 Linux 2.6.17 以降では、リミットを 0 に設定した場合にも
+効果を持つようになっているが、実際にはリミットの値は 1 秒となる。
+.PP
+.\" See https://lwn.net/Articles/145008/
+カーネル 2.6.12 には、 \fBRLIMIT_RTPRIO\fP が動作しないというバグがある。この問題はカーネル 2.6.13 で修正されている。
+.PP
+.\" see http://marc.theaimsgroup.com/?l=linux-kernel&m=112256338703880&w=2
+カーネル 2.6.12 では、 \fBgetpriority\fP(2)  と \fBRLIMIT_NICE\fP
+が返す優先度の範囲が一つずれていた。このため、nice 値の実際の上限が \fI19\ \-\ rlim_cur\fP
+になってしまうという影響があった。これはカーネル 2.6.13 で修正された。
+.PP
+.\" The relevant patch, sent to LKML, seems to be
+.\" http://thread.gmane.org/gmane.linux.kernel/273462
+.\" From: Roland McGrath <roland <at> redhat.com>
+.\" Subject: [PATCH 7/7] make RLIMIT_CPU/SIGXCPU per-process
+.\" Date: 2005-01-23 23:27:46 GMT
+.\" Tested Solaris 10, FreeBSD 9, OpenBSD 5.0
+.\" FIXME . https://bugzilla.kernel.org/show_bug.cgi?id=50951
+Linux 2.6.12 以降では、 プロセスがその \fBRLIMIT_CPU\fP ソフトリミットに達し、 \fBSIGXCPU\fP
+に対してシグナルハンドラーが設定されている場合、 シグナルハンドラーを起動するだけでなく、 カーネルは 1 秒間ソフトリミットを増やす。 そのプロセスが
+CPU 時間を消費し続けている限り、 ハードリミットに達するまで、この動作が繰り返される。 ハードリミットに達すると、その時点でプロセスは kill
+される。 他の実装では、上記のような \fBRLIMIT_CPU\fP ソフトリミットの変更は行われず、 おそらく Linux の動作は標準に準拠していない。
+移植性が必要なアプリケーションではこの Linux 固有の動作を前提にするのは避けるべきである。 Linux 固有の上限
+\fBRLIMIT_RTTIME\fP でも、 ソフトリミットに達した場合に同じ動作となる。
+.PP
+.\" d3561f78fd379a7110e46c87964ba7aa4120235c
+2.4.22 より前のカーネルでは、 \fIrlim\->rlim_cur\fP が \fIrlim\->rlim_max\fP より大きかった場合、
+\fBsetrlimit\fP()  での \fBEINVAL\fP エラーを検出できない。
+.PP
+.\"
+Linux doesn't return an error when an attempt to set \fBRLIMIT_CPU\fP has
+failed, for compatibility reasons.
+.SS "32 ビットプラットフォームにおける「大きな」リソース上限値の表現"
+.\" Linux still uses long for limits internally:
+.\" c022a0acad534fd5f5d5f17280f6d4d135e74e81
+.\" kernel/sys.c:do_prlimit() still uses struct rlimit which
+.\" uses kernel_ulong_t for its members, i.e. 32-bit  on 32-bit kernel.
+.\" https://bugzilla.kernel.org/show_bug.cgi?id=5042
+.\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=12201
+glibc の \fBgetrlimit\fP() と \fBsetrlimit\fP() ラッパー関数は、32 ビットプラットフォームであっても 64 ビットの
+\fIrlim_t\fP データ型を使用する。 しかし、 \fBgetrlimit\fP() と \fBsetrlimit\fP() システムコールで使用される
+\fIrlim_t\fP データ型は (32 ビットの) \fIunsigned long\fP である。 さらに、 Linux では、 カーネルは 32
+ビットプラットフォームではリソース上限を \fIunsigned long\fP として表現している。 しかしながら、 32
+ビットデータ型は十分な大きさではない。 ここで最も関係がある上限値は \fBRLIMIT_FSIZE\fP である。
+この上限はファイルサイズの最大値であり、実用性の面からは、 この上限をファイルオフセットを表現するのに使用されている型、 つまり 64 ビットの
+\fBoff_t\fP (\fI_FILE_OFFSET_BITS=64\fP でコンパイルしたプログラムの場合)、 と同じ幅を持つ型、を使って表現すべきである。
+.PP
+カーネルのこの制限に対する対策として、 プログラムがリソース上限を 32 ビットの \fIunsigned long\fP
+で表現できる値よりも大きな値に設定しようとした際には、 glibc の \fBsetrlimit\fP() ラッパー関数はこの上限値を黙って
+\fBRLIM_INFINITY\fP に変換していた。 言い換えると、指定されたリソース上限値は黙って無視されていた。
+.PP
+.\" https://www.sourceware.org/bugzilla/show_bug.cgi?id=12201
+バージョン 2.13 以降の glibc では、 \fBgetrlimit\fP() と \fBsetrlimit\fP()
+システムコールの制限に対する回避手段として、
+\fBsetrlimit\fP() と \fBgetrlimit\fP() を \fBprlimit\fP() を呼び出すラッパー関数として実装している。
+.SH 例
+以下のプログラムに \fBprlimit\fP() の使用例を示す。
+.PP
+.EX
+#define _GNU_SOURCE
+#define _FILE_OFFSET_BITS 64
+#include <stdint.h>
+#include <stdio.h>
+#include <time.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/resource.h>
+
+#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \e
+                        } while (0)
+
+int
+main(int argc, char *argv[])
+{
+    struct rlimit old, new;
+    struct rlimit *newp;
+    pid_t pid;
+
+    if (!(argc == 2 || argc == 4)) {
+        fprintf(stderr, "Usage: %s <pid> [<new\-soft\-limit> "
+                "<new\-hard\-limit>]\en", argv[0]);
+        exit(EXIT_FAILURE);
+    }
+
+    pid = atoi(argv[1]);        /* PID of target process */
+
+    newp = NULL;
+    if (argc == 4) {
+        new.rlim_cur = atoi(argv[2]);
+        new.rlim_max = atoi(argv[3]);
+        newp = &new;
+    }
+
+    /* Set CPU time limit of target process; retrieve and display
+       previous limit */
+
+    if (prlimit(pid, RLIMIT_CPU, newp, &old) == \-1)
+        errExit("prlimit\-1");
+    printf("Previous limits: soft=%jd; hard=%jd\en",
+            (intmax_t) old.rlim_cur, (intmax_t) old.rlim_max);
+
+    /* Retrieve and display new CPU time limit */
+
+    if (prlimit(pid, RLIMIT_CPU, NULL, &old) == \-1)
+        errExit("prlimit\-2");
+    printf("New limits: soft=%jd; hard=%jd\en",
+            (intmax_t) old.rlim_cur, (intmax_t) old.rlim_max);
+
+    exit(EXIT_SUCCESS);
+}
+.EE
+.SH 関連項目
+\fBprlimit\fP(1), \fBdup\fP(2), \fBfcntl\fP(2), \fBfork\fP(2), \fBgetrusage\fP(2),
+\fBmlock\fP(2), \fBmmap\fP(2), \fBopen\fP(2), \fBquotactl\fP(2), \fBsbrk\fP(2),
+\fBshmctl\fP(2), \fBmalloc\fP(3), \fBsigqueue\fP(3), \fBulimit\fP(3), \fBcore\fP(5),
+\fBcapabilities\fP(7), \fBcgroups\fP(7), \fBcredentials\fP(7), \fBsignal\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
+\%https://www.kernel.org/doc/man\-pages/ に書かれている。
index 662b2c4..dfcef3d 100644 (file)
@@ -194,8 +194,8 @@ T}  Thread safety   MT\-Safe
 .TE
 .sp 1
 .SH 準拠
-POSIX.1\-2001, POSIX.1\-2008, SVr4, 4.3BSD.  POSIX.1 specifies \fBgetrusage\fP(),
-but specifies only the fields \fIru_utime\fP and \fIru_stime\fP.
+POSIX.1\-2001, POSIX.1\-2008, SVr4, 4.3BSD.  POSIX.1 は \fBgetrusage\fP()
+を規定しているが、規定しているフィールドは \fIru_utime\fP と \fIru_stime\fP だけである。
 .PP
 \fBRUSAGE_THREAD\fP は Linux 固有である。
 .SH 注意
@@ -212,12 +212,11 @@ but specifies only the fields \fIru_utime\fP and \fIru_stime\fP.
 .PP
 このページの最初で示した構造体の定義は 4.3BSD Reno のものである。
 .PP
-Ancient systems provided a \fBvtimes\fP()  function with a similar purpose to
-\fBgetrusage\fP().  For backward compatibility, glibc (up until version 2.32)
-also provides \fBvtimes\fP().  All new applications should be written using
-\fBgetrusage\fP().
+古いシステムでは、 \fBgetrusage\fP() と同様の目的を持つ関数 \fBvtimes\fP() が提供されていた。後方互換性のため、glibc
+(バージョン 2.32 まで) でも \fBvtimes\fP() を提供している。全ての新しいアプリケーションでは \fBgetrusage\fP()
+を使用すべきである。
 .PP
-See also the description of \fI/proc/[pid]/stat\fP in \fBproc\fP(5).
+\fBproc\fP(5)  にある \fI/proc/[pid]/stat\fP の説明も参照のこと。
 .SH 関連項目
 \fBclock_gettime\fP(2), \fBgetrlimit\fP(2), \fBtimes\fP(2), \fBwait\fP(2), \fBwait4\fP(2),
 \fBclock\fP(3)
diff --git a/manual/LDP_man-pages/draft/man2/getsid.2 b/manual/LDP_man-pages/draft/man2/getsid.2
new file mode 100644 (file)
index 0000000..d116517
--- /dev/null
@@ -0,0 +1,89 @@
+.\" Copyright (C) 1996 Andries Brouwer (aeb@cwi.nl)
+.\" and Copyright (C) 2016 Michael Kerrisk <mtk.manpages@gmail.com>
+.\"
+.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2 of
+.\" the License, or (at your option) any later version.
+.\"
+.\" The GNU General Public License's references to "object code"
+.\" and "executables" are to be interpreted as the output of any
+.\" document formatting or typesetting system, including
+.\" intermediate and printed output.
+.\"
+.\" This manual is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public
+.\" License along with this manual; if not, see
+.\" <http://www.gnu.org/licenses/>.
+.\" %%%LICENSE_END
+.\"
+.\" Modified Thu Oct 31 14:18:40 1996 by Eric S. Raymond <esr@y\thyrsus.com>
+.\" Modified 2001-12-17, aeb
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
+.\"         all rights reserved.
+.\" Translated Thu Dec 11 23:36:57 JST 1997
+.\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Updated Thu Jan 17 JST 2001 by Kentaro Shirakata <argrath@ub32.org>
+.\"
+.TH GETSID 2 2017\-09\-15 Linux "Linux Programmer's Manual"
+.SH 名前
+getsid \- セッション ID を取得する。
+.SH 書式
+\fB#include <sys/types.h>\fP
+.br
+\fB#include <unistd.h>\fP
+.PP
+\fBpid_t getsid(pid_t\fP\fI pid\fP\fB);\fP
+.PP
+.RS -4
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
+.RE
+.PP
+.ad l
+.PD 0
+\fBgetsid\fP():
+.RS 4
+.\"    || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
+_XOPEN_SOURCE\ >=\ 500
+    || /* glibc 2.12 以降: */ _POSIX_C_SOURCE\ >=\ 200809L
+.RE
+.PD
+.ad
+.SH 説明
+\fIgetsid(0)\fP は呼び出し元のプロセスのセッション ID を返す。 \fBgetsid\fP() はプロセス ID が \fIpid\fP
+のプロセスのセッション ID を返す。 \fIpid\fP が 0 の場合、 \fBgetsid\fP() は呼び出し元プロセスのセッション ID を返す。
+.SH 返り値
+成功すると、セッション ID が返される。 エラーの場合、\fI(pid_t) \-1\fP が返され、 \fIerrno\fP が適切に設定される。
+.SH エラー
+.TP 
+\fBEPERM\fP
+プロセス ID \fIpid\fP のプロセスは存在するが、呼び出し元のプロセスと同じセッションではなく、 さらに実装がこの状態をエラーと判断した場合。
+.TP 
+\fBESRCH\fP
+プロセス ID が \fIpid\fP のプロセスがない。
+.SH バージョン
+.\" Linux has this system call since Linux 1.3.44.
+.\" There is libc support since libc 5.2.19.
+このシステムコールは Linux バージョン 2.0 以降で利用可能である。
+.SH 準拠
+POSIX.1\-2001, POSIX.1\-2008, SVr4.
+.SH 注意
+Linux は \fBEPERM\fP を返さない。
+.PP
+セッションとセッション ID の説明は \fBcredentials\fP(7) を参照。
+.SH 関連項目
+\fBgetpgid\fP(2), \fBsetsid\fP(2), \fBcredentials\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
+\%https://www.kernel.org/doc/man\-pages/ に書かれている。
diff --git a/manual/LDP_man-pages/draft/man2/iopl.2 b/manual/LDP_man-pages/draft/man2/iopl.2
new file mode 100644 (file)
index 0000000..a833884
--- /dev/null
@@ -0,0 +1,97 @@
+.\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu)
+.\" Portions extracted from linux/kernel/ioport.c (no copyright notice).
+.\"
+.\" %%%LICENSE_START(VERBATIM)
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date.  The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein.  The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
+.\"
+.\" Modified Tue Aug  1 16:47    1995 by Jochen Karrer
+.\"                              <cip307@cip.physik.uni-wuerzburg.de>
+.\" Modified Tue Oct 22 08:11:14 EDT 1996 by Eric S. Raymond <esr@thyrsus.com>
+.\" Modified Fri Nov 27 14:50:36 CET 1998 by Andries Brouwer <aeb@cwi.nl>
+.\" Modified, 27 May 2004, Michael Kerrisk <mtk.manpages@gmail.com>
+.\"     Added notes on capability requirements
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 1997 HORIMOTO Masafumi
+.\"         all rights reserved.
+.\" Translated 1997-09-29, HORIMOTO Masafumi
+.\" Modified 1999-04-03, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Updated 2003-10-12, Kentaro Shirakata <argrath@ub32.org>
+.\" Updated 2005-02-24, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated 2013-05-06, Akihiro MOTOKI <amotoki@gmail.com>
+.\"
+.TH IOPL 2 2020\-08\-13 Linux "Linux Programmer's Manual"
+.SH 名前
+iopl \- I/O 特権レベルを変更する
+.SH 書式
+\fB#include <sys/io.h>\fP
+.PP
+\fBint iopl(int \fP\fIlevel\fP\fB);\fP
+.SH 説明
+\fBiopl\fP()  は呼び出し元のスレッドの I/O 特権レベルを \fIlevel\fP の下位 2 ビットで指定した値に変更する。
+.PP
+通常のスレッドの I/O 特権レベルは 0 である。許可 (permissions) は親から子に継承される。
+.PP
+This call is deprecated, is significantly slower than \fBioperm\fP(2), and is
+only provided for older X servers which require access to all 65536 I/O
+ports.  It is mostly for the i386 architecture.  On many other architectures
+it does not exist or will always return an error.
+.SH 返り値
+成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。
+.SH エラー
+.TP 
+\fBEINVAL\fP
+引き数 \fIlevel\fP が 3 より大きい。
+.TP 
+\fBENOSYS\fP
+このシステムコールは実装されていない。
+.TP 
+\fBEPERM\fP
+呼び出し元スレッドに \fBiopl\fP()  を呼び出すのに十分な権限がなかった。 I/O 特権レベルを現在の値より上げるには
+\fBCAP_SYS_RAWIO\fP ケーパビリティが必要である。
+.SH 準拠
+\fBipc\fP()  は Linux 特有であり、 移植を意図したプログラムでは 使用してはいけない。
+.SH 注意
+.\" Libc5 treats it as a system call and has a prototype in
+.\" .IR <unistd.h> .
+.\" Glibc1 does not have a prototype.
+glibc2 は \fI<sys/io.h>\fP と \fI<sys/perm.h>\fP の両方にプロトタイプを持っている。
+後者は i386 のみで利用可能なので、使用すべきではない。
+.PP
+Prior to Linux 5.5 \fBiopl\fP()  allowed the thread to disable interrupts while
+running at a higher I/O privilege level.  This will probably crash the
+system, and is not recommended.
+.PP
+Prior to Linux 3.7, on some architectures (such as i386), permissions
+\fIwere\fP inherited by the child produced by \fBfork\fP(2)  and were preserved
+across \fBexecve\fP(2).  This behavior was inadvertently changed in Linux 3.7,
+and won't be reinstated.
+.SH 関連項目
+\fBioperm\fP(2), \fBoutb\fP(2), \fBcapabilities\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
+\%https://www.kernel.org/doc/man\-pages/ に書かれている。
index cc75e76..980d979 100644 (file)
@@ -44,8 +44,8 @@ ioprio_get, ioprio_set \- I/O スケジューリングクラスと優先度の
 .PP
 \fI注意\fP: これらのシステムコールには glibc ラッパー関数は存在しない。 「注意」の節を参照。
 .SH 説明
-The \fBioprio_get\fP()  and \fBioprio_set\fP()  system calls get and set the I/O
-scheduling class and priority of one or more threads.
+システムコール \fBioprio_get\fP()  / \fBioprio_set\fP()  は、(1つ以上の) スレッドの I/O スケジューリングクラスと
+優先度の取得/設定を行う。
 .PP
 \fIwhich\fP と \fIwho\fP 引き数でシステムコールの操作対象となるスレッドを指示する。 \fIwhich\fP 引き数は、 \fIwho\fP
 をどのように解釈するかを決めるもので、以下のいずれか一つを指定する。
@@ -129,8 +129,8 @@ kernels before version 2.6.24, once an I/O priority had been set using
 the default.  Since Linux 2.6.24, specifying \fIioprio\fP as 0 can be used to
 reset to the default I/O scheduling behavior.
 .SS "I/O スケジューラの選択"
-I/O schedulers are selected on a per\-device basis via the special file
-\fI/sys/block/<device>/queue/scheduler\fP.
+I/O スケジューラの選択はデバイス単位に行われ、その選択は スペシャルファイル
+\fI/sys/block/<device>/queue/scheduler\fP 経由で行われる。
 .PP
 現在の I/O スケジューラは \fI/sys\fP ファイルシステム経由で参照できる。例えば、以下のコマンドを実行すると、
 現在カーネルでロードされているスケジューラの全リストが表示される。
@@ -142,10 +142,9 @@ noop anticipatory deadline [cfq]
 .EE
 .in
 .PP
-The scheduler surrounded by brackets is the one actually in use for the
-device (\fIsda\fP in the example).  Setting another scheduler is done by
-writing the name of the new scheduler to this file.  For example, the
-following command will set the scheduler for the \fIsda\fP device to \fIcfq\fP:
+括弧で囲まれたスケジューラがそのデバイス (上の例では \fIsda\fP)  について実際に使用されているスケジューラである。
+別のスケジューラを設定するには、このファイルに新しいスケジューラ名を 書き込めばよい。例えば、以下のコマンドを実行すると、デバイス \fIsda\fP
+のスケジューラとして \fIcfq\fP が設定される。
 .PP
 .in +4n
 .EX
@@ -156,21 +155,17 @@ Password:
 .in
 .\"
 .SS "Completely Fair Queuing (CFQ) I/O スケジューラ"
-Since version 3 (also known as CFQ Time Sliced), CFQ implements I/O nice
-levels similar to those of CPU scheduling.  These nice levels are grouped
-into three scheduling classes, each one containing one or more priority
-levels:
+バージョン 3 (別名 CFQ Time Sliced) 以降、 CPU スケジューリングと同様の I/O nice レベルが CFQ
+に実装されている。 これらの nice レベルは 3つのスケジューリングクラスに分類でき、 各スケジューリングクラスにつき
+1つ以上の優先度レベルが定義されている。
 .TP 
 \fBIOPRIO_CLASS_RT\fP (1)
-This is the real\-time I/O class.  This scheduling class is given higher
-priority than any other class: processes from this class are given first
-access to the disk every time.  Thus, this I/O class needs to be used with
-some care: one I/O real\-time process can starve the entire system.  Within
-the real\-time class, there are 8 levels of class data (priority) that
-determine exactly how much time this process needs the disk for on each
-service.  The highest real\-time priority level is 0; the lowest is 7.  In
-the future, this might change to be more directly mappable to performance,
-by passing in a desired data rate instead.
+これはリアルタイム I/O クラスである。 このスケジューリングクラスには他のクラスよりも高い優先度が与えられる。
+このクラスのプロセスには、常にディスクへのアクセスが優先して 割り当てられる。そのため、この I/O クラスを使う際には、 たった一つの リアルタイム
+I/O クラスのプロセスにより システム全体のディスクアクセスができなくなってしまうことがある という点に、注意を払う必要がある。 このクラスには、8
+段階の class data (優先度レベル) がある。 この値は、そのプロセスが 1回のディスクアクセスにどれだけの
+時間が必要かを正確に決めるためのものである。 最高のリアルタイム優先度レベルは 0 で、最低は 7 である。
+将来的には、優先度レベルは、希望するデータレートを渡すなど、 より直接的に性能条件を反映できるように変更されるかもしれない。
 .TP 
 \fBIOPRIO_CLASS_BE\fP (2)
 これは ベストエフォートスケジューリングクラスである。 このクラスは、特定の I/O 優先度を設定していないプロセスの デフォルト値である。 class
@@ -179,23 +174,18 @@ nice 値 (\fBgetpriority\fP(2)  参照) と同様のものである。 優先度
 他のプロセスとの相対的な優先度を決定する。 優先度レベルの値の範囲は 0 (最高) から 7 (最低) である。
 .TP 
 \fBIOPRIO_CLASS_IDLE\fP (3)
-This is the idle scheduling class.  Processes running at this level get I/O
-time only when no one else needs the disk.  The idle class has no class
-data.  Attention is required when assigning this priority class to a
-process, since it may become starved if higher priority processes are
-constantly accessing the disk.
-.PP
-Refer to the kernel source file \fIDocumentation/block/ioprio.txt\fP for more
-information on the CFQ I/O Scheduler and an example program.
+これは idle スケジューリングクラスである。 このレベルで動作するプロセスは他にディスクアクセスをしようとする プロセスがない場合にのみ I/O
+時間を取得する。 idle クラスには class data (優先度) は用意されていない。 プロセスにこの優先度を割り当てる際には注意が必要である。
+なぜなら、優先度の高いプロセスが常にディスクにアクセスしている場合には ディスクにアクセスできなくなる可能性があるからだ。
+.PP
+CFQ I/O スケジューラの更なる情報とサンプルプログラムについては、カーネルのソースファイル
+\fIDocumentation/block/ioprio.txt\fP を参照のこと。
 .SS "I/O 優先度の設定に必要な許可"
-Permission to change a process's priority is granted or denied based on two
-criteria:
+プロセスの優先度を変更する許可が得られるかどうかは 以下の 2 つの基準に基いて決定される。
 .TP 
 \fBプロセスの所有権\fP
-An unprivileged process may set the I/O priority only for a process whose
-real UID matches the real or effective UID of the calling process.  A
-process which has the \fBCAP_SYS_NICE\fP capability can change the priority of
-any process.
+非特権プロセスは、プロセスの実 UID が呼び出し元プロセスの実 UID もしくは 実効 UID と一致するプロセスの I/O 優先度のみを設定できる。
+\fBCAP_SYS_NICE\fP ケーパビリティを持つプロセスは、どのプロセスの優先度でも変更できる。
 .TP 
 \fBどの優先度に設定しようとしているか\fP
 非常に高い優先度 (\fBIOPRIO_CLASS_RT\fP)  を設定しようとする場合、 \fBCAP_SYS_ADMIN\fP ケーパビリティが必要である。
diff --git a/manual/LDP_man-pages/draft/man2/ipc.2 b/manual/LDP_man-pages/draft/man2/ipc.2
new file mode 100644 (file)
index 0000000..6540f2c
--- /dev/null
@@ -0,0 +1,63 @@
+.\" Copyright (c) 1995 Michael Chastain (mec@shell.portal.com), 15 April 1995.
+.\"
+.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2 of
+.\" the License, or (at your option) any later version.
+.\"
+.\" The GNU General Public License's references to "object code"
+.\" and "executables" are to be interpreted as the output of any
+.\" document formatting or typesetting system, including
+.\" intermediate and printed output.
+.\"
+.\" This manual is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public
+.\" License along with this manual; if not, see
+.\" <http://www.gnu.org/licenses/>.
+.\" %%%LICENSE_END
+.\"
+.\" Modified Tue Oct 22 08:11:14 EDT 1996 by Eric S. Raymond <esr@thyrsus.com>
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
+.\"         all rights reserved.
+.\" Translated Sun Feb 23 16:13:46 JST 1997
+.\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Updated 2007-09-04, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.64
+.\"
+.TH IPC 2 2019\-08\-02 Linux "Linux Programmer's Manual"
+.SH 名前
+ipc \- System V IPC システムコール
+.SH 書式
+.nf
+\fBint ipc(unsigned int \fP\fIcall\fP\fB, int \fP\fIfirst\fP\fB, int \fP\fIsecond\fP\fB, int \fP\fIthird\fP\fB,\fP
+\fB        void *\fP\fIptr\fP\fB, long \fP\fIfifth\fP\fB);\fP
+.fi
+.SH 説明
+\fBipc\fP()  は メッセージ、セマフォー、共有メモリーに関する System\ V IPC コールの 共通のカーネルへのエントリーポイントである。
+\fIcall\fP はどの IPC 関数を呼び出すかを決め; 他の引き数は適切なコールへと渡される。
+.PP
+ユーザー空間プログラムは通常の名前で適切な関数を呼び出すべきである。 標準ライブラリの実装者やカーネルハッカーのみが \fBipc\fP()
+について知る必要がある。
+.SH 準拠
+\fBipc\fP()  は Linux 特有であり、 移植を意図したプログラムでは 使用してはいけない。
+.SH 注意
+いくつかのアーキテクチャー\(emfor 例えば x86\-64 や ARM\(emでは、システムコール \fBipc\fP()
+が存在しない。実際には、その代わりに \fBmsgctl\fP(2), \fBsemctl\fP(2), \fBshmctl\fP(2)
+などが独立したシステムコールとして実装されている。
+.SH 関連項目
+\fBmsgctl\fP(2), \fBmsgget\fP(2), \fBmsgrcv\fP(2), \fBmsgsnd\fP(2), \fBsemctl\fP(2),
+\fBsemget\fP(2), \fBsemop\fP(2), \fBsemtimedop\fP(2), \fBshmat\fP(2), \fBshmctl\fP(2),
+\fBshmdt\fP(2), \fBshmget\fP(2), \fBsysvipc\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
+\%https://www.kernel.org/doc/man\-pages/ に書かれている。
diff --git a/manual/LDP_man-pages/draft/man2/seteuid.2 b/manual/LDP_man-pages/draft/man2/seteuid.2
new file mode 100644 (file)
index 0000000..b0310f3
--- /dev/null
@@ -0,0 +1,118 @@
+.\" Copyright (C) 2001 Andries Brouwer (aeb@cwi.nl)
+.\"
+.\" %%%LICENSE_START(VERBATIM)
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date.  The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein.  The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
+.\"
+.\" [should really be seteuid.3]
+.\" Modified, 27 May 2004, Michael Kerrisk <mtk.manpages@gmail.com>
+.\"     Added notes on capability requirements
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 2001, 2005 Yuichi SATO
+.\"         all rights reserved.
+.\" Translated 2001-06-04, Yuichi SATO <ysato@h4.dion.ne.jp>
+.\" Updated & Modified 2005-01-04, Yuichi SATO <ysato444@yahoo.co.jp>
+.\" Updated 2010-04-23, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.24
+.\" Updated 2013-05-06, Akihiro MOTOKI <amotoki@gmail.com>
+.\"
+.TH SETEUID 2 2017\-09\-15 Linux "Linux Programmer's Manual"
+.SH 名前
+seteuid, setegid \- 実効ユーザー ID や 実効グループ ID を設定する
+.SH 書式
+\fB#include <sys/types.h>\fP
+.br
+\fB#include <unistd.h>\fP
+.PP
+\fBint seteuid(uid_t \fP\fIeuid\fP\fB);\fP
+.br
+\fBint setegid(gid_t \fP\fIegid\fP\fB);\fP
+.PP
+.RS -4
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
+.RE
+.PP
+.ad l
+\fBseteuid\fP(), \fBsetegid\fP():
+.RS 4
+_POSIX_C_SOURCE\ >=\ 200112L
+    || /* glibc 2.19 以前: */ _BSD_SOURCE
+.RE
+.ad
+.SH 説明
+\fBseteuid\fP()  は呼び出し元のプロセスの実効ユーザー ID を設定する。 非特権プロセスの場合、実効ユーザー ID に設定できるのは、
+実ユーザー ID・実効ユーザー ID・保存 set\-user\-ID のいずれかだけである。
+.PP
+.\" When
+.\" .I euid
+.\" equals \-1, nothing is changed.
+.\" (This is an artifact of the implementation in glibc of seteuid()
+.\" using setresuid(2).)
+\fBsetegid\fP()  は「ユーザー」ではなく「グループ」に対して全く同じことを行う。
+.SH 返り値
+成功した場合は 0 が返される。エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。
+.PP
+\fI注意\fP: 呼び出し元が UID 0 であっても \fBseteuid\fP() が失敗する場合がある。 \fBseteuid\fP()
+からのリターンが失敗かどうかの確認を省略することは重大なセキュリティ上のエラーとなる。
+.SH エラー
+.TP 
+\fBEINVAL\fP
+対象のユーザー ID かグループ ID がこのユーザー名前空間では有効ではない。
+.TP 
+\fBEPERM\fP
+In the case of \fBseteuid\fP(): the calling process is not privileged (does not
+have the \fBCAP_SETUID\fP capability in its user namespace) and \fIeuid\fP does
+not match the current real user ID, current effective user ID, or current
+saved set\-user\-ID.
+.IP
+In the case of \fBsetegid\fP(): the calling process is not privileged (does not
+have the \fBCAP_SETGID\fP capability in its user namespace) and \fIegid\fP does
+not match the current real group ID, current effective group ID, or current
+saved set\-group\-ID.
+.SH 準拠
+POSIX.1\-2001, POSIX.1\-2008, 4.3BSD.
+.SH 注意
+実効ユーザー (グループ) ID を保存 set\-user\-ID (保存 set\-group\-ID) に 設定できるのは、Linux 1.1.37
+(1.1.38) 以降である。 全てのシステムにおいて \fB_POSIX_SAVED_IDS\fP をチェックすべきである。
+.PP
+glibc 2.0 では、 \fBseteuid(\fP\fIeuid\fP\fB)\fP は \fBsetreuid(\-1,\fP\fI euid\fP\fB)\fP と等価であり、保存
+set\-user\-ID を変更するかもしれない。 glibc 2.1 では、 \fBsetresuid(\-1,\fP\fI euid\fP\fB, \-1)\fP
+と等価であり、保存 set\-user\-ID 変更しない。 同様のことが \fBsetegid\fP() にも言えるが、 glibc 2.2 か 2.3 で、
+実装が \fBsetregid(\-1,\fP\fI egid\fP\fB)\fP から \fBsetresgid(\-1,\fP\fI egid\fP\fB, \-1)\fP
+へ変更された点だけが違う (どの glibc バージョンで変更が行われたかは、ハードウェアアーキテクチャーによって異なる)。
+.PP
+POSIX.1 では、 \fBseteuid\fP()  (\fBsetegid\fP())  で、 \fIeuid\fP (\fIegid\fP)  として現在の実効ユーザー
+(グループ) ID と同じ値を指定可能である 必要はないとされており、いくつかの実装では \fIeuid\fP (\fIegid\fP)  として現在の実効ユーザー
+(グループ) ID と同じ値を 指定することができない。
+.SS "C ライブラリとカーネルの違い"
+Linux では、 \fBseteuid\fP() と \fBsetegid\fP() は、それぞれ \fBsetreuid\fP(2) と \fBsetregid\fP(2)
+を呼び出すライブラリ関数として実装されている。
+.SH 関連項目
+\fBgeteuid\fP(2), \fBsetresuid\fP(2), \fBsetreuid\fP(2), \fBsetuid\fP(2),
+\fBcapabilities\fP(7), \fBcredentials\fP(7), \fBuser_namespaces\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
+\%https://www.kernel.org/doc/man\-pages/ に書かれている。
index 8afbec0..88116e2 100644 (file)
@@ -88,7 +88,7 @@ Linux kernels.  See \fBsetfsuid\fP(2)  for a discussion of why the use of both
 \fBsetfsgid32\fP() が追加された。
 glibc の \fBsetfsgid\fP() のラッパー関数は
 カーネルバージョンによるこの違いを吸収している。
-.SS "C library/kernel differences"
+.SS "C ライブラリとカーネルの違い"
 In glibc 2.15 and earlier, when the wrapper for this system call determines
 that the argument can't be passed to the kernel without integer truncation
 (because the kernel is old and does not support 32\-bit group IDs), it will
diff --git a/manual/LDP_man-pages/draft/man2/setfsuid.2 b/manual/LDP_man-pages/draft/man2/setfsuid.2
new file mode 100644 (file)
index 0000000..421b0bd
--- /dev/null
@@ -0,0 +1,116 @@
+.\" Copyright (C) 1995, Thomas K. Dyas <tdyas@eden.rutgers.edu>
+.\" and Copyright (C) 2013, 2019, Michael Kerrisk <mtk.manpages@gmail.com>
+.\"
+.\" %%%LICENSE_START(VERBATIM)
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date.  The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein.  The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
+.\"
+.\" Created   1995-08-06 Thomas K. Dyas <tdyas@eden.rutgers.edu>
+.\" Modified  2000-07-01 aeb
+.\" Modified  2002-07-23 aeb
+.\" Modified, 27 May 2004, Michael Kerrisk <mtk.manpages@gmail.com>
+.\"     Added notes on capability requirements
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
+.\"         all rights reserved.
+.\" Translated Sat Mar  1 00:55:10 JST 1997
+.\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Modified Mon Sep 23 21:15:17 JST 2000
+.\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Modified 2002-09-24 by Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Modified 2005-02-24, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated 2012-04-30, Akihiro MOTOKI <amotoki@gmail.com>
+.\"
+.TH SETFSUID 2 2019\-05\-09 Linux "Linux Programmer's Manual"
+.SH 名前
+setfsuid \- ファイルシステムのチェックに用いられるユーザー ID を設定する
+.SH 書式
+\fB#include <sys/fsuid.h>\fP
+.PP
+\fBint setfsuid(uid_t \fP\fIfsuid\fP\fB);\fP
+.SH 説明
+On Linux, a process has both a filesystem user ID and an effective user ID.
+The (Linux\-specific) filesystem user ID is used for permissions checking
+when accessing filesystem objects, while the effective user ID is used for
+various other kinds of permissions checks (see \fBcredentials\fP(7)).
+.PP
+Normally, the value of the process's filesystem user ID is the same as the
+value of its effective user ID.  This is so, because whenever a process's
+effective user ID is changed, the kernel also changes the filesystem user ID
+to be the same as the new value of the effective user ID.  A process can
+cause the value of its filesystem user ID to diverge from its effective user
+ID by using \fBsetfsuid\fP()  to change its filesystem user ID to the value
+given in \fIfsuid\fP.
+.PP
+Explicit calls to \fBsetfsuid\fP()  and \fBsetfsgid\fP(2)  are (were) usually used
+only by programs such as the Linux NFS server that need to change what user
+and group ID is used for file access without a corresponding change in the
+real and effective user and group IDs.  A change in the normal user IDs for
+a program such as the NFS server is (was) a security hole that can expose it
+to unwanted signals.  (However, this issue is historical; see below.)
+.PP
+\fBsetfsuid\fP()  は、スーパーユーザーによって呼び出された場合か、 \fIfsuid\fP が呼び出し元の実ユーザーID、実効ユーザーID、
+保存セットユーザーID (saved set\-user\-ID)、現在のファイルシステムグループ ID の値のいずれかに一致する場合にのみ成功する。
+.SH 返り値
+成功時も失敗時も、 この呼び出しは直前の呼び出し元のファイルシステムユーザー ID の値を返す。
+.SH バージョン
+.\" This system call is present since Linux 1.1.44
+.\" and in libc since libc 4.7.6.
+このシステムコールはバージョン 1.2 以降の Linux に存在する。
+.SH 準拠
+\fBsetfsuid\fP()  は Linux 特有であり、移植を想定したプログラムで使用してはいけない。
+.SH 注意
+このシステムコールが導入された当時、 あるプロセスは同じ実効ユーザー ID を持つ別のプロセスにシグナルを送信できた。 これは、
+特権プロセスがファイルのアクセス許可をチェックするために自身の実効ユーザー ID を変更すると、 同じユーザー ID を持つ別の (非特権)
+プロセスが送信したシグナルを受け取るようになってしまうことを意味する。そのため、 プロセスが、 受け取りたくないシグナルを受信する状態にならずに、
+ファイルのアクセス許可をチェックするために自身のユーザー ID を変更できるように、 ファイルシステムユーザー ID 属性が追加された。 Linux
+2.0 以降では、 シグナルの送信許可の扱いは異なり (\fBkill\fP(2) 参照)、 プロセスは、
+望まないプロセスからシグナルを受信してしまう状態にならずに、 自身の実効ユーザー ID を変更することができる。 したがって、
+\fBsetfsuid\fP() は今日では不要であり、 新規のアプリケーションでは使用すべきではない (\fBsetfsgid\fP(2) も同様)。
+.PP
+元々の Linux の \fBsetfsuid\fP() システムコールは
+16 ビットのグループ ID だけに対応していた。
+その後、Linux 2.4 で、32 ビットの ID に対応した
+\fBsetfsuid32\fP() が追加された。
+glibc の \fBsetfsuid\fP() のラッパー関数は
+カーネルバージョンによるこの違いを吸収している。
+.SS "C ライブラリとカーネルの違い"
+In glibc 2.15 and earlier, when the wrapper for this system call determines
+that the argument can't be passed to the kernel without integer truncation
+(because the kernel is old and does not support 32\-bit user IDs), it will
+return \-1 and set \fIerrno\fP to \fBEINVAL\fP without attempting the system call.
+.SH バグ
+いかなる種類のエラーメッセージも返さず、 成功した場合も失敗した場合も呼び出しは同じ値を返すため、
+呼び出しが成功したか失敗したかを直接判定することはできない。 その代わり、 直前の \fBsetfsuid\fP() の呼び出しがファイルシステムグループ
+ID を変更したかどうかを判定するために、 呼び出し元はこの後に \fIsetfsuid(\-1)\fP などを呼び出して返り値を見なければならない
+(\fIsetfsuid(\-1)\fP は常に失敗する)。 最低でも、失敗した場合は \fBEPERM\fP くらいは返すべきである (呼び出し元には
+\fBCAP_SETUID\fP ケーパビリティがなかったのだから)。
+.SH 関連項目
+\fBkill\fP(2), \fBsetfsgid\fP(2), \fBcapabilities\fP(7), \fBcredentials\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
+\%https://www.kernel.org/doc/man\-pages/ に書かれている。
index 9900afa..1e44b17 100644 (file)
@@ -66,9 +66,8 @@ set\-user\-ID\-root でない set\-group\-ID プログラムにそのグルー
 \fIgid\fP で指定されたグループ ID がこのユーザー名前空間では有効ではない。
 .TP 
 \fBEPERM\fP
-The calling process is not privileged (does not have the \fBCAP_SETGID\fP
-capability in its user namespace), and \fIgid\fP does not match the real group
-ID or saved set\-group\-ID of the calling process.
+呼び出し元のプロセスに権限がなく (そのプロセスのユーザー名前空間で \fBCAP_SETGID\fP ケーパビリティがなく)、かつ \fIgid\fP
+が呼び出し元のプロセスの実グループID と保存セットグループID のどちらとも一致しない。
 .SH 準拠
 POSIX.1\-2001, POSIX.1\-2008, SVr4.
 .SH 注意
@@ -79,7 +78,7 @@ POSIX.1\-2001, POSIX.1\-2008, SVr4.
 \fBsetgid32\fP() が追加された。
 glibc の \fBsetgid\fP() のラッパー関数は
 カーネルバージョンによるこの違いを吸収している。
-.SS "C library/kernel differences"
+.SS "C ライブラリとカーネルの違い"
 At the kernel level, user IDs and group IDs are a per\-thread attribute.
 However, POSIX requires that all threads in a process share the same
 credentials.  The NPTL threading implementation handles the POSIX
index 0c5ed1b..5fa4602 100644 (file)
@@ -89,20 +89,20 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参
 .RS 4
 .\"    || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
 _XOPEN_SOURCE\ >=\ 500
-    || /* Since glibc 2.12: */ _POSIX_C_SOURCE\ >=\ 200809L
+    || /* glibc 2.12 以降: */ _POSIX_C_SOURCE\ >=\ 200809L
 .RE
 .PP
 \fBsetpgrp\fP() (POSIX.1):
 .nf
 .\"    || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
     _XOPEN_SOURCE\ >=\ 500
-        || /* Since glibc 2.19: */ _DEFAULT_SOURCE
-        || /* Glibc versions <= 2.19: */ _SVID_SOURCE
+        || /* glibc 2.19 以降: */ _DEFAULT_SOURCE
+        || /* glibc 2.19 以前: */ _SVID_SOURCE
 .fi
 .PP
 \fBsetpgrp\fP()\ (BSD), \fBgetpgrp\fP()\ (BSD):
 .nf
-    [These are available only before glibc 2.19]
+    [これらは glibc 2.19 より前でのみ利用可能]
     _BSD_SOURCE &&
         !\ (_POSIX_SOURCE || _POSIX_C_SOURCE || _XOPEN_SOURCE ||
             _GNU_SOURCE || _SVID_SOURCE)
@@ -128,8 +128,7 @@ POSIX.1 バージョンの \fBgetpgrp\fP()  は引き数を一つもとらず、
 .PP
 System\ V バージョンの \fBsetpgrp\fP()  は引き数を一つもとらず、 \fIsetpgid(0,\ 0)\fP と等価である。
 .PP
-The BSD\-specific \fBsetpgrp\fP()  call, which takes arguments \fIpid\fP and
-\fIpgid\fP, is a wrapper function that calls
+BSD 仕様の \fBsetpgrp\fP()  は \fIpid\fP と \fIpgid\fP を引き数にとり、 以下を呼び出すラッパー関数である。
 .PP
     setpgid(pid, pgid)
 .PP
@@ -182,9 +181,8 @@ POSIX.1 では規定されていない。
 .SH 注意
 \fBfork\fP(2)  で作成された子プロセスは、親プロセスの PGID を継承する。 \fBexecve\fP(2)  の前後で PGID は保存される。
 .PP
-Each process group is a member of a session and each process is a member of
-the session of which its process group is a member.  (See
-\fBcredentials\fP(7).)
+各プロセスグループはセッションのメンバーであり、各プロセスは そのプロセスグループが所属しているセッションのメンバーである
+(\fBcredentials\fP(7) 参照)。
 .PP
 セッションは制御端末 (controlling terminal) を持つことができる。 いつでも、セッションに所属するプロセスグループの一つ (だけ)
 が 端末のフォアグランドのプロセスグループになることができ、 残りのプロセスグループはバックグラウンドになる。 端末からシグナルが生成された場合
@@ -198,13 +196,11 @@ the session of which its process group is a member.  (See
 control) の実装のための プロセスグループを作成するのに使われる。
 .PP
 .\" exit.3 refers to the following text:
-If the termination of a process causes a process group to become orphaned,
-and if any member of the newly orphaned process group is stopped, then a
-\fBSIGHUP\fP signal followed by a \fBSIGCONT\fP signal will be sent to each
-process in the newly orphaned process group.  An orphaned process group is
-one in which the parent of every member of process group is either itself
-also a member of the process group or is a member of a process group in a
-different session (see also \fBcredentials\fP(7)).
+プロセスの終了によってプロセスグループが孤児 (orphaned) になった際に、
+その新たに孤児になったプロセスグループに停止しているメンバーがいれば、 その孤児になったプロセスグループに属す全てのプロセスに \fBSIGHUP\fP
+シグナルに続けて \fBSIGCONT\fP シグナルが送られる。 孤児になった (orphaned) プロセスグループとは、
+そのプロセスグループの全てのメンバーについて、メンバーの親プロセスが、 親プロセス自身もそのプロセスグループのメンバーか、
+別のセッションに属すプロセスグループのメンバーのいずれかであるような、 プロセスグループのことである。
 .SH 関連項目
 \fBgetuid\fP(2), \fBsetsid\fP(2), \fBtcgetpgrp\fP(3), \fBtcsetpgrp\fP(3), \fBtermios\fP(3),
 \fBcredentials\fP(7)
index 40c83ce..d2b6860 100644 (file)
@@ -54,13 +54,11 @@ setresuid, setresgid \- ユーザーやグループの 実、実効、保存 ID
 \fBsetresuid\fP()  は呼び出し元のプロセスの実 (real) ユーザーID、実効 (effective) ユーザーID、 保存
 set\-user\-ID を設定する。
 .PP
-An unprivileged process may change its real UID, effective UID, and saved
-set\-user\-ID, each to one of: the current real UID, the current effective UID
-or the current saved set\-user\-ID.
+非特権プロセスは、その実 UID、実効 UID、保存 set\-user\-ID を、 現在の実 UID、現在の実効 UID、現在の保存
+set\-user\-ID のどれかに変更することができる:
 .PP
-A privileged process (on Linux, one having the \fBCAP_SETUID\fP capability)
-may set its real UID, effective UID, and saved set\-user\-ID to arbitrary
-values.
+特権プロセス (Linux では \fBCAP_SETUID\fP ケーパビリティ (capability) を持つ プロセス) は、自身の実 UID、実効
+UID、保存 set\-user\-ID を任意の値に設定できる。
 .PP
 引き数のどれかが \-1 の場合はその値は変更されずに残される。
 .PP
@@ -108,7 +106,7 @@ Linux では、glibc 2.3.2 以降で プロトタイプが提供されている
 \fBsetresuid32\fP() と \fBsetresgid32\fP() が追加された。
 glibc の \fBsetresuid\fP() と \fBsetresgid\fP() のラッパー関数は
 カーネルバージョンによるこの違いを吸収している。
-.SS "C library/kernel differences"
+.SS "C ライブラリとカーネルの違い"
 At the kernel level, user IDs and group IDs are a per\-thread attribute.
 However, POSIX requires that all threads in a process share the same
 credentials.  The NPTL threading implementation handles the POSIX
index 19cba03..f8bde40 100644 (file)
@@ -127,20 +127,16 @@ other than (i)  swapping the effective user (group) ID with the real user
 the effective user (group) ID to the value of the saved set\-user\-ID (saved
 set\-group\-ID) was specified.
 .SH 準拠
-POSIX.1\-2001, POSIX.1\-2008, 4.3BSD (\fBsetreuid\fP()  and \fBsetregid\fP()  first
-appeared in 4.2BSD).
+POSIX.1\-2001, POSIX.1\-2008, 4.3BSD (\fBsetreuid\fP()  と \fBsetregid\fP()  関数コールは
+4.2BSD で初めて登場した)。
 .SH 注意
 実効ユーザー (グループ) ID を保存ユーザー (グループ) ID に 設定することが、Linux 1.1.37 (1.1.38) から可能になった。
 .PP
-POSIX.1 does not specify all of the UID changes that Linux permits for an
-unprivileged process.  For \fBsetreuid\fP(), the effective user ID can be made
-the same as the real user ID or the saved set\-user\-ID, and it is unspecified
-whether unprivileged processes may set the real user ID to the real user ID,
-the effective user ID, or the saved set\-user\-ID.  For \fBsetregid\fP(), the
-real group ID can be changed to the value of the saved set\-group\-ID, and the
-effective group ID can be changed to the value of the real group ID or the
-saved set\-group\-ID.  The precise details of what ID changes are permitted
-vary across implementations.
+POSIX.1 では、 Linux が非特権プロセスに対して認めている ID の変更の全パターンを規定しているわけではない。 \fBsetreuid\fP()
+では、実効ユーザー ID を実ユーザー ID もしくは保存 set\-user\-ID と 同じ値にすることができるが、 非特権プロセスが実ユーザー ID
+を実ユーザー ID、実効ユーザー ID、 保存 set\-user\-ID のどの値にも設定できるかは規定されていない。 \fBsetregid\fP()
+では、実グループ ID を保存 set\-group\-ID と同じ値に変更でき、 実効グループ ID を実グループ ID や保存 set\-group\-ID
+と同じ値に変更できる。 どのような ID の変更が認められているかの正確な詳細は 実装ごとに異なる。
 .PP
 POSIX.1 では、これらのシステムコールが保存 set\-user\-ID や 保存 set\-group\-ID に与える影響については規定していない。
 .PP
@@ -151,7 +147,7 @@ POSIX.1 では、これらのシステムコールが保存 set\-user\-ID や 
 \fBsetreuid32\fP() と \fBsetregid32\fP() が追加された。
 glibc の \fBsetreuid\fP() と \fBsetregid\fP() のラッパー関数は
 カーネルバージョンによるこの違いを吸収している。
-.SS "C library/kernel differences"
+.SS "C ライブラリとカーネルの違い"
 At the kernel level, user IDs and group IDs are a per\-thread attribute.
 However, POSIX requires that all threads in a process share the same
 credentials.  The NPTL threading implementation handles the POSIX
diff --git a/manual/LDP_man-pages/draft/man2/setsid.2 b/manual/LDP_man-pages/draft/man2/setsid.2
new file mode 100644 (file)
index 0000000..ca638b3
--- /dev/null
@@ -0,0 +1,100 @@
+.\" Copyright Michael Haardt (michael@cantor.informatik.rwth-aachen.de)
+.\"     Sat Aug 27 20:43:50 MET DST 1994
+.\" and Copyright (C) 2014, Michael Kerrisk <mtk.manpages@gmail.com>
+.\"
+.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
+.\" This is free documentation; you can redistribute it and/or
+.\" modify it under the terms of the GNU General Public License as
+.\" published by the Free Software Foundation; either version 2 of
+.\" the License, or (at your option) any later version.
+.\"
+.\" The GNU General Public License's references to "object code"
+.\" and "executables" are to be interpreted as the output of any
+.\" document formatting or typesetting system, including
+.\" intermediate and printed output.
+.\"
+.\" This manual is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public
+.\" License along with this manual; if not, see
+.\" <http://www.gnu.org/licenses/>.
+.\" %%%LICENSE_END
+.\"
+.\" Modified Sun Sep 11 19:19:05 1994 <faith@cs.unc.edu>
+.\" Modified Mon Mar 25 10:19:00 1996 <aeb@cwi.nl> (merged a few
+.\"    tiny changes from a man page by Charles Livingston).
+.\" Modified Sun Jul 21 14:45:46 1996 <aeb@cwi.nl>
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
+.\"         all rights reserved.
+.\" Translated Sat Mar  1 16:46:43 JST 1997
+.\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Modified Mon May  5 19:43:49 JST 1997
+.\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
+.\" Updated & Modified Thu Feb 10 22:45:24 JST 2005
+.\"         by Yuichi SATO <ysato444@yahoo.co.jp>
+.\"
+.TH SETSID 2 2017\-09\-15 Linux "Linux Programmer's Manual"
+.SH 名前
+setsid \- セッション (session) を作成し、プロセスグループ ID を設定する
+.SH 書式
+.ad l
+\fB#include <sys/types.h>\fP
+.br
+\fB#include <unistd.h>\fP
+.PP
+\fBpid_t setsid(void);\fP
+.br
+.ad b
+.SH 説明
+\fBsetsid\fP() は、 呼び出したプロセスがプロセスグループリーダー (process group leader) でなければ、
+新しいセッションを作成する。 呼び出したプロセスは、 新しいセッションのリーダーとなる (すなわち、そのセッション ID がプロセス ID
+と同じ値になる)。 また、呼び出したプロセスは、 そのセッションの新しいプロセスグループのプロセスグループリーダーにもなる (すなわち、プロセスグループ
+ID がプロセス ID と同じ値になる)。
+.PP
+呼び出したプロセスは、 新しいプロセスグループと新しいセッションの唯一のプロセスとなる。
+.PP
+最初は、新しいセッションは制御端末を持たない。セッションが制御端末を獲得する方法については \fBcredentials\fP(7) を参照。
+.SH 返り値
+成功すると、呼び出したプロセスの (新しい) セッション ID が返される。 エラーの場合は、 \fI(pid_t)\ \-1\fP が返され、
+\fIerrno\fP にエラーを示す値が設定される。
+.SH エラー
+.TP 
+\fBEPERM\fP
+いずれかのプロセスのプロセスグループ ID が、 呼び出したプロセスの PID と等しい。 これは、呼び出したプロセスが既にプロセスリーダーの場合には
+\fBsetsid\fP()  は失敗することを意味する。
+.SH 準拠
+POSIX.1\-2001, POSIX.1\-2008, SVr4.
+.SH 注意
+\fBfork\fP(2)  で作成された子プロセスは、親プロセスのセッション ID を継承する。 \fBexecve\fP(2)  の前後でセッション ID
+は保存される。
+.PP
+A process group leader is a process whose process group ID equals its PID.
+Disallowing a process group leader from calling \fBsetsid\fP()  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 \fBsetsid\fP()  will succeed, call \fBfork\fP(2)
+and have the parent \fB_exit\fP(2), while the child (which by definition can't
+be a process group leader) calls \fBsetsid\fP().
+.PP
+セッションが制御端末を持っていて、その端末に対して \fBCLOCAL\fP フラグが設定されておらず、端末のハングアップが起きた場合、 セッションリーダーに
+\fBSIGHUP\fP シグナルが送られる。
+.PP
+セッションリーダーのプロセスが終了した場合には、その制御端末のフォアグランドのプロセスグループに所属する各プロセスに \fBSIGHUP\fP
+シグナルが送られる。
+.SH 関連項目
+\fBsetsid\fP(1), \fBgetsid\fP(2), \fBsetpgid\fP(2), \fBsetpgrp\fP(2), \fBtcgetsid\fP(3),
+\fBcredentials\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
+\%https://www.kernel.org/doc/man\-pages/ に書かれている。
index 1b8d01a..d485e18 100644 (file)
@@ -65,10 +65,9 @@ Linux では、 \fBsetuid\fP()  は \fB_POSIX_SAVED_IDS\fP をもった POSIX 
 (ルート以外の) set\-user\-ID プログラムにそのユーザーの特権を 全て与え、特権の必要ない仕事をし、本来の実効ユーザー ID に
 安全な方法で再び戻すことを許す。
 .PP
-If the user is root or the program is set\-user\-ID\-root, special care must be
-taken: \fBsetuid\fP()  checks the effective user ID of the caller and if it is
-the superuser, all process\-related user ID's are set to \fIuid\fP.  After this
-has occurred, it is impossible for the program to regain root privileges.
+ユーザーが root またはプログラムが root に set\-user\-ID されているならば、 特別の注意が払われる。 \fBsetuid\fP()
+は呼び出し者の実効ユーザー ID をチェックし、 それがスーパーユーザーならば、 プロセスに関連する全てのユーザー ID に \fIuid\fP を設定する。
+これが行なわれた後にはプログラムが再びルートの特権を得ることはできない。
 .PP
 したがって、set\-user\-ID\-root プログラムで、一時的にルート特権を解除し、
 非特権ユーザーであるかのように振舞い、後でルート権限をもう一度得ようと する場合には、 \fBsetuid\fP()  を使うことができない。その場合には、
@@ -93,13 +92,12 @@ has occurred, it is impossible for the program to regain root privileges.
 \fIuid\fP で指定されたユーザー ID がこのユーザー名前空間では有効ではない。
 .TP 
 \fBEPERM\fP
-The user is not privileged (Linux: does not have the \fBCAP_SETUID\fP
-capability in its user namespace) and \fIuid\fP does not match the real UID or
-saved set\-user\-ID of the calling process.
+ユーザーが特権を持たず (Linux ではそのユーザー名前空間で \fBCAP_SETUID\fP ケーパビリティ (capability) を持たず)、
+\fIuid\fP が呼び出し元プロセスの実 UID または保存 set\-user\-ID と一致しない。
 .SH 準拠
 .\" SVr4 documents an additional EINVAL error condition.
-POSIX.1\-2001, POSIX.1\-2008, SVr4.  Not quite compatible with the 4.4BSD
-call, which sets all of the real, saved, and effective user IDs.
+POSIX.1\-2001, POSIX.1\-2008, SVr4.  4.4BSD のコールとは完全な互換性はない、 BSD のコールは実
+(real)、保存 (saved)、実効 (effective) ID の全てを設定する。
 .SH 注意
 Linux はファイルシステムユーザー ID の概念を持つ。
 通常、これは実効ユーザー ID に等しい。
@@ -117,7 +115,7 @@ Linux はファイルシステムユーザー ID の概念を持つ。
 \fBsetuid32\fP() が追加された。
 glibc の \fBsetuid\fP() のラッパー関数は
 カーネルバージョンによるこの違いを吸収している。
-.SS "C library/kernel differences"
+.SS "C ライブラリとカーネルの違い"
 At the kernel level, user IDs and group IDs are a per\-thread attribute.
 However, POSIX requires that all threads in a process share the same
 credentials.  The NPTL threading implementation handles the POSIX
index fc32239..2e131f0 100644 (file)
@@ -42,9 +42,8 @@ ulimit \- ユーザー制限を取得・設定する
 .PP
 \fBlong ulimit(int \fP\fIcmd\fP\fB, long \fP\fInewlimit\fP\fB);\fP
 .SH 説明
-Warning: this routine is obsolete.  Use \fBgetrlimit\fP(2), \fBsetrlimit\fP(2),
-and \fBsysconf\fP(3)  instead.  For the shell command \fBulimit\fP(), see
-\fBbash\fP(1).
+注意: このルーチンは古い。 代わりに \fBgetrlimit\fP(2), \fBsetrlimit\fP(2), \fBsysconf\fP(3)
+などを用いること。 シェルコマンドとしての \fBulimit\fP()  については、 \fBbash\fP(1)  を見ること。
 .PP
 \fBulimit\fP()  は呼び出し元のプロセスに関する制限のいくつかを取得・設定する。 \fIcmd\fP
 引き数には、以下の値のうちのどれか一つを与えることができる。
@@ -65,7 +64,7 @@ and \fBsysconf\fP(3)  instead.  For the shell command \fBulimit\fP(), see
 .SH エラー
 .TP 
 \fBEPERM\fP
-An unprivileged process tried to increase a limit.
+非特権プロセスが制限値を増加させようとした。
 .SH 属性
 この節で使用されている用語の説明については、 \fBattributes\fP(7) を参照。
 .TS
index 9db4bb6..56d0aea 100644 (file)
@@ -141,8 +141,8 @@ struct acct_v3 {
 スレッド毎に別々のアカウンティングレコードが書き込まれていた。 Linux 2.6.10 以降では、プロセス内の最後のスレッドが終了すると、
 プロセス全体についてのアカウンティングレコードが一つだけ書き込まれる。
 .PP
-The \fI/proc/sys/kernel/acct\fP file, described in \fBproc\fP(5), defines settings
-that control the behavior of process accounting when disk space runs low.
+\fI/proc/sys/kernel/acct\fP ファイル (\fBproc\fP(5)  で説明されている) は、ディスク容量の残りが少なくなった際の
+プロセスアカウンティングの動作を制御する設定を保持している。
 .SH 関連項目
 \fBlastcomm\fP(1), \fBacct\fP(2), \fBaccton\fP(8), \fBsa\fP(8)
 .SH この文書について
diff --git a/manual/LDP_man-pages/draft/man7/credentials.7 b/manual/LDP_man-pages/draft/man7/credentials.7
new file mode 100644 (file)
index 0000000..dccc263
--- /dev/null
@@ -0,0 +1,215 @@
+.\" Copyright (c) 2007 by Michael Kerrisk <mtk.manpages@gmail.com>
+.\"
+.\" %%%LICENSE_START(VERBATIM)
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date.  The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein.  The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\" %%%LICENSE_END
+.\"
+.\" 2007-06-13 Creation
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.\"
+.\" Japanese Version Copyright (c) 2007 Akihiro MOTOKI all rights reserved.
+.\" Translated 2007-10-25, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.66
+.\" Updated 2008-08-04, Akihiro MOTOKI, LDP v3.05
+.\"
+.TH CREDENTIALS 7 2020\-11\-01 Linux "Linux Programmer's Manual"
+.SH 名前
+credentials \- 認証に用いられるプロセスの識別子
+.SH 説明
+.SS "プロセスID (PID)"
+各プロセスは、負でない整数の一意な識別子を持つ。 この識別子は \fBfork\fP(2)  を使ってプロセスが生成される際に割り当てられる。 プロセスは
+\fBgetpid\fP(2)  を使って自分の PID を取得できる。 PID は \fIpid_t\fP 型で表現される (\fIpid_t\fP は
+\fI<sys/types.h>\fP で定義されている)。
+.PP
+.\" .BR sched_rr_get_interval (2),
+.\" .BR sched_getaffinity (2),
+.\" .BR sched_setaffinity (2),
+.\" .BR sched_getparam (2),
+.\" .BR sched_setparam (2),
+.\" .BR sched_setscheduler (2),
+.\" .BR sched_getscheduler (2),
+.\" .BR getsid (2),
+.\" .BR waitid (2),
+.\" .BR wait4 (2),
+PID は各種のシステムコールでそのシステムコールが作用するプロセスを 特定するために使用される。以下に例を挙げる: \fBkill\fP(2),
+\fBptrace\fP(2), \fBsetpriority\fP(2), \fBsetpgid\fP(2), \fBsetsid\fP(2),
+\fBsigqueue\fP(3), \fBwaitpid\fP(2).
+.PP
+プロセスの PID は \fBexecve\fP(2)  の前後で不変である。
+.SS "親プロセス ID (PPID)"
+プロセスの親プロセスの ID は、 \fBfork\fP(2)  を使ってそのプロセスを生成したプロセスを示す。 プロセスは \fBgetppid\fP(2)
+を使って自分の PPID を取得できる。 PPID は \fIpid_t\fP 型で表現される。
+.PP
+プロセスの PPID は \fBexecve\fP(2)  の前後で不変である。
+.SS "プロセスグループ ID とセッション ID"
+各プロセスはセッション ID とプロセスグループ ID を持つ。 これらの ID はどちらも \fIpid_t\fP 型で表現される。 プロセスは、それぞれ
+\fBgetsid\fP(2), \fBgetpgrp\fP(2)  を使って自分のセッション ID、プロセスグループ ID を取得できる。
+.PP
+\fBfork\fP(2)  で生成された子プロセスは親プロセスのセッション ID とプロセスグループ ID を継承する。プロセスのセッション ID
+とプロセスグループ ID は \fBexecve\fP(2)  の前後で不変である。
+.PP
+セッションとプロセスグループの概念は、シェルのジョブ制御を行うために 考案されたものである。 プロセスグループ (時には「ジョブ」と呼ばれることもある)
+は、 同じプロセスグループ ID を共有するプロセスの集まりである。 シェルは、一つのコマンドもしくはパイプラインの実行に使われるプロセス群に
+対して一つのプロセスグループを生成する (例えば、コマンド "ls\ |\ wc" を実行するために生成される二つのプロセスは
+同じプロセスグループに置かれる)。 所属するプロセスグループは \fBsetpgid\fP(2)  を使って設定できる。 自身のプロセス ID
+がプロセスグループ ID と同じプロセスは、 そのグループの「プロセスグループリーダー」である。
+.PP
+セッションは、同じセッション ID を共有するプロセスの集まりである。 ある一つのプロセスグループの全メンバーは同じセッション ID を持つ
+(つまり、一つのプロセスグループのメンバーは全て同じセッションに所属し、 これにより、セッションとプロセスグループで二階層のプロセス階層が形成できる)。
+新たなセッションの生成はプロセスが \fBsetsid\fP(2)  を呼び出すことで行う。 \fBsetsid\fP(2)  は、 \fBsetsid\fP(2)
+を呼び出したプロセスの PID と同じ値のセッション ID を持つ 新たなセッションを生成する。 セッションの生成者は「セッションリーダー」と呼ばれる。
+.PP
+あるセッションの全プロセスは一つの \fI制御端末\fP を共有する。 セッションリーダーが最初に端末をオープンした際に制御端末は設定される
+(\fBopen\fP(2) の呼び出しで \fBO_NOCTTY\fP フラグが指定された場合を除く)。
+一つの端末は、最大でも一つのセッションの制御端末にしかなれない。
+.PP
+一つのセッションのジョブの中で、\fIフォアグラウンドジョブ\fPになれるのは最大でも一つで、そのセッションの他のジョブは\fIバックグラウンドジョブ\fPである。
+フォアグラウンドジョブだけが端末からの読み込みを行える。 バックグラウンドのプロセスが端末から読み込みを行おうとした場合、
+フォアグラウンドジョブを停止させるシグナルである \fBSIGTTIN\fP が所属するプロセスグループに対して送信される。 端末に \fBTOSTOP\fP
+フラグがセットされていた場合 (\fBtermios\fP(3) 参照)、 フォアグラウンドジョブだけが端末への書き込みを行える。
+バックグラウンドのプロセスが端末への書き込みを行おうとした場合、 フォアグラウンドジョブを停止させるシグナルである \fBSIGTTOU\fP が生成される。
+シグナルを生成する端末キー (例えば \fI中断\fPキー、通常は control\-C) が押された場合、
+そのシグナルはフォアグラウンドジョブのプロセスに送信される。
+.PP
+様々なシステムコールやライブラリ関数で、プロセスグループの全メンバーに対して操作を行うことができる。 例えば、 \fBkill\fP(2),
+\fBkillpg\fP(3), \fBgetpriority\fP(2), \fBsetpriority\fP(2), \fBioprio_get\fP(2),
+\fBioprio_set\fP(2), \fBwaitid\fP(2), \fBwaitpid\fP(2) など。 \fBfcntl\fP(2) の操作
+\fBF_GETOWN\fP, \fBF_GETOWN_EX\fP, \fBF_SETOWN\fP, \fBF_SETOWN_EX\fP の議論も参照。
+.SS "ユーザー ID とグループ ID"
+各プロセスは、数種類のユーザー ID とグループ ID を持つ。 ユーザー ID、グループ ID は整数で、それぞれ \fIuid_t\fP,
+\fIgid_t\fP 型で表現される (これらは \fI<sys/types.h>\fP で定義されている)。
+.PP
+Linux では、各プロセスは以下のような種類のユーザー ID とグループ ID を持つ。
+.IP * 3
+実ユーザー ID と実グループ ID。 これらの ID によりプロセスの所有者が決定される。 プロセスが自分の実ユーザー ID、実グループ ID
+を取得するには、それぞれ \fBgetuid\fP(2), \fBgetgid\fP(2)  を使用する。
+.IP *
+実効ユーザー ID と実効グループ ID。 これらの ID は、メッセージキュー、共有メモリー、セマフォなどの
+共有リソースにアクセスしようとした際にそのプロセスがアクセス許可を 持っているかをカーネルが判定するのに使用される。 ほとんどの UNIX
+システムでは、これらの ID はファイルへのアクセス時の アクセス許可の判定にも使用される。 しかしながら、Linux
+ではファイルへのアクセス許可の判定には 後述のファイルシステム ID が使用される。 プロセスが自分の実効ユーザー ID、実効グループ ID
+を取得するには、それぞれ \fBgeteuid\fP(2), \fBgetegid\fP(2)  を使用する。
+.IP *
+保存 (saved) set\-user\-ID と保存 set\-group\-ID。 これらの ID は、set\-user\-ID や
+set\-group\-ID されたプログラムにおいて、 プログラムの実行時に設定された実効 ID のコピーを保存するために 使用される
+(\fBexecve\fP(2)  参照)。 set\-user\-ID プログラムは、実効ユーザー ID を実ユーザーID と保存 set\-user\-ID
+の間で行ったり来たり切り替えることで、特権を得たり落としたりできる。 この切り替えは \fBseteuid\fP(2), \fBsetreuid\fP(2),
+\fBsetresuid\fP(2)  を呼び出すことで実行できる。 set\-group\-ID プログラムは、 \fBsetegid\fP(2),
+\fBsetregid\fP(2), \fBsetresgid\fP(2)  を使って同様のことができる。 プロセスが自分の保存 set\-user\-ID、保存
+set\-group\-ID を取得するには、 \fBgetresuid(2),\fP \fBgetresgids\fP(2)  をそれぞれ使用する。
+.IP *
+ファイルシステムユーザー ID とファイルシステムグループ ID (Linux 固有)。 これらの ID は、後述の補助グループ ID
+と組み合わせて使用され、 ファイルへのアクセス権の決定に利用される。詳細は \fBpath_resolution\fP(7)  を参照。 プロセスの実効 ID
+(ユーザー ID や グループ ID) が変更されるたびに、 カーネルは自動的に対応するファイルシステム ID を同じ値に変更する。
+その結果、ファイルシステム ID は通常は対応する実効 ID と同じ値となり、 ファイルのアクセス権のチェック方法は Linux と他の UNIX
+システムで同じである。 ファイルシステム ID は実効 ID とは異なる値にすることができ、 変更は \fBsetfsuid\fP(2)  と
+\fBsetfsgid\fP(2)  を呼び出して行う。
+.IP *
+.\" Since kernel 2.6.4, the limit is visible via the read-only file
+.\" /proc/sys/kernel/ngroups_max.
+.\" As at 2.6.22-rc2, this file is still read-only.
+補助グループ ID。 この ID は、ファイルや他の共有リソースへのアクセス時にアクセス許可の チェックに使用される、追加のグループ ID
+の集合である。 カーネル 2.6.4 より前の Linux では、一つのプロセスあたりの 補助グループのメンバー数は最大で 32 である。 カーネル
+2.6.4 以降では、一つのプロセスあたりの 補助グループのメンバー数は最大で 65536 である。
+\fIsysconf(_SC_NGROUPS_MAX)\fP を呼び出すことで、あるプロセスがメンバーとなることができる可能性のある
+補助グループ数を知ることができる。 プロセスは、自分の補助グループ ID の集合を \fBgetgroups\fP(2) で取得できる。
+.PP
+\fBfork\fP(2)  で生成された子プロセスは親プロセスのユーザー ID とグループ ID を継承する。 \fBexecve\fP(2)
+の間、プロセスの実ユーザー/グループ ID と補助グループ ID 集合は不変である。 実効 ID と保存セット ID は変更される可能性がある
+(\fBexecve\fP(2)  で説明されている)。
+.PP
+上記の目的以外にも、プロセスのユーザー ID は他の様々な場面で利用される。
+.IP * 3
+シグナルを送る許可の判定時 (\fBkill\fP(2)  参照)
+.IP *
+プロセスのスケジューリング関連のパラメーター (nice 値、 リアルタイムスケジューリングポリシーや優先度、CPU affinity、 入出力優先度)
+の設定許可の判定時。 スケジューリング関連のパラメーター設定には \fBsetpriority\fP(2), \fBsched_setaffinity\fP(2),
+\fBsched_setscheduler\fP(2), \fBsched_setparam\fP(2), \fBsched_setattr\fP(2),
+\fBioprio_set\fP(2)  が使用される。
+.IP *
+リソース上限のチェック時 (\fBgetrlimit\fP(2)  参照)
+.IP *
+.\"
+プロセスが生成できる inotify インスタンス数の上限のチェック時 (\fBinotify\fP(7) 参照)
+.SS "Modifying process user and group IDs"
+.PP
+Subject to rules described in the relevant manual pages, a process can use
+the following APIs to modify its user and group IDs:
+.TP 
+\fBsetuid\fP(2) (\fBsetgid\fP(2))
+Modify the process's real (and possibly effective and saved\-set)  user
+(group) IDs.
+.TP 
+\fBseteuid\fP(2) (\fBsetegid\fP(2))
+Modify the process's effective user (group) ID.
+.TP 
+\fBsetfsuid\fP(2) (\fBsetfsgid\fP(2))
+Modify the process's filesystem user (group) ID.
+.TP 
+\fBsetreuid\fP(2) (\fBsetregid\fP(2))
+Modify the process's real and effective (and possibly saved\-set)  user
+(group) IDs.
+.TP 
+\fBsetresuid\fP(2) (\fBsetresgid\fP(2))
+Modify the process's real, effective, and saved\-set user (group) IDs.
+.TP 
+\fBsetgroups\fP(2)
+Modify the process's supplementary group list.
+.PP
+Any changes to a process's effective user (group) ID are automatically
+carried over to the process's filesystem user (group) ID.  Changes to a
+process's effective user or group ID can also affect the process "dumpable"
+attribute, as described in \fBprctl\fP(2).
+.PP
+Changes to process user and group IDs can affect the capabilities of the
+process, as described in \fBcapabilities\fP(7).
+.SH 準拠
+プロセス ID、親プロセス ID、プロセスグループ ID、セッション ID は POSIX.1 で規定されている。 実 ID、実効 ID、保存セット
+ID のユーザー ID / グループ ID および 補助グループ ID は POSIX.1 で規定されている。 ファイルシステムユーザー ID /
+グループ ID は Linux による拡張である。
+.SH 注意
+Various fields in the \fI/proc/[pid]/status\fP file show the process
+credentials described above.  See \fBproc\fP(5)  for further information.
+.PP
+POSIX のスレッド仕様では、これらの識別子がプロセス内の全スレッドで 共有されることを求めている。 しかしながら、カーネルのレベルでは、Linux
+はスレッド毎に別々の ユーザーとグループに関する識別子を管理している。 NPTL スレッド実装が、(例えば \fBsetuid\fP(2),
+\fBsetresuid\fP(2)  などの呼び出しによる) ユーザーやグループに関する識別子に対する変更が プロセス内の全ての POSIX
+スレッドに対して反映されることを保証する ための処理を行っている。詳細は \fBnptl\fP(7) を参照。
+.SH 関連項目
+\fBbash\fP(1), \fBcsh\fP(1), \fBgroups\fP(1), \fBid\fP(1), \fBnewgrp\fP(1), \fBps\fP(1),
+\fBrunuser\fP(1), \fBsetpriv\fP(1), \fBsg\fP(1), \fBsu\fP(1), \fBaccess\fP(2),
+\fBexecve\fP(2), \fBfaccessat\fP(2), \fBfork\fP(2), \fBgetgroups\fP(2), \fBgetpgrp\fP(2),
+\fBgetpid\fP(2), \fBgetppid\fP(2), \fBgetsid\fP(2), \fBkill\fP(2), \fBsetegid\fP(2),
+\fBseteuid\fP(2), \fBsetfsgid\fP(2), \fBsetfsuid\fP(2), \fBsetgid\fP(2),
+\fBsetgroups\fP(2), \fBsetpgid\fP(2), \fBsetresgid\fP(2), \fBsetresuid\fP(2),
+\fBsetsid\fP(2), \fBsetuid\fP(2), \fBwaitpid\fP(2), \fBeuidaccess\fP(3),
+\fBinitgroups\fP(3), \fBkillpg\fP(3), \fBtcgetpgrp\fP(3), \fBtcgetsid\fP(3),
+\fBtcsetpgrp\fP(3), \fBgroup\fP(5), \fBpasswd\fP(5), \fBshadow\fP(5),
+\fBcapabilities\fP(7), \fBnamespaces\fP(7), \fBpath_resolution\fP(7),
+\fBpid_namespaces\fP(7), \fBpthreads\fP(7), \fBsignal\fP(7), \fBsystem_data_types\fP(7),
+\fBunix\fP(7), \fBuser_namespaces\fP(7), \fBsudo\fP(8)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
+\%https://www.kernel.org/doc/man\-pages/ に書かれている。
index 33f5fc7..a0555d7 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "POT-Creation-Date: 2021-03-12 14:00+0900\n"
-"PO-Revision-Date: 2021-03-26 13:40+0900\n"
+"PO-Revision-Date: 2021-04-04 15:41+0900\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "Language: \n"
@@ -23,10 +23,9 @@ msgstr "ACCT"
 
 #. type: TH
 #: build/C/man2/acct.2:31
-#, fuzzy, no-wrap
-#| msgid "2013-03-15"
+#, no-wrap
 msgid "2016-03-15"
-msgstr "2013-03-15"
+msgstr "2016-03-15"
 
 #. type: TH
 #: build/C/man2/acct.2:31 build/C/man5/acct.5:25 build/C/man7/capabilities.7:48
@@ -137,10 +136,8 @@ msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)
 
 #. type: Plain text
 #: build/C/man2/acct.2:49
-#, fuzzy
-#| msgid "B<acct>(5)"
 msgid "B<acct>():"
-msgstr "B<acct>(5)"
+msgstr "B<acct>():"
 
 #.             commit 266865c0e7b79d4196e2cc393693463f03c90bd8
 #. type: Plain text
@@ -329,11 +326,9 @@ msgstr "B<ENFILE>"
 #. type: Plain text
 #: build/C/man2/acct.2:108 build/C/man2/pidfd_getfd.2:99
 #: build/C/man2/pidfd_open.2:73
-#, fuzzy
-#| msgid "The system limit on the total number of open files has been reached."
 msgid ""
 "The system-wide limit on the total number of open files has been reached."
-msgstr "オープンされたファイルの総数がシステム制限に達した。"
+msgstr "ã\82ªã\83¼ã\83\97ã\83³ã\81\95ã\82\8cã\81\9fã\83\95ã\82¡ã\82¤ã\83«ã\81®ç·\8fæ\95°ã\81\8cã\82·ã\82¹ã\83\86ã\83 å\85¨ä½\93ã\81®å\88¶é\99\90ã\81«é\81\94ã\81\97ã\81\9fã\80\82"
 
 #. type: TP
 #: build/C/man2/acct.2:108 build/C/man7/cpuset.7:1275
@@ -344,8 +339,6 @@ msgstr "B<ENOENT>"
 
 #. type: Plain text
 #: build/C/man2/acct.2:111
-#, fuzzy
-#| msgid "The specified filename does not exist."
 msgid "The specified file does not exist."
 msgstr "指定されたファイルが存在しない。"
 
@@ -413,10 +406,6 @@ msgstr "B<EPERM>"
 
 #. type: Plain text
 #: build/C/man2/acct.2:131
-#, fuzzy
-#| msgid ""
-#| "The calling process has insufficient privilege to enable process "
-#| "accounting.  On Linux the B<CAP_SYS_PACCT> capability is required."
 msgid ""
 "The calling process has insufficient privilege to enable process "
 "accounting.  On Linux, the B<CAP_SYS_PACCT> capability is required."
@@ -602,10 +591,9 @@ msgstr "この man ページは Linux I<man-pages> プロジェクトのリリ
 #: build/C/man2/seteuid.2:29 build/C/man2/setpgid.2:48
 #: build/C/man2/setresuid.2:27 build/C/man2/setreuid.2:46
 #: build/C/man2/setsid.2:31 build/C/man3/ulimit.3:27
-#, fuzzy, no-wrap
-#| msgid "2014-09-21"
+#, no-wrap
 msgid "2017-09-15"
-msgstr "2014-09-21"
+msgstr "2017-09-15"
 
 #. type: Plain text
 #: build/C/man5/acct.5:28
@@ -880,18 +868,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man5/acct.5:174
-#, fuzzy
-#| msgid ""
-#| "The I<proc/sys/kernel/acct> file, described in B<proc>(5), defines "
-#| "settings that control the behavior of process accounting when disk space "
-#| "runs low."
 msgid ""
 "The I</proc/sys/kernel/acct> file, described in B<proc>(5), defines settings "
 "that control the behavior of process accounting when disk space runs low."
-msgstr ""
-"I<proc/sys/kernel/acct> ファイル (B<proc>(5)  で説明されている) は、ディスク"
-"容量の残りが少なくなった際の プロセスアカウンティングの動作を制御する設定を保"
-"持している。"
+msgstr "I</proc/sys/kernel/acct> ファイル (B<proc>(5)  で説明されている) は、ディスク容量の残りが少なくなった際の プロセスアカウンティングの動作を制御する設定を保持している。"
 
 #. type: Plain text
 #: build/C/man5/acct.5:179
@@ -907,10 +887,9 @@ msgstr "CAPABILITIES"
 #. type: TH
 #: build/C/man7/capabilities.7:48 build/C/man2/iopl.2:33
 #: build/C/man7/cgroups.7:26 build/C/man2/pidfd_open.2:25
-#, fuzzy, no-wrap
-#| msgid "2014-08-19"
+#, no-wrap
 msgid "2020-08-13"
-msgstr "2014-08-19"
+msgstr "2020-08-13"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:51
@@ -1021,10 +1000,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/capabilities.7:92
-#, fuzzy, no-wrap
-#| msgid "B<CAP_LEASE> (since Linux 2.4)"
+#, no-wrap
 msgid "B<CAP_BPF> (since Linux 5.8)"
-msgstr "B<CAP_LEASE> (Linux 2.4 以降)"
+msgstr "B<CAP_BPF> (Linux 5.8 以降)"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:98
@@ -1040,10 +1018,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/capabilities.7:103
-#, fuzzy, no-wrap
-#| msgid "B<CAP_LEASE> (since Linux 2.4)"
+#, no-wrap
 msgid "B<CAP_CHECKPOINT_RESTORE> (since Linux 5.9)"
-msgstr "B<CAP_LEASE> (Linux 2.4 以降)"
+msgstr "B<CAP_CHECKPOINT_RESTORE> (Linux 5.9 以降)"
 
 #. type: IP
 #: build/C/man7/capabilities.7:108 build/C/man7/capabilities.7:113
@@ -1227,8 +1204,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:150
-#, fuzzy
-#| msgid "Invoke B<open_by_handle_at>(2)."
 msgid "invoke B<open_by_handle_at>(2);"
 msgstr "B<open_by_handle_at>(2) を起動する。"
 
@@ -1260,11 +1235,8 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:175
-#, fuzzy
-#| msgid "set extended file attributes (see B<chattr>(1))  on arbitrary files;"
 msgid "set inode flags (see B<ioctl_iflags>(2))  on arbitrary files;"
-msgstr ""
-"任意のファイルに対して拡張ファイル属性を設定する (B<chattr>(1)  参照)。"
+msgstr "任意のファイルに対して inode フラグを設定する (B<ioctl_iflags>(2) 参照)。"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:177
@@ -1300,22 +1272,14 @@ msgstr "B<CAP_FSETID>"
 #: build/C/man7/capabilities.7:199
 msgid ""
 "Don't clear set-user-ID and set-group-ID mode bits when a file is modified;"
-msgstr ""
+msgstr "ファイルが変更されたときに set-user-ID とset-group-ID のモードビットをクリアしない。"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:202
-#, fuzzy
-#| msgid ""
-#| "Don't clear set-user-ID and set-group-ID permission bits when a file is "
-#| "modified; set the set-group-ID bit for a file whose GID does not match "
-#| "the filesystem or any of the supplementary GIDs of the calling process."
 msgid ""
 "set the set-group-ID bit for a file whose GID does not match the filesystem "
 "or any of the supplementary GIDs of the calling process."
-msgstr ""
-"ファイルが変更されたときに set-user-ID とset-group-ID の許可ビットをクリア し"
-"ない。呼び出し元プロセスのファイルシステム GID と追加の GID のいずれとも GID "
-"が一致しないファイルに対して set-group-ID ビットを設定する。"
+msgstr "呼び出し元プロセスのファイルシステム GID と追加の GID のいずれとも GID が一致しないファイルに対して set-group-ID ビットを設定する。"
 
 #. type: TP
 #: build/C/man7/capabilities.7:204
@@ -1383,16 +1347,10 @@ msgstr "B<CAP_LINUX_IMMUTABLE>"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:241
-#, fuzzy
-#| msgid ""
-#| "Set the B<FS_APPEND_FL> and B<FS_IMMUTABLE_FL> inode flags (see "
-#| "B<chattr>(1))."
 msgid ""
 "Set the B<FS_APPEND_FL> and B<FS_IMMUTABLE_FL> inode flags (see "
 "B<ioctl_iflags>(2))."
-msgstr ""
-"inode フラグ B<FS_APPEND_FL> と B<FS_IMMUTABLE_FL> を設定する (B<chattr>(1)  "
-"参照)。"
+msgstr "inode フラグ B<FS_APPEND_FL> と B<FS_IMMUTABLE_FL> を設定する (B<ioctl_iflags>(2) 参照)。"
 
 #. type: TP
 #: build/C/man7/capabilities.7:241
@@ -1402,13 +1360,10 @@ msgstr "B<CAP_MAC_ADMIN> (Linux 2.6.25 以降)"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:245
-#, fuzzy
-#| msgid ""
-#| "Allow MAC configuration or state changes.  Implemented for the Smack LSM."
 msgid ""
 "Allow MAC configuration or state changes.  Implemented for the Smack Linux "
 "Security Module (LSM)."
-msgstr "MAC の設定や状態を変更する。 Smack LSM 用に実装されている。"
+msgstr "MAC の設定や状態を変更する。 Smack Linux Security Module (LSM) 用に実装されている。"
 
 #. type: TP
 #: build/C/man7/capabilities.7:245
@@ -1418,15 +1373,9 @@ msgstr "B<CAP_MAC_OVERRIDE> (Linux 2.6.25 以降)"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:249
-#, fuzzy
-#| msgid ""
-#| "Override Mandatory Access Control (MAC).  Implemented for the Smack Linux "
-#| "Security Module (LSM)."
 msgid ""
 "Override Mandatory Access Control (MAC).  Implemented for the Smack LSM."
-msgstr ""
-"強制アクセス制御 (MAC) を上書きする。 Smack Linux Security Module (LSM) 用に"
-"実装されている。"
+msgstr "強制アクセス制御 (MAC) を上書きする。 Smack LSM 用に実装されている。"
 
 #. type: TP
 #: build/C/man7/capabilities.7:249
@@ -1473,8 +1422,6 @@ msgstr "透過的プロキシでの任意のアドレスの割り当て (bind)"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:268
-#, fuzzy
-#| msgid "set type-of-service (TOS)"
 msgid "set type-of-service (TOS);"
 msgstr "サービス種別 (type-of-service; TOS) のセット"
 
@@ -1542,8 +1489,6 @@ msgstr "B<CAP_NET_RAW>"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:302
-#, fuzzy
-#| msgid "use RAW and PACKET sockets;"
 msgid "Use RAW and PACKET sockets;"
 msgstr "RAW ソケットと PACKET ソケットを使用する。"
 
@@ -1554,10 +1499,9 @@ msgstr "透過的プロキシでの任意のアドレスの割り当て (bind)"
 
 #. type: TP
 #: build/C/man7/capabilities.7:307
-#, fuzzy, no-wrap
-#| msgid "B<CAP_MKNOD> (since Linux 2.4)"
+#, no-wrap
 msgid "B<CAP_PERFMON> (since Linux 5.8)"
-msgstr "B<CAP_MKNOD> (Linux 2.4 以降)"
+msgstr "B<CAP_PERFMON> (Linux 5.8 以降)"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:310
@@ -1597,12 +1541,8 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:334
-#, fuzzy
-#| msgid "forge PID when passing socket credentials via UNIX domain sockets;"
 msgid "forge GID when passing socket credentials via UNIX domain sockets;"
-msgstr ""
-"UNIX ドメインソケットでソケットの資格情報 (credential) を渡す際に偽の UID を"
-"渡す。"
+msgstr "UNIX ドメインソケットでソケットの資格情報 (credential) を渡す際に偽の GID を渡す。"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:337
@@ -1624,10 +1564,8 @@ msgstr "B<CAP_SETFCAP> (Linux 2.6.24 以降)"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:342
-#, fuzzy
-#| msgid "Set file capabilities."
 msgid "Set arbitrary capabilities on a file."
-msgstr "ファイルケーパビリティを設定する。"
+msgstr "ã\83\95ã\82¡ã\82¤ã\83«ã\81«ä»»æ\84\8fã\81®ã\82±ã\83¼ã\83\91ã\83\93ã\83ªã\83\86ã\82£ã\82\92設å®\9aã\81\99ã\82\8bã\80\82"
 
 #. type: TP
 #: build/C/man7/capabilities.7:342
@@ -1637,44 +1575,22 @@ msgstr "B<CAP_SETPCAP>"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:353
-#, fuzzy
-#| msgid ""
-#| "If file capabilities are supported: add any capability from the calling "
-#| "thread's bounding set to its inheritable set; drop capabilities from the "
-#| "bounding set (via B<prctl>(2)  B<PR_CAPBSET_DROP>); make changes to the "
-#| "I<securebits> flags."
 msgid ""
 "If file capabilities are supported (i.e., since Linux 2.6.24): add any "
 "capability from the calling thread's bounding set to its inheritable set; "
 "drop capabilities from the bounding set (via B<prctl>(2)  "
 "B<PR_CAPBSET_DROP>); make changes to the I<securebits> flags."
-msgstr ""
-"ファイルケーパビリティがサポートされている場合: 呼び出し元スレッドのバウン"
-"ディングセットの任意のケーパビリティを 自身の継承可能ケーパビリティセットに追"
-"加できる。 (B<prctl>(2)  B<PR_CAPBSET_DROP> を使って)  バウンディングセットか"
-"らケーパビリティを削除できる。 I<securebits> フラグを変更できる。"
+msgstr "ファイルケーパビリティがサポートされている場合 (すなわち Linux 2.6.24 以降): 呼び出し元スレッドのバウンディングセットの任意のケーパビリティを 自身の継承可能ケーパビリティセットに追加できる。 (B<prctl>(2)  B<PR_CAPBSET_DROP> を使って)  バウンディングセットからケーパビリティを削除できる。 I<securebits> フラグを変更できる。"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:363
-#, fuzzy
-#| msgid ""
-#| "If file capabilities are not supported: grant or remove any capability in "
-#| "the caller's permitted capability set to or from any other process.  "
-#| "(This property of B<CAP_SETPCAP> is not available when the kernel is "
-#| "configured to support file capabilities, since B<CAP_SETPCAP> has "
-#| "entirely different semantics for such kernels.)"
 msgid ""
 "If file capabilities are not supported (i.e., kernels before Linux 2.6.24): "
 "grant or remove any capability in the caller's permitted capability set to "
 "or from any other process.  (This property of B<CAP_SETPCAP> is not "
 "available when the kernel is configured to support file capabilities, since "
 "B<CAP_SETPCAP> has entirely different semantics for such kernels.)"
-msgstr ""
-"ファイルケーパビリティがサポートされていない場合: 呼び出し元が許可されている"
-"ケーパビリティセットに含まれる任意のケーパビリティを、 他のプロセスに付与した"
-"り、削除したりできる。 (カーネルがファイルケーパビリティをサポートしている場"
-"合、 B<CAP_SETPCAP> はこの役割を持たない。 なぜなら、ファイルケーパビリティを"
-"サポートしているカーネルでは B<CAP_SETPCAP> は全く別の意味を持つからである。)"
+msgstr "ファイルケーパビリティがサポートされていない場合 (すなわち Linux 2.6.24 以降): 呼び出し元が許可されているケーパビリティセットに含まれる任意のケーパビリティを、 他のプロセスに付与したり、削除したりできる。 (カーネルがファイルケーパビリティをサポートしている場合、 B<CAP_SETPCAP> はこの役割を持たない。 なぜなら、ファイルケーパビリティをサポートしているカーネルでは B<CAP_SETPCAP> は全く別の意味を持つからである。)"
 
 #. type: TP
 #: build/C/man7/capabilities.7:363
@@ -1684,16 +1600,10 @@ msgstr "B<CAP_SETUID>"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:373
-#, fuzzy
-#| msgid ""
-#| "B<getuid>(2), B<setresuid>(2), B<setreuid>(2), B<setuid>(2), "
-#| "B<credentials>(7)"
 msgid ""
 "Make arbitrary manipulations of process UIDs (B<setuid>(2), B<setreuid>(2), "
 "B<setresuid>(2), B<setfsuid>(2));"
-msgstr ""
-"B<getuid>(2), B<setresuid>(2), B<setreuid>(2), B<setuid>(2), "
-"B<credentials>(7)"
+msgstr "Make arbitrary manipulations of process UIDs (B<setuid>(2), B<setreuid>(2), B<setresuid>(2), B<setfsuid>(2));"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:375
@@ -1731,19 +1641,11 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:401
-#, fuzzy
-#| msgid ""
-#| "Perform a range of system administration operations including: "
-#| "B<quotactl>(2), B<mount>(2), B<umount>(2), B<swapon>(2), B<swapoff>(2), "
-#| "B<sethostname>(2), and B<setdomainname>(2);"
 msgid ""
 "Perform a range of system administration operations including: "
 "B<quotactl>(2), B<mount>(2), B<umount>(2), B<pivot_root>(2), B<swapon>(2), "
 "B<swapoff>(2), B<sethostname>(2), and B<setdomainname>(2);"
-msgstr ""
-"以下のシステム管理用の操作を実行する: B<quotactl>(2), B<mount>(2), "
-"B<umount>(2), B<swapon>(2), B<swapoff>(2), B<sethostname>(2), "
-"B<setdomainname>(2)."
+msgstr "Perform a range of system administration operations including: B<quotactl>(2), B<mount>(2), B<umount>(2), B<pivot_root>(2), B<swapon>(2), B<swapoff>(2), B<sethostname>(2), and B<setdomainname>(2);"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:407
@@ -1799,16 +1701,10 @@ msgstr "B<RLIMIT_NPROC> リソース制限を上書きする。"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:444
-#, fuzzy
-#| msgid ""
-#| "perform operations on I<trusted> and I<security> Extended Attributes (see "
-#| "B<attr>(5));"
 msgid ""
 "perform operations on I<trusted> and I<security> extended attributes (see "
 "B<xattr>(7));"
-msgstr ""
-"拡張属性 I<trusted> と I<security> に対する操作を実行する (B<attr>(5)  参"
-"照)。"
+msgstr "拡張属性 I<trusted> と I<security> に対する操作を実行する (B<xattr>(7) 参照)。"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:447
@@ -1954,8 +1850,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:553
-#, fuzzy
-#| msgid "perform administrative operations on many device drivers."
 msgid "perform administrative operations on many device drivers;"
 msgstr "多くのデバイスドライバに対する管理命令を実行する。"
 
@@ -1985,10 +1879,8 @@ msgstr "B<CAP_SYS_CHROOT>"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:573
-#, fuzzy
-#| msgid "Use B<chroot>(2)."
 msgid "Use B<chroot>(2);"
-msgstr "B<chroot>(2).  を呼び出す。"
+msgstr "B<chroot>(2) を使用する。"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:576
@@ -2003,35 +1895,17 @@ msgstr "B<CAP_SYS_MODULE>"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:588
-#, fuzzy
-#| msgid ""
-#| "Load and unload kernel modules (see B<init_module>(2)  and "
-#| "B<delete_module>(2)); in kernels before 2.6.25: drop capabilities from "
-#| "the system-wide capability bounding set."
 msgid ""
 "Load and unload kernel modules (see B<init_module>(2)  and "
 "B<delete_module>(2));"
-msgstr ""
-"カーネルモジュールのロード、アンロードを行う (B<init_module>(2)  と "
-"B<delete_module>(2)  を参照のこと)。 バージョン 2.6.25 より前のカーネルで、 "
-"システム全体のケーパビリティバウンディングセット (capability bounding set)  "
-"からケーパビリティを外す。"
+msgstr "カーネルモジュールのロード、アンロードを行う (B<init_module>(2)  と B<delete_module>(2)  を参照のこと)。"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:591
-#, fuzzy
-#| msgid ""
-#| "Load and unload kernel modules (see B<init_module>(2)  and "
-#| "B<delete_module>(2)); in kernels before 2.6.25: drop capabilities from "
-#| "the system-wide capability bounding set."
 msgid ""
 "in kernels before 2.6.25: drop capabilities from the system-wide capability "
 "bounding set."
-msgstr ""
-"カーネルモジュールのロード、アンロードを行う (B<init_module>(2)  と "
-"B<delete_module>(2)  を参照のこと)。 バージョン 2.6.25 より前のカーネルで、 "
-"システム全体のケーパビリティバウンディングセット (capability bounding set)  "
-"からケーパビリティを外す。"
+msgstr "バージョン 2.6.25 より前のカーネルで、 システム全体のケーパビリティバウンディングセット (capability bounding set)  からケーパビリティを外す。"
 
 #. type: TP
 #: build/C/man7/capabilities.7:593
@@ -2041,32 +1915,18 @@ msgstr "B<CAP_SYS_NICE>"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:602
-#, fuzzy
-#| msgid ""
-#| "Raise process nice value (B<nice>(2), B<setpriority>(2))  and change the "
-#| "nice value for arbitrary processes;"
 msgid ""
 "Lower the process nice value (B<nice>(2), B<setpriority>(2))  and change the "
 "nice value for arbitrary processes;"
-msgstr ""
-"プロセスの nice 値の引き上げ (B<nice>(2), B<setpriority>(2))  や、任意のプロ"
-"セスの nice 値の変更を行う。"
+msgstr "プロセスの nice 値の引き下げ (B<nice>(2), B<setpriority>(2))  や、任意のプロセスの nice 値の変更を行う。"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:608
-#, fuzzy
-#| msgid ""
-#| "set real-time scheduling policies for calling process, and set scheduling "
-#| "policies and priorities for arbitrary processes "
-#| "(B<sched_setscheduler>(2), B<sched_setparam>(2), B<shed_setattr>(2));"
 msgid ""
 "set real-time scheduling policies for calling process, and set scheduling "
 "policies and priorities for arbitrary processes (B<sched_setscheduler>(2), "
 "B<sched_setparam>(2), B<sched_setattr>(2));"
-msgstr ""
-"呼び出し元プロセスに対するリアルタイムスケジューリングポリシーと、 任意のプロ"
-"セスに対するスケジューリングポリシーと優先度を設定する "
-"(B<sched_setscheduler>(2), B<sched_setparam>(2), B<shed_setattr>(2))。"
+msgstr "呼び出し元プロセスに対するリアルタイムスケジューリングポリシーと、 任意のプロセスに対するスケジューリングポリシーと優先度を設定する (B<sched_setscheduler>(2), B<sched_setparam>(2), B<sched_setattr>(2))。"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:611
@@ -2138,10 +1998,6 @@ msgstr "B<get_robust_list>(2)  を任意のプロセスに対して行う。"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:658
-#, fuzzy
-#| msgid ""
-#| "transfer data to or from the memory of arbitrary processes using "
-#| "B<process_vm_readv>(2)  and B<process_vm_writev>(2)."
 msgid ""
 "transfer data to or from the memory of arbitrary processes using "
 "B<process_vm_readv>(2)  and B<process_vm_writev>(2);"
@@ -2177,10 +2033,6 @@ msgstr "B<FIBMAP> B<ioctl>(2) 操作を使用する。"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:683
-#, fuzzy
-#| msgid ""
-#| "open devices for accessing x86 model-specific registers (MSRs, see "
-#| "B<msr>(4))"
 msgid ""
 "open devices for accessing x86 model-specific registers (MSRs, see "
 "B<msr>(4));"
@@ -2288,10 +2140,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:757
-#, fuzzy
-#| msgid ""
-#| "override the I</proc/sys/fs/pipe-size-max> limit when setting the "
-#| "capacity of a pipe using the B<F_SETPIPE_SZ> B<fcntl>(2)  command."
 msgid ""
 "override the I</proc/sys/fs/pipe-size-max> limit when setting the capacity "
 "of a pipe using the B<F_SETPIPE_SZ> B<fcntl>(2)  command;"
@@ -2310,38 +2158,23 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:770
-#, fuzzy
-#| msgid ""
-#| "override I</proc/sys/fs/mqueue/queues_max> limit when creating POSIX "
-#| "message queues (see B<mq_overview>(7));"
 msgid ""
 "override I</proc/sys/fs/mqueue/queues_max,> I</proc/sys/fs/mqueue/msg_max,> "
 "and I</proc/sys/fs/mqueue/msgsize_max> limits when creating POSIX message "
 "queues (see B<mq_overview>(7));"
-msgstr ""
-"POSIX メッセージキューを作成する際に、\n"
-"上限 I</proc/sys/fs/mqueue/queues_max> を上書きする\n"
-"(B<mq_overview>(7) 参照)。"
+msgstr "POSIX メッセージキューを作成する際に、上限 I</proc/sys/fs/mqueue/queues_max>, I</proc/sys/fs/mqueue/msg_max>, I</proc/sys/fs/mqueue/msgsize_max> を上書きする (B<mq_overview>(7) 参照)。"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:775
-#, fuzzy
-#| msgid "employ B<prctl>(2)  B<PR_SET_MM> operation;"
 msgid "employ the B<prctl>(2)  B<PR_SET_MM> operation;"
 msgstr "B<prctl>(2) B<PR_SET_MM> 操作を使用する。"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:780
-#, fuzzy
-#| msgid ""
-#| "set I</proc/PID/oom_score_adj> to a value lower than the value last set "
-#| "by a process with B<CAP_SYS_RESOURCE>."
 msgid ""
 "set I</proc/[pid]/oom_score_adj> to a value lower than the value last set by "
 "a process with B<CAP_SYS_RESOURCE>."
-msgstr ""
-"B<CAP_SYS_RESOURCE> を持ったプロセスによって最後に設定された値よりも小さな値"
-"を I</proc/PID/oom_score_adj> に設定する。"
+msgstr "B<CAP_SYS_RESOURCE> を持ったプロセスによって最後に設定された値よりも小さな値を I</proc/[pid]/oom_score_adj> に設定する。"
 
 #. type: TP
 #: build/C/man7/capabilities.7:782
@@ -2567,17 +2400,10 @@ msgstr "スレッドケーパビリティセット"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:898
-#, fuzzy
-#| msgid ""
-#| "Each thread has three capability sets containing zero or more of the "
-#| "above capabilities:"
 msgid ""
 "Each thread has the following capability sets containing zero or more of the "
 "above capabilities:"
-msgstr ""
-"各スレッドは以下の 3種類のケーパビリティセットを持つ。各々のケーパビリティ"
-"セットは 上記のケーパビリティの組み合わせである (全てのケーパビリティが無効で"
-"もよい)。"
+msgstr "各スレッドは以下のケーパビリティセットを持つ。各々のケーパビリティセットは 上記のケーパビリティの組み合わせである (全てのケーパビリティが無効でもよい)。"
 
 #. type: TP
 #: build/C/man7/capabilities.7:898
@@ -2669,18 +2495,10 @@ msgstr "I<ru_inblock> (Linux 2.6.22 以降)"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:934
-#, fuzzy
-#| msgid ""
-#| "The capability bounding set is a security mechanism that can be used to "
-#| "limit the capabilities that can be gained during an B<execve>(2).  The "
-#| "bounding set is used in the following ways:"
 msgid ""
 "The capability bounding set is a mechanism that can be used to limit the "
 "capabilities that are gained during B<execve>(2)."
-msgstr ""
-"ケーパビリティバウンディングセット (capability bounding set) は、 "
-"B<execve>(2)  時に獲得できるケーパビリティを制限するために使われる セキュリ"
-"ティ機構である。 バウンディングセットは以下のように使用される。"
+msgstr "ケーパビリティバウンディングセット (capability bounding set) は、 B<execve>(2) 時に獲得するケーパビリティを制限するために使われる機構である。"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:938
@@ -2692,10 +2510,8 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:940
-#, fuzzy
-#| msgid "is the value of the capability bounding set (described below)."
 msgid "For more details on the capability bounding set, see below."
-msgstr "ケーパビリティバウンディングセットの値 (下記参照)"
+msgstr "ケーパビリティバウンディングセットの詳細は、下記を参照。"
 
 #. type: TP
 #: build/C/man7/capabilities.7:940
@@ -2783,15 +2599,6 @@ msgstr "ファイルケーパビリティ"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:1002
-#, fuzzy
-#| msgid ""
-#| "Since kernel 2.6.24, the kernel supports associating capability sets with "
-#| "an executable file using B<setcap>(8).  The file capability sets are "
-#| "stored in an extended attribute (see B<setxattr>(2))  named I<security."
-#| "capability>.  Writing to this extended attribute requires the "
-#| "B<CAP_SETFCAP> capability.  The file capability sets, in conjunction with "
-#| "the capability sets of the thread, determine the capabilities of a thread "
-#| "after an B<execve>(2)."
 msgid ""
 "Since kernel 2.6.24, the kernel supports associating capability sets with an "
 "executable file using B<setcap>(8).  The file capability sets are stored in "
@@ -2800,13 +2607,7 @@ msgid ""
 "B<CAP_SETFCAP> capability.  The file capability sets, in conjunction with "
 "the capability sets of the thread, determine the capabilities of a thread "
 "after an B<execve>(2)."
-msgstr ""
-"カーネル 2.6.24 以降では、 B<setcap>(8)  を使って実行ファイルにケーパビリティ"
-"セットを対応付けることができる。 ファイルケーパビリティセットは I<security."
-"capability> という名前の拡張属性に保存される (B<setxattr>(2)  参照)。この拡張"
-"属性への書き込みには B<CAP_SETFCAP> ケーパビリティが必要である。 ファイルケー"
-"パビリティセットとスレッドのケーパビリティセットの両方が 考慮され、 "
-"B<execve>(2)  後のスレッドのケーパビリティセットが決定される。"
+msgstr "カーネル 2.6.24 以降では、 B<setcap>(8)  を使って実行ファイルにケーパビリティセットを対応付けることができる。 ファイルケーパビリティセットは I<security.capability> という名前の拡張属性に保存される (B<setxattr>(2) と B<xattr>(7) 参照)。この拡張属性への書き込みには B<CAP_SETFCAP> ケーパビリティが必要である。 ファイルケーパビリティセットとスレッドのケーパビリティセットの両方が 考慮され、 B<execve>(2)  後のスレッドのケーパビリティセットが決定される。"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:1004
@@ -2919,10 +2720,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/capabilities.7:1052
-#, fuzzy, no-wrap
-#| msgid "B<CAP_MAC_ADMIN> (since Linux 2.6.25)"
+#, no-wrap
 msgid "B<VFS_CAP_REVISION_2> (since Linux 2.6.25)"
-msgstr "B<CAP_MAC_ADMIN> (Linux 2.6.25 以降)"
+msgstr "B<VFS_CAP_REVISION_2> (Linux 2.6.25 以降)"
 
 #.  commit e338d263a76af78fe8f38a72131188b58fceb591
 #. type: Plain text
@@ -2939,10 +2739,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/capabilities.7:1063
-#, fuzzy, no-wrap
-#| msgid "B<CAP_LEASE> (since Linux 2.4)"
+#, no-wrap
 msgid "B<VFS_CAP_REVISION_3> (since Linux 4.14)"
-msgstr "B<CAP_LEASE> (Linux 2.4 以降)"
+msgstr "B<VFS_CAP_REVISION_3> (Linux 4.14 以降)"
 
 #.  commit 8db6c34f1dbc8e06aa016a9b829b06902c3e1340
 #. type: Plain text
@@ -3087,23 +2886,19 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:1181
-#, fuzzy, no-wrap
-#| msgid ""
-#| "P'(permitted) = (P(inheritable) & F(inheritable)) |\n"
-#| "                (F(permitted) & cap_bset)\n"
+#, no-wrap
 msgid ""
 "P'(permitted)   = (P(inheritable) & F(inheritable)) |\n"
 "                  (F(permitted) & P(bounding)) | P'(ambient)\n"
 msgstr ""
-"P'(permitted) = (P(inheritable) & F(inheritable)) |\n"
-"                (F(permitted) & cap_bset)\n"
+"P'(permitted)   = (P(inheritable) & F(inheritable)) |\n"
+"                  (F(permitted) & P(bounding)) | P'(ambient)\n"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:1183
-#, fuzzy, no-wrap
-#| msgid "P'(effective) = F(effective) ? P'(permitted) : 0\n"
+#, no-wrap
 msgid "P'(effective)   = F(effective) ? P'(permitted) : P'(ambient)\n"
-msgstr "P'(effective) = F(effective) ? P'(permitted) : 0\n"
+msgstr "P'(effective)   = F(effective) ? P'(permitted) : P'(ambient)\n"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:1185
@@ -3113,10 +2908,9 @@ msgstr "P'(inheritable) = P(inheritable)    [つまり、変更されない]\n"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:1187
-#, fuzzy, no-wrap
-#| msgid "P'(inheritable) = P(inheritable)    [i.e., unchanged]\n"
+#, no-wrap
 msgid "P'(bounding)    = P(bounding)       [i.e., unchanged]\n"
-msgstr "P'(inheritable) = P(inheritable)    [つまり、変更されない]\n"
+msgstr "P'(bounding)    = P(bounding)       [つまり、変更されない]\n"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:1191
@@ -3125,10 +2919,9 @@ msgstr "各変数の意味は以下の通り:"
 
 #. type: IP
 #: build/C/man7/capabilities.7:1192
-#, fuzzy, no-wrap
-#| msgid "(1)"
+#, no-wrap
 msgid "P()"
-msgstr "(1)"
+msgstr "P()"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:1195
@@ -3139,21 +2932,18 @@ msgstr "B<execve>(2)  前のスレッドのケーパビリティセットの値"
 #: build/C/man7/capabilities.7:1195
 #, no-wrap
 msgid "P'()"
-msgstr ""
+msgstr "P'()"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:1198
-#, fuzzy
-#| msgid "denotes the value of a thread capability set before the B<execve>(2)"
 msgid "denotes the value of a thread capability set after the B<execve>(2)"
-msgstr "B<execve>(2)  前のスレッドのケーパビリティセットの値"
+msgstr "B<execve>(2) のスレッドのケーパビリティセットの値"
 
 #. type: IP
 #: build/C/man7/capabilities.7:1198
-#, fuzzy, no-wrap
-#| msgid "(1)"
+#, no-wrap
 msgid "F()"
-msgstr "(1)"
+msgstr "F()"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:1200
@@ -3310,17 +3100,15 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:1316
-#, fuzzy, no-wrap
-#| msgid "P'(inheritable) = P(inheritable)    [i.e., unchanged]\n"
+#, no-wrap
 msgid "P'(permitted)   = P(inheritable) | P(bounding)\n"
-msgstr "P'(inheritable) = P(inheritable)    [つまり、変更されない]\n"
+msgstr "P'(permitted)   = P(inheritable) | P(bounding)\n"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:1318
-#, fuzzy, no-wrap
-#| msgid "P'(effective) = F(effective) ? P'(permitted) : 0\n"
+#, no-wrap
 msgid "P'(effective)   = P'(permitted)\n"
-msgstr "P'(effective) = F(effective) ? P'(permitted) : 0\n"
+msgstr "P'(effective)   = P'(permitted)\n"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:1327
@@ -3460,18 +3248,11 @@ msgstr "B<Linux 2.6.25 以降のケーパビリティバウンディングセッ
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:1399
-#, fuzzy
-#| msgid ""
-#| "From Linux 2.6.25, the I<capability bounding set> is a per-thread "
-#| "attribute.  (There is no longer a system-wide capability bounding set.)"
 msgid ""
 "From Linux 2.6.25, the I<capability bounding set> is a per-thread "
 "attribute.  (The system-wide capability bounding set described below no "
 "longer exists.)"
-msgstr ""
-"Linux 2.6.25 以降では、 「ケーパビリティバウンディングセット」はスレッド単位"
-"の属性である (システム共通のケーパビリティバウンディングセットはもはや存在し"
-"ない)。"
+msgstr "Linux 2.6.25 以降では、 「ケーパビリティバウンディングセット」はスレッド単位の属性である (以下に説明があるシステム全体のケーパビリティバウンディングセットはもはや存在しない)。"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:1404
@@ -3890,10 +3671,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/capabilities.7:1609
-#, fuzzy, no-wrap
-#| msgid "B<SECBIT_NO_SETUID_FIXUP>"
+#, no-wrap
 msgid "B<SECBIT_NO_CAP_AMBIENT_RAISE>"
-msgstr "B<SECBIT_NO_SETUID_FIXUP>"
+msgstr "B<SECBIT_NO_CAP_AMBIENT_RAISE>"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:1615
@@ -3966,14 +3746,7 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:1669
-#, fuzzy, no-wrap
-#| msgid ""
-#| "prctl(PR_SET_SECUREBITS,\n"
-#| "        SECBIT_KEEP_CAPS_LOCKED |\n"
-#| "        SECBIT_NO_SETUID_FIXUP |\n"
-#| "        SECBIT_NO_SETUID_FIXUP_LOCKED |\n"
-#| "        SECBIT_NOROOT |\n"
-#| "        SECBIT_NOROOT_LOCKED);\n"
+#, no-wrap
 msgid ""
 "prctl(PR_SET_SECUREBITS,\n"
 "        /* SECBIT_KEEP_CAPS off */\n"
@@ -3986,11 +3759,14 @@ msgid ""
 "           is not required */\n"
 msgstr ""
 "prctl(PR_SET_SECUREBITS,\n"
+"        /* SECBIT_KEEP_CAPS off */\n"
 "        SECBIT_KEEP_CAPS_LOCKED |\n"
 "        SECBIT_NO_SETUID_FIXUP |\n"
 "        SECBIT_NO_SETUID_FIXUP_LOCKED |\n"
 "        SECBIT_NOROOT |\n"
 "        SECBIT_NOROOT_LOCKED);\n"
+"        /* Setting/locking SECBIT_NO_CAP_AMBIENT_RAISE\n"
+"           is not required */\n"
 
 #. type: SS
 #: build/C/man7/capabilities.7:1673
@@ -4184,16 +3960,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:1801
-#, fuzzy
-#| msgid ""
-#| "E<.UR http://www.kernel.org\\:/pub\\:/linux\\:/libs\\:/security\\:/linux-"
-#| "privs> E<.UE .>"
 msgid ""
 "E<.UR https://git.kernel.org\\:/pub\\:/scm\\:/libs\\:/libcap\\:/libcap.git"
 "\\:/refs/> E<.UE .>"
-msgstr ""
-"E<.UR http://www.kernel.org\\:/pub\\:/linux\\:/libs\\:/security\\:/linux-"
-"privs> E<.UE .>"
+msgstr "E<.UR https://git.kernel.org\\:/pub\\:/scm\\:/libs\\:/libcap\\:/libcap.git\\:/refs/> E<.UE .>"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:1810
@@ -4260,13 +4030,6 @@ msgstr ""
 #.  from libcap-ng
 #. type: Plain text
 #: build/C/man7/capabilities.7:1852
-#, fuzzy
-#| msgid ""
-#| "B<capsh>(1), B<setpriv>(2), B<prctl>(2), B<setfsuid>(2), B<cap_clear>(3), "
-#| "B<cap_copy_ext>(3), B<cap_from_text>(3), B<cap_get_file>(3), "
-#| "B<cap_get_proc>(3), B<cap_init>(3), B<capgetp>(3), B<capsetp>(3), "
-#| "B<libcap>(3), B<credentials>(7), B<user_namespaces>(7), B<pthreads>(7), "
-#| "B<getcap>(8), B<setcap>(8)"
 msgid ""
 "B<capsh>(1), B<setpriv>(1), B<prctl>(2), B<setfsuid>(2), B<cap_clear>(3), "
 "B<cap_copy_ext>(3), B<cap_from_text>(3), B<cap_get_file>(3), "
@@ -4274,12 +4037,7 @@ msgid ""
 "B<libcap>(3), B<proc>(5), B<credentials>(7), B<pthreads>(7), "
 "B<user_namespaces>(7), B<captest>(8), B<filecap>(8), B<getcap>(8), "
 "B<getpcaps>(8), B<netcap>(8), B<pscap>(8), B<setcap>(8)"
-msgstr ""
-"B<capsh>(1), B<setpriv>(2), B<prctl>(2), B<setfsuid>(2), B<cap_clear>(3), "
-"B<cap_copy_ext>(3), B<cap_from_text>(3), B<cap_get_file>(3), "
-"B<cap_get_proc>(3), B<cap_init>(3), B<capgetp>(3), B<capsetp>(3), "
-"B<libcap>(3), B<credentials>(7), B<user_namespaces>(7), B<pthreads>(7), "
-"B<getcap>(8), B<setcap>(8)"
+msgstr "B<capsh>(1), B<setpriv>(1), B<prctl>(2), B<setfsuid>(2), B<cap_clear>(3), B<cap_copy_ext>(3), B<cap_from_text>(3), B<cap_get_file>(3), B<cap_get_proc>(3), B<cap_init>(3), B<capgetp>(3), B<capsetp>(3), B<libcap>(3), B<proc>(5), B<credentials>(7), B<pthreads>(7), B<user_namespaces>(7), B<captest>(8), B<filecap>(8), B<getcap>(8), B<getpcaps>(8), B<netcap>(8), B<pscap>(8), B<setcap>(8)"
 
 #. type: Plain text
 #: build/C/man7/capabilities.7:1855
@@ -4294,10 +4052,9 @@ msgstr "CAPGET"
 
 #. type: TH
 #: build/C/man2/capget.2:16
-#, fuzzy, no-wrap
-#| msgid "2015-02-01"
+#, no-wrap
 msgid "2020-02-09"
-msgstr "2015-02-01"
+msgstr "2020-02-09"
 
 #. type: Plain text
 #: build/C/man2/capget.2:19
@@ -4342,20 +4099,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/capget.2:41
-#, fuzzy
-#| msgid ""
-#| "The portable interfaces are B<cap_set_proc>(3)  and B<cap_get_proc>(3); "
-#| "if possible, you should use those interfaces in applications.  If you "
-#| "wish to use the Linux extensions in applications, you should use the "
-#| "easier-to-use interfaces B<capsetp>(3)  and B<capgetp>(3)."
 msgid ""
 "The portable interfaces are B<cap_set_proc>(3)  and B<cap_get_proc>(3); if "
 "possible, you should use those interfaces in applications."
-msgstr ""
-"移植性のあるインターフェースは B<cap_set_proc>(3)  と B<cap_get_proc>(3)  で"
-"ある。 可能ならばアプリケーションはこれらの関数を使用すべきである。 アプリ"
-"ケーションに Linux 拡張を使用したい場合には、より簡単に 使えるインターフェー"
-"スである B<capsetp>(3)  と B<capgetp>(3)  を使用すべきである。"
+msgstr "移植性のあるインターフェースは B<cap_set_proc>(3)  と B<cap_get_proc>(3)  である。 可能ならばアプリケーションはこれらの関数を使用すべきである。"
 
 #. type: SS
 #: build/C/man2/capget.2:41
@@ -4386,32 +4133,28 @@ msgstr ""
 #.  Added 64 bit capability support
 #. type: Plain text
 #: build/C/man2/capget.2:55
-#, fuzzy, no-wrap
-#| msgid ""
-#| "#define _LINUX_CAPABILITY_VERSION_2  0x20071026\n"
-#| "#define _LINUX_CAPABILITY_U32S_2     2\n"
+#, no-wrap
 msgid ""
 "        /* V2 added in Linux 2.6.25; deprecated */\n"
 "#define _LINUX_CAPABILITY_VERSION_2  0x20071026\n"
 "#define _LINUX_CAPABILITY_U32S_2     2\n"
 msgstr ""
+"        /* V2 added in Linux 2.6.25; deprecated */\n"
 "#define _LINUX_CAPABILITY_VERSION_2  0x20071026\n"
 "#define _LINUX_CAPABILITY_U32S_2     2\n"
 
 #.  commit ca05a99a54db1db5bca72eccb5866d2a86f8517f
 #. type: Plain text
 #: build/C/man2/capget.2:60
-#, fuzzy, no-wrap
-#| msgid ""
-#| "#define _LINUX_CAPABILITY_VERSION_2  0x20071026\n"
-#| "#define _LINUX_CAPABILITY_U32S_2     2\n"
+#, no-wrap
 msgid ""
 "        /* V3 added in Linux 2.6.26 */\n"
 "#define _LINUX_CAPABILITY_VERSION_3  0x20080522\n"
 "#define _LINUX_CAPABILITY_U32S_3     2\n"
 msgstr ""
-"#define _LINUX_CAPABILITY_VERSION_2  0x20071026\n"
-"#define _LINUX_CAPABILITY_U32S_2     2\n"
+"        /* V3 added in Linux 2.6.26 */\n"
+"#define _LINUX_CAPABILITY_VERSION_3  0x20080522\n"
+"#define _LINUX_CAPABILITY_U32S_3     2\n"
 
 #. type: Plain text
 #: build/C/man2/capget.2:65
@@ -4445,14 +4188,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/capget.2:90
-#, fuzzy
-#| msgid ""
-#| "The I<effective>, I<permitted>, and I<inheritable> fields are bit masks "
-#| "of the capabilities defined in B<capabilities>(7).  Note the B<CAP_*> "
-#| "values are bit indexes and need to be bit-shifted before ORing into the "
-#| "bit fields.  To define the structures for passing to the system call you "
-#| "have to use the I<struct __user_cap_header_struct> and I<struct "
-#| "__user_cap_data_struct> names because the typedefs are only pointers."
 msgid ""
 "The I<effective>, I<permitted>, and I<inheritable> fields are bit masks of "
 "the capabilities defined in B<capabilities>(7).  Note that the B<CAP_*> "
@@ -4523,8 +4258,7 @@ msgstr "このデータの詳細は B<capabilities>(7)  を参照すること。
 
 #. type: SS
 #: build/C/man2/capget.2:122
-#, fuzzy, no-wrap
-#| msgid "With VFS capability support"
+#, no-wrap
 msgid "With VFS capabilities support"
 msgstr "VFS ケーパビリティがサポートされている場合"
 
@@ -4555,8 +4289,7 @@ msgstr ""
 
 #. type: SS
 #: build/C/man2/capget.2:135
-#, fuzzy, no-wrap
-#| msgid "Without VFS capability support"
+#, no-wrap
 msgid "Without VFS capabilities support"
 msgstr "VFS ケーパビリティがサポートされていない場合"
 
@@ -4601,13 +4334,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/capget.2:184
-#, fuzzy
-#| msgid ""
-#| "The calls will fail with the error B<EINVAL>, and set the I<version> "
-#| "field of I<hdrp> to the kernel preferred value of "
-#| "B<_LINUX_CAPABILITY_VERSION_?> when an unsupported I<version> value is "
-#| "specified.  In this way, one can probe what the current preferred "
-#| "capability revision is."
 msgid ""
 "The calls fail with the error B<EINVAL>, and set the I<version> field of "
 "I<hdrp> to the kernel preferred value of B<_LINUX_CAPABILITY_VERSION_?> when "
@@ -4773,10 +4499,9 @@ msgstr "CPUSET"
 #: build/C/man7/cpuset.7:25 build/C/man7/credentials.7:27
 #: build/C/man2/getpid.2:25 build/C/man2/getrlimit.2:64
 #: build/C/man2/seccomp.2:28 build/C/man3/posix_spawn.3:31
-#, fuzzy, no-wrap
-#| msgid "2010-11-22"
+#, no-wrap
 msgid "2020-11-01"
-msgstr "2010-11-22"
+msgstr "2020-11-01"
 
 #. type: Plain text
 #: build/C/man7/cpuset.7:28
@@ -6604,8 +6329,7 @@ msgstr ""
 #: build/C/man7/cpuset.7:1365 build/C/man2/getrlimit.2:779
 #: build/C/man2/seccomp.2:947 build/C/man2/pidfd_open.2:200
 #: build/C/man2/pidfd_send_signal.2:179 build/C/man3/posix_spawn.3:602
-#, fuzzy, no-wrap
-#| msgid "EXAMPLE"
+#, no-wrap
 msgid "EXAMPLES"
 msgstr "例"
 
@@ -6694,19 +6418,7 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/cpuset.7:1403
-#, fuzzy, no-wrap
-#| msgid ""
-#| "$B< mkdir /dev/cpuset>\n"
-#| "$B< mount -t cpuset cpuset /dev/cpuset>\n"
-#| "$B< cd /dev/cpuset>\n"
-#| "$B< mkdir Charlie>\n"
-#| "$B< cd Charlie>\n"
-#| "$B< /bin/echo 2-3 E<gt> cpuset.cpus>\n"
-#| "$B< /bin/echo 1 E<gt> cpuset.mems>\n"
-#| "$B< /bin/echo $$ E<gt> tasks>\n"
-#| "# The current shell is now running in cpuset Charlie\n"
-#| "# The next line should display '/Charlie'\n"
-#| "$B< cat /proc/self/cpuset>\n"
+#, no-wrap
 msgid ""
 "$B< mkdir /dev/cpuset>\n"
 "$B< mount -t cpuset cpuset /dev/cpuset>\n"
@@ -6729,7 +6441,7 @@ msgstr ""
 "$B< /bin/echo 1 E<gt> cpuset.mems>\n"
 "$B< /bin/echo $$ E<gt> tasks>\n"
 "# The current shell is now running in cpuset Charlie\n"
-"# The next line should display '/Charlie'\n"
+"# The next line should display \\(aq/Charlie\\(aq\n"
 "$B< cat /proc/self/cpuset>\n"
 
 #. type: SS
@@ -6843,22 +6555,12 @@ msgstr "$B< sed -un p E<lt> ../alpha/tasks E<gt> tasks>\n"
 
 #. type: Plain text
 #: build/C/man7/cpuset.7:1505
-#, fuzzy
-#| msgid ""
-#| "B<taskset>(1), B<get_mempolicy>(2), B<getcpu>(2), B<mbind>(2), "
-#| "B<sched_getaffinity>(2), B<sched_setaffinity>(2), "
-#| "B<sched_setscheduler>(2), B<set_mempolicy>(2), B<CPU_SET>(3), B<proc>(5), "
-#| "B<numa>(7), B<sched>(7), B<migratepages>(8), B<numactl>(8)"
 msgid ""
 "B<taskset>(1), B<get_mempolicy>(2), B<getcpu>(2), B<mbind>(2), "
 "B<sched_getaffinity>(2), B<sched_setaffinity>(2), B<sched_setscheduler>(2), "
 "B<set_mempolicy>(2), B<CPU_SET>(3), B<proc>(5), B<cgroups>(7), B<numa>(7), "
 "B<sched>(7), B<migratepages>(8), B<numactl>(8)"
-msgstr ""
-"B<taskset>(1), B<get_mempolicy>(2), B<getcpu>(2), B<mbind>(2), "
-"B<sched_getaffinity>(2), B<sched_setaffinity>(2), B<sched_setscheduler>(2), "
-"B<set_mempolicy>(2), B<CPU_SET>(3), B<proc>(5), B<numa>(7), B<sched>(7), "
-"B<migratepages>(8), B<numactl>(8)"
+msgstr "B<taskset>(1), B<get_mempolicy>(2), B<getcpu>(2), B<mbind>(2), B<sched_getaffinity>(2), B<sched_setaffinity>(2), B<sched_setscheduler>(2), B<set_mempolicy>(2), B<CPU_SET>(3), B<proc>(5), B<cgroups>(7), B<numa>(7), B<sched>(7), B<migratepages>(8), B<numactl>(8)"
 
 #.  commit 45ce80fb6b6f9594d1396d44dd7e7c02d596fef8
 #. type: Plain text
@@ -7061,25 +6763,13 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/credentials.7:167
-#, fuzzy
-#| msgid ""
-#| "Various system calls and library functions may operate on all members of "
-#| "a process group, including B<kill>(2), B<killpg>(2), B<getpriority>(2), "
-#| "B<setpriority>(2), B<ioprio_get>(2), B<ioprio_set>(2), B<waitid>(2), and "
-#| "B<waitpid>(2).  See also the discussion of the B<F_GETOWN>, "
-#| "B<F_GETOWN_EX>, B<F_SETOWN>, and B<F_SETOWN_EX> operations in B<fcntl>(2)."
 msgid ""
 "Various system calls and library functions may operate on all members of a "
 "process group, including B<kill>(2), B<killpg>(3), B<getpriority>(2), "
 "B<setpriority>(2), B<ioprio_get>(2), B<ioprio_set>(2), B<waitid>(2), and "
 "B<waitpid>(2).  See also the discussion of the B<F_GETOWN>, B<F_GETOWN_EX>, "
 "B<F_SETOWN>, and B<F_SETOWN_EX> operations in B<fcntl>(2)."
-msgstr ""
-"様々なシステムコールやライブラリ関数で、プロセスグループの全メンバーに対して"
-"操作を行うことができる。 例えば、 B<kill>(2), B<killpg>(2), "
-"B<getpriority>(2), B<setpriority>(2), B<ioprio_get>(2), B<ioprio_set>(2), "
-"B<waitid>(2), B<waitpid>(2) など。 B<fcntl>(2) の操作 B<F_GETOWN>, "
-"B<F_GETOWN_EX>, B<F_SETOWN>, B<F_SETOWN_EX> の議論も参照。"
+msgstr "様々なシステムコールやライブラリ関数で、プロセスグループの全メンバーに対して操作を行うことができる。 例えば、 B<kill>(2), B<killpg>(3), B<getpriority>(2), B<setpriority>(2), B<ioprio_get>(2), B<ioprio_set>(2), B<waitid>(2), B<waitpid>(2) など。 B<fcntl>(2) の操作 B<F_GETOWN>, B<F_GETOWN_EX>, B<F_SETOWN>, B<F_SETOWN_EX> の議論も参照。"
 
 #. type: SS
 #: build/C/man7/credentials.7:167
@@ -7089,11 +6779,6 @@ msgstr "ユーザー ID とグループ ID"
 
 #. type: Plain text
 #: build/C/man7/credentials.7:175
-#, fuzzy
-#| msgid ""
-#| "Each process has various associated user and groups IDs.  These IDs are "
-#| "integers, respectively represented using the types I<uid_t> and I<gid_t> "
-#| "(defined in I<E<lt>sys/types.hE<gt>>)."
 msgid ""
 "Each process has various associated user and group IDs.  These IDs are "
 "integers, respectively represented using the types I<uid_t> and I<gid_t> "
@@ -7193,17 +6878,6 @@ msgstr ""
 #.  As at 2.6.22-rc2, this file is still read-only.
 #. type: Plain text
 #: build/C/man7/credentials.7:251
-#, fuzzy
-#| msgid ""
-#| "Supplementary group IDs.  This is a set of additional group IDs that are "
-#| "used for permission checks when accessing files and other shared "
-#| "resources.  On Linux kernels before 2.6.4, a process can be a member of "
-#| "up to 32 supplementary groups; since kernel 2.6.4, a process can be a "
-#| "member of up to 65536 supplementary groups.  The call "
-#| "I<sysconf(_SC_NGROUPS_MAX)> can be used to determine the number of "
-#| "supplementary groups of which a process may be a member.  A process can "
-#| "obtain its set of supplementary group IDs using B<getgroups>(2), and can "
-#| "modify the set using B<setgroups>(2)."
 msgid ""
 "Supplementary group IDs.  This is a set of additional group IDs that are "
 "used for permission checks when accessing files and other shared resources.  "
@@ -7213,15 +6887,7 @@ msgid ""
 "used to determine the number of supplementary groups of which a process may "
 "be a member.  A process can obtain its set of supplementary group IDs using "
 "B<getgroups>(2)."
-msgstr ""
-"補助グループ ID。 この ID は、ファイルや他の共有リソースへのアクセス時にアク"
-"セス許可の チェックに使用される、追加のグループ ID の集合である。 カーネル "
-"2.6.4 より前の Linux では、一つのプロセスあたりの 補助グループのメンバー数は"
-"最大で 32 である。 カーネル 2.6.4 以降では、一つのプロセスあたりの 補助グルー"
-"プのメンバー数は最大で 65536 である。 I<sysconf(_SC_NGROUPS_MAX)> を呼び出す"
-"ことで、あるプロセスがメンバーとなることができる可能性のある 補助グループ数を"
-"知ることができる。 プロセスは、自分の補助グループ ID の集合を "
-"B<getgroups>(2)  で取得でき、 B<setgroups>(2)  で集合を変更できる。"
+msgstr "補助グループ ID。 この ID は、ファイルや他の共有リソースへのアクセス時にアクセス許可の チェックに使用される、追加のグループ ID の集合である。 カーネル 2.6.4 より前の Linux では、一つのプロセスあたりの 補助グループのメンバー数は最大で 32 である。 カーネル 2.6.4 以降では、一つのプロセスあたりの 補助グループのメンバー数は最大で 65536 である。 I<sysconf(_SC_NGROUPS_MAX)> を呼び出すことで、あるプロセスがメンバーとなることができる可能性のある 補助グループ数を知ることができる。 プロセスは、自分の補助グループ ID の集合を B<getgroups>(2) で取得できる。"
 
 #. type: Plain text
 #: build/C/man7/credentials.7:261
@@ -7294,10 +6960,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/credentials.7:290
-#, fuzzy, no-wrap
-#| msgid "B<seteuid>(), B<setegid>():"
+#, no-wrap
 msgid "B<setuid>(2) (B<setgid>(2))"
-msgstr "B<seteuid>(), B<setegid>():"
+msgstr "B<setuid>(2) (B<setgid>(2))"
 
 #. type: Plain text
 #: build/C/man7/credentials.7:294
@@ -7312,10 +6977,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/credentials.7:294
-#, fuzzy, no-wrap
-#| msgid "B<seteuid>(), B<setegid>():"
+#, no-wrap
 msgid "B<seteuid>(2) (B<setegid>(2))"
-msgstr "B<seteuid>(), B<setegid>():"
+msgstr "B<seteuid>(2) (B<setegid>(2))"
 
 #. type: Plain text
 #: build/C/man7/credentials.7:297
@@ -7326,10 +6990,9 @@ msgstr "seteuid, setegid - 実効ユーザー ID や 実効グループ ID を
 
 #. type: TP
 #: build/C/man7/credentials.7:297
-#, fuzzy, no-wrap
-#| msgid "B<seteuid>(), B<setegid>():"
+#, no-wrap
 msgid "B<setfsuid>(2) (B<setfsgid>(2))"
-msgstr "B<seteuid>(), B<setegid>():"
+msgstr "B<setfsuid>(2) (B<setfsgid>(2))"
 
 #. type: Plain text
 #: build/C/man7/credentials.7:300
@@ -7338,10 +7001,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/credentials.7:300
-#, fuzzy, no-wrap
-#| msgid "B<setreuid>(), B<setregid>():"
+#, no-wrap
 msgid "B<setreuid>(2) (B<setregid>(2))"
-msgstr "B<setreuid>(), B<setregid>():"
+msgstr "B<setreuid>(2) (B<setregid>(2))"
 
 #. type: Plain text
 #: build/C/man7/credentials.7:304
@@ -7356,10 +7018,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/credentials.7:304
-#, fuzzy, no-wrap
-#| msgid "B<setreuid>(), B<setregid>():"
+#, no-wrap
 msgid "B<setresuid>(2) (B<setresgid>(2))"
-msgstr "B<setreuid>(), B<setregid>():"
+msgstr "B<setresuid>(2) (B<setresgid>(2))"
 
 #. type: Plain text
 #: build/C/man7/credentials.7:307
@@ -7372,10 +7033,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/credentials.7:307
-#, fuzzy, no-wrap
-#| msgid "B<setns>(2)"
+#, no-wrap
 msgid "B<setgroups>(2)"
-msgstr "B<setns>(2)"
+msgstr "B<setgroups>(2)"
 
 #. type: Plain text
 #: build/C/man7/credentials.7:310
@@ -7400,22 +7060,12 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/credentials.7:327
-#, fuzzy
-#| msgid ""
-#| "Process IDs, parent process IDs, process group IDs, and session IDs are "
-#| "specified in POSIX.1-2001.  The real, effective, and saved set user and "
-#| "groups IDs, and the supplementary group IDs, are specified in "
-#| "POSIX.1-2001.  The filesystem user and group IDs are a Linux extension."
 msgid ""
 "Process IDs, parent process IDs, process group IDs, and session IDs are "
 "specified in POSIX.1.  The real, effective, and saved set user and groups "
 "IDs, and the supplementary group IDs, are specified in POSIX.1.  The "
 "filesystem user and group IDs are a Linux extension."
-msgstr ""
-"プロセス ID、親プロセス ID、プロセスグループ ID、セッション ID は "
-"POSIX.1-2001 で規定されている。 実 ID、実効 ID、保存セット ID のユーザー "
-"ID / グループ ID および 補助グループ ID は POSIX.1-2001 で規定されている。 "
-"ファイルシステムユーザー ID / グループ ID は Linux による拡張である。"
+msgstr "プロセス ID、親プロセス ID、プロセスグループ ID、セッション ID は POSIX.1 で規定されている。 実 ID、実効 ID、保存セット ID のユーザー ID / グループ ID および 補助グループ ID は POSIX.1 で規定されている。 ファイルシステムユーザー ID / グループ ID は Linux による拡張である。"
 
 #. type: Plain text
 #: build/C/man7/credentials.7:334
@@ -7426,14 +7076,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/credentials.7:348
-#, fuzzy
-#| msgid ""
-#| "The POSIX threads specification requires that credentials are shared by "
-#| "all of the threads in a process.  However, at the kernel level, Linux "
-#| "maintains separate user and group credentials for each thread.  The NPTL "
-#| "threading implementation does some work to ensure that any change to user "
-#| "or group credentials (e.g., calls to B<setuid>(2), B<setresuid>(2))  is "
-#| "carried through to all of the POSIX threads in a process."
 msgid ""
 "The POSIX threads specification requires that credentials are shared by all "
 "of the threads in a process.  However, at the kernel level, Linux maintains "
@@ -7442,27 +7084,10 @@ msgid ""
 "credentials (e.g., calls to B<setuid>(2), B<setresuid>(2))  is carried "
 "through to all of the POSIX threads in a process.  See B<nptl>(7)  for "
 "further details."
-msgstr ""
-"POSIX のスレッド仕様では、これらの識別子がプロセス内の全スレッドで 共有される"
-"ことを求めている。 しかしながら、カーネルのレベルでは、Linux はスレッド毎に"
-"別々の ユーザーとグループに関する識別子を管理している。 NPTL スレッド実装が、"
-"(例えば B<setuid>(2), B<setresuid>(2)  などの呼び出しによる) ユーザーやグルー"
-"プに関する識別子に対する変更が プロセス内の全ての POSIX スレッドに対して反映"
-"されることを保証する ための処理を行っている。"
+msgstr "POSIX のスレッド仕様では、これらの識別子がプロセス内の全スレッドで 共有されることを求めている。 しかしながら、カーネルのレベルでは、Linux はスレッド毎に別々の ユーザーとグループに関する識別子を管理している。 NPTL スレッド実装が、(例えば B<setuid>(2), B<setresuid>(2)  などの呼び出しによる) ユーザーやグループに関する識別子に対する変更が プロセス内の全ての POSIX スレッドに対して反映されることを保証する ための処理を行っている。詳細は B<nptl>(7) を参照。"
 
 #. type: Plain text
 #: build/C/man7/credentials.7:400
-#, fuzzy
-#| 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), 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<groups>(1), B<id>(1), B<newgrp>(1), B<ps>(1), "
 "B<runuser>(1), B<setpriv>(1), B<sg>(1), B<su>(1), B<access>(2), "
@@ -7476,16 +7101,7 @@ msgid ""
 "B<capabilities>(7), B<namespaces>(7), B<path_resolution>(7), "
 "B<pid_namespaces>(7), B<pthreads>(7), B<signal>(7), B<system_data_types>(7), "
 "B<unix>(7), B<user_namespaces>(7), B<sudo>(8)"
-msgstr ""
-"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), "
-"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)"
+msgstr "B<bash>(1), B<csh>(1), B<groups>(1), B<id>(1), B<newgrp>(1), B<ps>(1), B<runuser>(1), B<setpriv>(1), B<sg>(1), B<su>(1), B<access>(2), B<execve>(2), 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<setegid>(2), B<seteuid>(2), B<setfsgid>(2), B<setfsuid>(2), B<setgid>(2), B<setgroups>(2), B<setpgid>(2), B<setresgid>(2), B<setresuid>(2), B<setsid>(2), B<setuid>(2), B<waitpid>(2), B<euidaccess>(3), B<initgroups>(3), B<killpg>(3), B<tcgetpgrp>(3), B<tcgetsid>(3), B<tcsetpgrp>(3), B<group>(5), B<passwd>(5), B<shadow>(5), B<capabilities>(7), B<namespaces>(7), B<path_resolution>(7), B<pid_namespaces>(7), B<pthreads>(7), B<signal>(7), B<system_data_types>(7), B<unix>(7), B<user_namespaces>(7), B<sudo>(8)"
 
 #. type: TH
 #: build/C/man2/getgid.2:25
@@ -7497,10 +7113,9 @@ msgstr "GETGID"
 #: build/C/man2/getgid.2:25 build/C/man2/getgroups.2:32
 #: build/C/man2/getuid.2:26 build/C/man2/ioprio_set.2:24
 #: build/C/man2/setgid.2:30 build/C/man2/setuid.2:31
-#, fuzzy, no-wrap
-#| msgid "2014-03-30"
+#, no-wrap
 msgid "2019-03-06"
-msgstr "2014-03-30"
+msgstr "2019-03-06"
 
 #. type: Plain text
 #: build/C/man2/getgid.2:28
@@ -7553,10 +7168,8 @@ msgstr "これらの関数は常に成功する。"
 
 #. type: Plain text
 #: build/C/man2/getgid.2:46 build/C/man2/getuid.2:47 build/C/man2/seteuid.2:105
-#, fuzzy
-#| msgid "POSIX.1-2001, 4.3BSD."
 msgid "POSIX.1-2001, POSIX.1-2008, 4.3BSD."
-msgstr "POSIX.1-2001, 4.3BSD."
+msgstr "POSIX.1-2001, POSIX.1-2008, 4.3BSD."
 
 #. type: Plain text
 #: build/C/man2/getgid.2:62
@@ -7641,30 +7254,13 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/getgroups.2:68
-#, fuzzy
-#| msgid ""
-#| "B<getgroups>()  returns the supplementary group IDs of the calling "
-#| "process in I<list>.  The argument I<size> should be set to the maximum "
-#| "number of items that can be stored in the buffer pointed to by I<list>.  "
-#| "If the calling process is a member of more than I<size> supplementary "
-#| "groups, then an error results.  It is unspecified whether the effective "
-#| "group ID of the calling process is included in the returned list.  (Thus, "
-#| "an application should also call B<getegid>(2)  and add or remove the "
-#| "resulting value.)"
 msgid ""
 "B<getgroups>()  returns the supplementary group IDs of the calling process "
 "in I<list>.  The argument I<size> should be set to the maximum number of "
 "items that can be stored in the buffer pointed to by I<list>.  If the "
 "calling process is a member of more than I<size> supplementary groups, then "
 "an error results."
-msgstr ""
-"B<getgroups>()  は呼び出し元プロセスの補助グループ (supplementary group) ID "
-"を I<list> に返す。 I<size> 引き数には、 I<list> により参照されるバッファーに"
-"格納できる要素の最大数を設定すべきである。 呼び出し元プロセスが I<size> 個よ"
-"り多くの補助グループのメンバの場合には、エラーとなる。 この関数を呼び出したプ"
-"ロセスの実効グループ ID が、 返されるリストに含まれるかどうかは規定されていな"
-"い (したがって、アプリケーションは B<getegid>(2)  を呼び出し、その結果の値を"
-"追加・削除すべきである)。"
+msgstr "B<getgroups>()  は呼び出し元プロセスの補助グループ (supplementary group) ID を I<list> に返す。 I<size> 引き数には、 I<list> により参照されるバッファーに格納できる要素の最大数を設定すべきである。 呼び出し元プロセスが I<size> 個より多くの補助グループのメンバの場合には、エラーとなる。"
 
 #. type: Plain text
 #: build/C/man2/getgroups.2:74
@@ -7672,7 +7268,7 @@ msgid ""
 "It is unspecified whether the effective group ID of the calling process is "
 "included in the returned list.  (Thus, an application should also call "
 "B<getegid>(2)  and add or remove the resulting value.)"
-msgstr ""
+msgstr "この関数を呼び出したプロセスの実効グループ ID が、 返されるリストに含まれるかどうかは規定されていない (したがって、アプリケーションは B<getegid>(2) を呼び出し、その結果の値を追加・削除すべきである)。"
 
 #. type: Plain text
 #: build/C/man2/getgroups.2:85
@@ -7711,7 +7307,7 @@ msgstr ""
 #: build/C/man2/getgroups.2:101
 #, no-wrap
 msgid "setgroups(0, NULL);\n"
-msgstr ""
+msgstr "setgroups(0, NULL);\n"
 
 #. type: Plain text
 #: build/C/man2/getgroups.2:110
@@ -7776,10 +7372,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/getgroups.2:147
-#, fuzzy, no-wrap
-#| msgid "B<CAP_WAKE_ALARM> (since Linux 3.0)"
+#, no-wrap
 msgid "B<EPERM> (since Linux 3.19)"
-msgstr "B<CAP_WAKE_ALARM> (Linux 3.0 以降)"
+msgstr "B<EPERM> (Linux 3.19 以降)"
 
 #. type: Plain text
 #: build/C/man2/getgroups.2:156
@@ -7790,10 +7385,8 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/getgroups.2:159
-#, fuzzy
-#| msgid "B<getrlimit>(), B<setrlimit>(): SVr4, 4.3BSD, POSIX.1-2001."
 msgid "B<getgroups>(): SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008."
-msgstr "B<getrlimit>(), B<setrlimit>(): SVr4, 4.3BSD, POSIX.1-2001."
+msgstr "B<getgroups>(): SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008."
 
 #. type: Plain text
 #: build/C/man2/getgroups.2:165
@@ -7832,16 +7425,13 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/getgroups.2:185
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    long ngroups_max;\n"
-#| "    ngroups_max = sysconf(_SC_NGROUPS_MAX);\n"
+#, no-wrap
 msgid ""
 "long ngroups_max;\n"
 "ngroups_max = sysconf(_SC_NGROUPS_MAX);\n"
 msgstr ""
-"    long ngroups_max;\n"
-"    ngroups_max = sysconf(_SC_NGROUPS_MAX);\n"
+"long ngroups_max;\n"
+"ngroups_max = sysconf(_SC_NGROUPS_MAX);\n"
 
 #. type: Plain text
 #: build/C/man2/getgroups.2:194
@@ -7874,10 +7464,9 @@ msgstr ""
 #: build/C/man2/setfsgid.2:96 build/C/man2/setfsuid.2:114
 #: build/C/man2/setgid.2:87 build/C/man2/setresuid.2:142
 #: build/C/man2/setreuid.2:198 build/C/man2/setuid.2:149
-#, fuzzy, no-wrap
-#| msgid "C library/kernel ABI differences"
+#, no-wrap
 msgid "C library/kernel differences"
-msgstr "C ライブラリとカーネル ABI の違い"
+msgstr "C ライブラリとカーネルの違い"
 
 #. type: Plain text
 #: build/C/man2/getgroups.2:219
@@ -7924,16 +7513,10 @@ msgstr "B<pid_t getppid(void);>"
 
 #. type: Plain text
 #: build/C/man2/getpid.2:41
-#, fuzzy
-#| msgid ""
-#| "B<getpid>()  returns the process ID of the calling process.  (This is "
-#| "often used by routines that generate unique temporary filenames.)"
 msgid ""
 "B<getpid>()  returns the process ID (PID) of the calling process.  (This is "
 "often used by routines that generate unique temporary filenames.)"
-msgstr ""
-"B<getpid>()  は呼び出し元のプロセスのプロセス ID を返す。(テンポラリ用のファ"
-"イル名として 他と重ならない名前を生成するルーチンでしばしば使用される。)"
+msgstr "B<getpid>()  は呼び出し元のプロセスのプロセス ID (PID) を返す。(テンポラリ用のファイル名として 他と重ならない名前を生成するルーチンでしばしば使用される。)"
 
 #. type: Plain text
 #: build/C/man2/getpid.2:53
@@ -7948,10 +7531,8 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/getpid.2:57
-#, fuzzy
-#| msgid "POSIX.1-2001, 4.3BSD, SVr4."
 msgid "POSIX.1-2001, POSIX.1-2008, 4.3BSD, SVr4."
-msgstr "POSIX.1-2001, 4.3BSD, SVr4."
+msgstr "POSIX.1-2001, POSIX.1-2008, 4.3BSD, SVr4."
 
 #. type: Plain text
 #: build/C/man2/getpid.2:62
@@ -8071,19 +7652,11 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/getpid.2:168
-#, fuzzy
-#| msgid ""
-#| "B<clone>(2), B<fork>(2), B<kill>(2), B<exec>(3), B<mkstemp>(3), "
-#| "B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3), B<credentials>(7), "
-#| "B<pid_namespaces>(7)"
 msgid ""
 "B<clone>(2), B<fork>(2), B<gettid>(2), B<kill>(2), B<exec>(3), "
 "B<mkstemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3), "
 "B<credentials>(7), B<pid_namespaces>(7)"
-msgstr ""
-"B<clone>(2), B<fork>(2), B<kill>(2), B<exec>(3), B<mkstemp>(3), "
-"B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3), B<credentials>(7), "
-"B<pid_namespaces>(7)"
+msgstr "B<clone>(2), B<fork>(2), B<gettid>(2), B<kill>(2), B<exec>(3), B<mkstemp>(3), B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3), B<credentials>(7), B<pid_namespaces>(7)"
 
 #. type: TH
 #: build/C/man2/getpriority.2:45
@@ -8140,16 +7713,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/getpriority.2:93
-#, fuzzy
-#| msgid ""
-#| "The value I<which> is one of B<PRIO_PROCESS>, B<PRIO_PGRP>, or "
-#| "B<PRIO_USER>, and I<who> is interpreted relative to I<which> (a process "
-#| "identifier for B<PRIO_PROCESS>, process group identifier for "
-#| "B<PRIO_PGRP>, and a user ID for B<PRIO_USER>).  A zero value for I<who> "
-#| "denotes (respectively) the calling process, the process group of the "
-#| "calling process, or the real user ID of the calling process.  I<Prio> is "
-#| "a value in the range -20 to 19 (but see the Notes below).  The default "
-#| "priority is 0; lower priorities cause more favorable scheduling."
 msgid ""
 "The value I<which> is one of B<PRIO_PROCESS>, B<PRIO_PGRP>, or B<PRIO_USER>, "
 "and I<who> is interpreted relative to I<which> (a process identifier for "
@@ -8157,14 +7720,7 @@ msgid ""
 "for B<PRIO_USER>).  A zero value for I<who> denotes (respectively) the "
 "calling process, the process group of the calling process, or the real user "
 "ID of the calling process."
-msgstr ""
-"I<which> の値は B<PRIO_PROCESS>, B<PRIO_PGRP>, B<PRIO_USER>, のどれか一つ"
-"で、 I<who> は I<which> に応じて解釈される (B<PRIO_PROCESS> だとプロセス識別"
-"子、 B<PRIO_PGRP> だとプロセスグループ識別子、 B<PRIO_USER> だと UID (ユー"
-"ザーID) と解釈される)。 I<who> がゼロならば、(それぞれ)呼び出したプロセス、 "
-"呼び出したプロセスのプロセスグループ、 呼び出したプロセスの実UID を意味す"
-"る。 I<prio> は -20 から 19 の範囲の値で (但し以下の注意の項を参照のこと)、 "
-"デフォルトの優先度は 0 である; 小さな数字ほど、有利なスケジューリングとなる。"
+msgstr "I<which> の値は B<PRIO_PROCESS>, B<PRIO_PGRP>, B<PRIO_USER>, のどれか一つで、 I<who> は I<which> に応じて解釈される (B<PRIO_PROCESS> だとプロセス識別子、 B<PRIO_PGRP> だとプロセスグループ識別子、 B<PRIO_USER> だと UID (ユーザーID) と解釈される)。 I<who> がゼロならば、(それぞれ)呼び出したプロセス、 呼び出したプロセスのプロセスグループ、 呼び出したプロセスの実UID を意味する。"
 
 #. type: Plain text
 #: build/C/man2/getpriority.2:102
@@ -8174,26 +7730,16 @@ msgid ""
 "priority.  Attempts to set a priority outside this range are silently "
 "clamped to the range.  The default priority is 0; lower values give a "
 "process a higher scheduling priority."
-msgstr ""
+msgstr "I<prio> 引き数は -20 から 19 の範囲の値で (但し以下の「注意」を参照)、 -20 が最高優先度で、 19 が最低優先度である。優先度をこの範囲外に設定しようとした場合は、値は黙ってこの範囲となる。デフォルトの優先度は 0 である; 小さな数字ほど、プロセスのスケジューリング優先度が高くなる。"
 
 #. type: Plain text
 #: build/C/man2/getpriority.2:111
-#, fuzzy
-#| msgid ""
-#| "The B<getpriority>()  call returns the highest priority (lowest numerical "
-#| "value)  enjoyed by any of the specified processes.  The B<setpriority>()  "
-#| "call sets the priorities of all of the specified processes to the "
-#| "specified value.  Only the superuser may lower priorities."
 msgid ""
 "The B<getpriority>()  call returns the highest priority (lowest numerical "
 "value)  enjoyed by any of the specified processes.  The B<setpriority>()  "
 "call sets the priorities of all of the specified processes to the specified "
 "value."
-msgstr ""
-"B<getpriority>()  コールは指定したプロセスの中の最も高い優先度 (数値的には最"
-"小の値) を返す。 B<setpriority>()  コールは指定したプロセス全ての優先度を指定"
-"した値に設定する。 優先度を今より小さい値に設定できるのはスーパーユーザーだけ"
-"である。"
+msgstr "B<getpriority>()  コールは指定したプロセスの中の最も高い優先度 (数値的には最小の値) を返す。 B<setpriority>()  コールは指定したプロセス全ての優先度を指定した値に設定する。"
 
 #. type: Plain text
 #: build/C/man2/getpriority.2:120
@@ -8220,36 +7766,19 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/getpriority.2:138
-#, fuzzy
-#| msgid ""
-#| "Since B<getpriority>()  can legitimately return the value -1, it is "
-#| "necessary to clear the external variable I<errno> prior to the call, then "
-#| "check it afterward to determine if -1 is an error or a legitimate value.  "
-#| "The B<setpriority>()  call returns 0 if there is no error, or -1 if there "
-#| "is."
 msgid ""
 "Since a successful call to B<getpriority>()  can legitimately return the "
 "value -1, it is necessary to clear the external variable I<errno> prior to "
 "the call, then check I<errno> afterward to determine if -1 is an error or a "
 "legitimate value."
-msgstr ""
-"B<getpriority>()  は成功した場合にも -1 の値を返す可能性があるので、 呼び出し"
-"の前に外部変数の I<errno> をクリアし、呼び出しの後に返り値の -1 が正当な値か "
-"エラーかを判別する必要がある。 B<setpriority>()  コールはエラーがなければ 0 "
-"を返し、エラーがあれば -1 を返す。"
+msgstr "B<getpriority>()  は成功した場合にも -1 の値を返す可能性があるので、 呼び出しの前に外部変数の I<errno> をクリアし、呼び出しの後に返り値の -1 が正当な値か エラーかを判別する必要がある。"
 
 #. type: Plain text
 #: build/C/man2/getpriority.2:144
-#, fuzzy
-#| msgid ""
-#| "On success, B<ioprio_set>()  returns 0.  On error, -1 is returned, and "
-#| "I<errno> is set to indicate the error."
 msgid ""
 "B<setpriority>()  returns 0 on success.  On error, it returns -1 and sets "
 "I<errno> to indicate the cause of the error."
-msgstr ""
-"成功すると、 B<ioprio_set>()  は 0 を返す。 エラーの場合、-1 を返し、 "
-"I<errno> にエラーを示す値を設定する。"
+msgstr "成功すると、 B<setpriority>() は 0 を返す。 エラーの場合、-1 を返し、 I<errno> にエラーの原因を示す値を設定する。"
 
 #. type: Plain text
 #: build/C/man2/getpriority.2:153
@@ -8290,23 +7819,15 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/getpriority.2:182
-#, fuzzy
-#| msgid ""
-#| "POSIX.1-2001, 4.3BSD (the B<setreuid>()  and B<setregid>()  function "
-#| "calls first appeared in 4.2BSD)."
 msgid ""
 "POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD (these interfaces first appeared in "
 "4.2BSD)."
-msgstr ""
-"POSIX.1-2001, 4.3BSD (B<setreuid>()  と B<setregid>()  関数コールは 4.2BSD で"
-"登場した)。"
+msgstr "POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD (これらのインターフェースは 4.2BSD で初めて登場した)"
 
 #. type: Plain text
 #: build/C/man2/getpriority.2:185
-#, fuzzy
-#| msgid "For details on the data, see B<capabilities>(7)."
 msgid "For further details on the nice value, see B<sched>(7)."
-msgstr "このデータの詳細は B<capabilities>(7)  を参照すること。"
+msgstr "nice 値の詳細は B<sched>(7) を参照のこと。"
 
 #. type: Plain text
 #: build/C/man2/getpriority.2:191
@@ -8362,16 +7883,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/getpriority.2:240
-#, fuzzy
-#| 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 "
-#| "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>.  (Thus, the "
-#| "kernels 40..1 range corresponds to the range -20..19 as seen by user "
-#| "space.)"
 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 "
@@ -8552,26 +8063,16 @@ msgstr "B< struct rlimit *>I<old_limit>B<);>"
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:88
-#, fuzzy
-#| msgid "B<group_member>(): _GNU_SOURCE"
 msgid "B<prlimit>(): _GNU_SOURCE"
-msgstr "B<group_member>(): _GNU_SOURCE"
+msgstr "B<prlimit>(): _GNU_SOURCE"
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:97
-#, fuzzy
-#| msgid ""
-#| "The B<getrlimit>()  and B<setrlimit>()  system calls get and set resource "
-#| "limits respectively.  Each resource has an associated soft and hard "
-#| "limit, as defined by the I<rlimit> structure:"
 msgid ""
 "The B<getrlimit>()  and B<setrlimit>()  system calls get and set resource "
 "limits.  Each resource has an associated soft and hard limit, as defined by "
 "the I<rlimit> structure:"
-msgstr ""
-"B<getrlimit>() と B<setrlimit>() はそれぞれ資源 (resource) の制限\n"
-"(limit) の設定と取得を行う。 各リソースには、それに対応するソフトリミッ\n"
-"トとハードリミットがあり、 I<rlimit> 構造体で定義される:"
+msgstr "B<getrlimit>() と B<setrlimit>() は、資源 (resource) の制限 (limit) の設定と取得を行う。 各リソースには、それに対応するソフトリミットとハードリミットがあり、 I<rlimit> 構造体で定義される:"
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:104
@@ -8590,15 +8091,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:116
-#, fuzzy
-#| msgid ""
-#| "The soft limit is the value that the kernel enforces for the "
-#| "corresponding resource.  The hard limit acts as a ceiling for the soft "
-#| "limit: an unprivileged process may set only its soft limit to a value in "
-#| "the range from 0 up to the hard limit, and (irreversibly) lower its hard "
-#| "limit.  A privileged process (under Linux: one with the "
-#| "B<CAP_SYS_RESOURCE> capability) may make arbitrary changes to either "
-#| "limit value."
 msgid ""
 "The soft limit is the value that the kernel enforces for the corresponding "
 "resource.  The hard limit acts as a ceiling for the soft limit: an "
@@ -8607,13 +8099,7 @@ msgid ""
 "privileged process (under Linux: one with the B<CAP_SYS_RESOURCE> capability "
 "in the initial user namespace)  may make arbitrary changes to either limit "
 "value."
-msgstr ""
-"ソフトリミットは、カーネルが対応するリソースに対して課す制限値である。 ハード"
-"リミットはソフトリミットの上限として働く。 特権を持たないプロセスは、ソフトリ"
-"ミットの値を 0 からハードリミットの範囲に設定することと、 ハードリミットを下"
-"げることのみができる (一度下げたハードリミットは上げられない)。 特権プロセス "
-"(Linux では B<CAP_SYS_RESOURCE> ケーパビリティ (capability) を持つプロセス) "
-"は ソフトリミットとハードリミットを自由に変更できる。"
+msgstr "ソフトリミットは、カーネルが対応するリソースに対して課す制限値である。 ハードリミットはソフトリミットの上限として働く。 特権を持たないプロセスは、ソフトリミットの値を 0 からハードリミットの範囲に設定することと、 ハードリミットを下げることのみができる (一度下げたハードリミットは上げられない)。 特権プロセス (Linux では初期ユーザー名前空間で B<CAP_SYS_RESOURCE> ケーパビリティ (capability) を持つプロセス) は ソフトリミットとハードリミットを自由に変更できる。"
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:123
@@ -8771,45 +8257,27 @@ msgstr "B<RLIMIT_FSIZE>"
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:209
-#, fuzzy
-#| msgid ""
-#| "The maximum size of files that the process may create.  Attempts to "
-#| "extend a file beyond this limit result in delivery of a B<SIGXFSZ> "
-#| "signal.  By default, this signal terminates a process, but a process can "
-#| "catch this signal instead, in which case the relevant system call (e.g., "
-#| "B<write>(2), B<truncate>(2))  fails with the error B<EFBIG>."
 msgid ""
 "This is the maximum size in bytes of files that the process may create.  "
 "Attempts to extend a file beyond this limit result in delivery of a "
 "B<SIGXFSZ> signal.  By default, this signal terminates a process, but a "
 "process can catch this signal instead, in which case the relevant system "
 "call (e.g., B<write>(2), B<truncate>(2))  fails with the error B<EFBIG>."
-msgstr ""
-"プロセスが作成できるファイルサイズの最大値。 このサイズを超えてファイルを拡張"
-"すると、 B<SIGXFSZ> シグナルを送る。 デフォルトでは、このシグナルはプロセスを"
-"終了する。 プロセスをキャッチすることもできるが、 関連するシステムコール "
-"(B<write>(2), B<truncate>(2)  など) はエラー B<EFBIG> で失敗する。"
+msgstr "これはプロセスが作成できるファイルサイズの最大値 (バイト単位) である。 このサイズを超えてファイルを拡張すると、 B<SIGXFSZ> シグナルを送る。 デフォルトでは、このシグナルはプロセスを終了する。 プロセスをキャッチすることもできるが、 関連するシステムコール (B<write>(2), B<truncate>(2)  など) はエラー B<EFBIG> で失敗する。"
 
 #. type: TP
 #: build/C/man2/getrlimit.2:209
-#, fuzzy, no-wrap
-#| msgid "B<RLIMIT_LOCKS> (Early Linux 2.4 only)"
+#, no-wrap
 msgid "B<RLIMIT_LOCKS> (Linux 2.4.0 to 2.4.24)"
-msgstr "B<RLIMIT_LOCKS> (初期の Linux 2.4 のみ)"
+msgstr "B<RLIMIT_LOCKS> (Linux 2.4.0 から 2.4.24 まで)"
 
 #.  to be precise: Linux 2.4.0-test9; no longer in 2.4.25 / 2.5.65
 #. type: Plain text
 #: build/C/man2/getrlimit.2:217
-#, fuzzy
-#| msgid ""
-#| "A limit on the combined number of B<flock>(2)  locks and B<fcntl>(2)  "
-#| "leases that this process may establish."
 msgid ""
 "This is a limit on the combined number of B<flock>(2)  locks and "
 "B<fcntl>(2)  leases that this process may establish."
-msgstr ""
-"このプロセスが実行できる B<flock>(2)  ロック数と B<fcntl>(2)  リース数の合計"
-"値を制限する。"
+msgstr "このプロセスが実行できる B<flock>(2)  ロック数と B<fcntl>(2)  リース数の合計値の上限である。"
 
 #. type: TP
 #: build/C/man2/getrlimit.2:217
@@ -8906,15 +8374,7 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:273
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    Since 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"
-#| "                                /* For overhead */\n"
-#| "                attr.mq_maxmsg * attr.mq_msgsize;\n"
-#| "                                /* For message data */\n"
+#, no-wrap
 msgid ""
 "        bytes = attr.mq_maxmsg * sizeof(struct msg_msg) +\n"
 "                min(attr.mq_maxmsg, MQ_PRIO_MAX) *\n"
@@ -8923,7 +8383,6 @@ 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"
@@ -8939,20 +8398,13 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:282
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    Linux 3.4 and earlier:\n"
-#| "        bytes = attr.mq_maxmsg * sizeof(struct msg_msg *) +\n"
-#| "                                /* For overhead */\n"
-#| "                attr.mq_maxmsg * attr.mq_msgsize;\n"
-#| "                                /* For message data */\n"
+#, no-wrap
 msgid ""
 "        bytes = attr.mq_maxmsg * sizeof(struct msg_msg *) +\n"
 "                                /* For overhead */\n"
 "                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"
@@ -9023,12 +8475,6 @@ msgstr "B<RLIMIT_NOFILE>"
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:334
-#, fuzzy
-#| msgid ""
-#| "Specifies a value one greater than the maximum file descriptor number "
-#| "that can be opened by this process.  Attempts (B<open>(2), B<pipe>(2), "
-#| "B<dup>(2), etc.)  to exceed this limit yield the error B<EMFILE>.  "
-#| "(Historically, this limit was named B<RLIMIT_OFILE> on BSD.)"
 msgid ""
 "This specifies a value one greater than the maximum file descriptor number "
 "that can be opened by this process.  Attempts (B<open>(2), B<pipe>(2), "
@@ -9084,21 +8530,12 @@ msgstr "B<RLIMIT_RSS>"
 #.        -- MTK, Jul 05
 #. type: Plain text
 #: build/C/man2/getrlimit.2:376
-#, fuzzy
-#| msgid ""
-#| "Specifies the limit (in pages) of the process's resident set (the number "
-#| "of virtual pages resident in RAM).  This limit has effect only in Linux "
-#| "2.4.x, x E<lt> 30, and there affects only calls to B<madvise>(2)  "
-#| "specifying B<MADV_WILLNEED>."
 msgid ""
 "This is a limit (in bytes) on the process's resident set (the number of "
 "virtual pages resident in RAM).  This limit has effect only in Linux 2.4.x, "
 "x E<lt> 30, and there affects only calls to B<madvise>(2)  specifying "
 "B<MADV_WILLNEED>."
-msgstr ""
-"プロセスの resident set (RAM 上に存在する仮想ページの数) の 上限を (ページ数"
-"で) 指定する。 この制限は 2.4.30 より前でしか影響がなく、 B<madvise>(2)  に "
-"B<MADV_WILLNEED> を指定した関数コールにしか影響しない。"
+msgstr "プロセスの resident set (RAM 上に存在する仮想ページの数) の 上限である (バイト単位)。 この制限は 2.4.30 より前でしか影響がなく、 B<madvise>(2)  に B<MADV_WILLNEED> を指定した関数コールにしか影響しない。"
 
 #. type: TP
 #: build/C/man2/getrlimit.2:376
@@ -9108,10 +8545,6 @@ msgstr "B<RLIMIT_RTPRIO> (Linux 2.6.12 以降, バグの節も参照)"
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:383
-#, fuzzy
-#| msgid ""
-#| "Specifies a ceiling on the real-time priority that may be set for this "
-#| "process using B<sched_setscheduler>(2)  and B<sched_setparam>(2)."
 msgid ""
 "This specifies a ceiling on the real-time priority that may be set for this "
 "process using B<sched_setscheduler>(2)  and B<sched_setparam>(2)."
@@ -9132,15 +8565,6 @@ msgstr "B<RLIMIT_RTTIME> (Linux 2.6.25 以降)"
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:398
-#, fuzzy
-#| msgid ""
-#| "Specifies a limit (in microseconds)  on the amount of CPU time that a "
-#| "process scheduled under a real-time scheduling policy may consume without "
-#| "making a blocking system call.  For the purpose of this limit, each time "
-#| "a process makes a blocking system call, the count of its consumed CPU "
-#| "time is reset to zero.  The CPU time count is not reset if the process "
-#| "continues trying to use the CPU but is preempted, its time slice expires, "
-#| "or it calls B<sched_yield>(2)."
 msgid ""
 "This is a limit (in microseconds)  on the amount of CPU time that a process "
 "scheduled under a real-time scheduling policy may consume without making a "
@@ -9192,14 +8616,6 @@ msgstr "B<RLIMIT_SIGPENDING> (Linux 2.6.8 以降)"
 #.  that was present in kernels <= 2.6.7.  MTK Dec 04
 #. type: Plain text
 #: build/C/man2/getrlimit.2:429
-#, fuzzy
-#| msgid ""
-#| "Specifies the limit on the number of signals that may be queued for the "
-#| "real user ID of the calling process.  Both standard and real-time signals "
-#| "are counted for the purpose of checking this limit.  However, the limit "
-#| "is enforced only for B<sigqueue>(3); it is always possible to use "
-#| "B<kill>(2)  to queue one instance of any of the signals that are not "
-#| "already queued to the process."
 msgid ""
 "This is a limit on the number of signals that may be queued for the real "
 "user ID of the calling process.  Both standard and real-time signals are "
@@ -9223,11 +8639,6 @@ msgstr "B<RLIMIT_STACK>"
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:437
-#, fuzzy
-#| msgid ""
-#| "The maximum size of the process stack, in bytes.  Upon reaching this "
-#| "limit, a B<SIGSEGV> signal is generated.  To handle this signal, a "
-#| "process must employ an alternate signal stack (B<sigaltstack>(2))."
 msgid ""
 "This is the maximum size of the process stack, in bytes.  Upon reaching this "
 "limit, a B<SIGSEGV> signal is generated.  To handle this signal, a process "
@@ -9459,11 +8870,9 @@ msgstr "MT-Safe"
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:576
-#, fuzzy
-#| msgid "B<getrlimit>(), B<setrlimit>(): SVr4, 4.3BSD, POSIX.1-2001."
 msgid ""
 "B<getrlimit>(), B<setrlimit>(): POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD."
-msgstr "B<getrlimit>(), B<setrlimit>(): SVr4, 4.3BSD, POSIX.1-2001."
+msgstr "B<getrlimit>(), B<setrlimit>(): POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD."
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:579
@@ -9472,14 +8881,6 @@ msgstr "B<prlimit>(): Linux 固有。"
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:595
-#, fuzzy
-#| msgid ""
-#| "B<RLIMIT_MEMLOCK> and B<RLIMIT_NPROC> derive from BSD and are not "
-#| "specified in POSIX.1-2001; they are present on the BSDs and Linux, but on "
-#| "few other implementations.  B<RLIMIT_RSS> derives from BSD and is not "
-#| "specified in POSIX.1-2001; it is nevertheless present on most "
-#| "implementations.  B<RLIMIT_MSGQUEUE>, B<RLIMIT_NICE>, B<RLIMIT_RTPRIO>, "
-#| "B<RLIMIT_RTTIME>, and B<RLIMIT_SIGPENDING> are Linux-specific."
 msgid ""
 "B<RLIMIT_MEMLOCK> and B<RLIMIT_NPROC> derive from BSD and are not specified "
 "in POSIX.1; they are present on the BSDs and Linux, but on few other "
@@ -9487,14 +8888,7 @@ msgid ""
 "POSIX.1; it is nevertheless present on most implementations.  "
 "B<RLIMIT_MSGQUEUE>, B<RLIMIT_NICE>, B<RLIMIT_RTPRIO>, B<RLIMIT_RTTIME>, and "
 "B<RLIMIT_SIGPENDING> are Linux-specific."
-msgstr ""
-"B<RLIMIT_MEMLOCK> と B<RLIMIT_NPROC> は BSD から派生し、\n"
-"POSIX.1-2001 には指定されていない。\n"
-"これらは BSD 系と Linux に存在するが、他の実装は少ない。\n"
-"B<RLIMIT_RSS> は BSD から派生し、POSIX.1-2001 には指定されていない。\n"
-"それにも関わらず多くの実装で存在する。\n"
-"B<RLIMIT_MSGQUEUE>, B<RLIMIT_NICE>, B<RLIMIT_RTPRIO>, B<RLIMIT_RTTIME>,\n"
-"B<RLIMIT_SIGPENDING> は Linux 固有のものである。"
+msgstr "B<RLIMIT_MEMLOCK> と B<RLIMIT_NPROC> は BSD から派生し、 POSIX.1 には指定されていない。これらは BSD 系と Linux に存在するが、他の実装は少ない。 B<RLIMIT_RSS> は BSD から派生し、POSIX.1 には指定されていない。それにも関わらず多くの実装で存在する。 B<RLIMIT_MSGQUEUE>, B<RLIMIT_NICE>, B<RLIMIT_RTPRIO>, B<RLIMIT_RTTIME>, B<RLIMIT_SIGPENDING> は Linux 固有のものである。"
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:601
@@ -9690,19 +9084,6 @@ msgstr "32 ビットプラットフォームにおける「大きな」リソー
 #.  http://sources.redhat.com/bugzilla/show_bug.cgi?id=12201
 #. type: Plain text
 #: build/C/man2/getrlimit.2:756
-#, fuzzy
-#| msgid ""
-#| "The glibc B<getrlimit>()  and B<setrlimit>()  wrapper functions use a 64-"
-#| "bit I<rlim_t> data type, even on 32-bit platforms.  However, the "
-#| "I<rlim_t> data type used in the B<getrlimit>()  and B<setrlimit>()  "
-#| "system calls is a (32-bit)  I<unsigned long>.  Furthermore, in Linux "
-#| "versions before 2.6.36, the kernel represents resource limits on 32-bit "
-#| "platforms as I<unsigned long>.  However, a 32-bit data type is not wide "
-#| "enough.  The most pertinent limit here is B<RLIMIT_FSIZE>, which "
-#| "specifies the maximum size to which a file can grow: to be useful, this "
-#| "limit must be represented using a type that is 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>)."
 msgid ""
 "The glibc B<getrlimit>()  and B<setrlimit>()  wrapper functions use a 64-bit "
 "I<rlim_t> data type, even on 32-bit platforms.  However, the I<rlim_t> data "
@@ -9714,18 +9095,7 @@ msgid ""
 "to be useful, this limit must be represented using a type that is 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> でコンパイルしたプログラムの場合)、 と同じ幅を持つ"
-"型、を使って表現すべきである。"
+msgstr "glibc の B<getrlimit>() と B<setrlimit>() ラッパー関数は、32 ビットプラットフォームであっても 64 ビットの I<rlim_t> データ型を使用する。 しかし、 B<getrlimit>() と B<setrlimit>() システムコールで使用される I<rlim_t> データ型は (32 ビットの) I<unsigned long> である。 さらに、 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:766
@@ -9762,15 +9132,7 @@ msgstr "以下のプログラムに B<prlimit>() の使用例を示す。"
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:792
-#, fuzzy, no-wrap
-#| msgid ""
-#| "#define _GNU_SOURCE\n"
-#| "#define _FILE_OFFSET_BITS 64\n"
-#| "#include E<lt>stdio.hE<gt>\n"
-#| "#include E<lt>time.hE<gt>\n"
-#| "#include E<lt>stdlib.hE<gt>\n"
-#| "#include E<lt>unistd.hE<gt>\n"
-#| "#include E<lt>sys/resource.hE<gt>\n"
+#, no-wrap
 msgid ""
 "#define _GNU_SOURCE\n"
 "#define _FILE_OFFSET_BITS 64\n"
@@ -9783,6 +9145,7 @@ msgid ""
 msgstr ""
 "#define _GNU_SOURCE\n"
 "#define _FILE_OFFSET_BITS 64\n"
+"#include E<lt>stdint.hE<gt>\n"
 "#include E<lt>stdio.hE<gt>\n"
 "#include E<lt>time.hE<gt>\n"
 "#include E<lt>stdlib.hE<gt>\n"
@@ -9791,15 +9154,12 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:795
-#, fuzzy, no-wrap
-#| msgid ""
-#| "#define errExit(msg) \tdo { perror(msg); exit(EXIT_FAILURE); \\e\n"
-#| "                        } while (0)\n"
+#, no-wrap
 msgid ""
 "#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \\e\n"
 "                        } while (0)\n"
 msgstr ""
-"#define errExit(msg) \tdo { perror(msg); exit(EXIT_FAILURE); \\e\n"
+"#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); \\e\n"
 "                        } while (0)\n"
 
 #. type: Plain text
@@ -9872,12 +9232,7 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:825
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    if (prlimit(pid, RLIMIT_CPU, newp, &old) == -1)\n"
-#| "        errExit(\"prlimit-1\");\n"
-#| "    printf(\"Previous limits: soft=%lld; hard=%lld\\en\",\n"
-#| "            (long long) old.rlim_cur, (long long) old.rlim_max);\n"
+#, no-wrap
 msgid ""
 "    if (prlimit(pid, RLIMIT_CPU, newp, &old) == -1)\n"
 "        errExit(\"prlimit-1\");\n"
@@ -9886,8 +9241,8 @@ msgid ""
 msgstr ""
 "    if (prlimit(pid, RLIMIT_CPU, newp, &old) == -1)\n"
 "        errExit(\"prlimit-1\");\n"
-"    printf(\"Previous limits: soft=%lld; hard=%lld\\en\",\n"
-"            (long long) old.rlim_cur, (long long) old.rlim_max);\n"
+"    printf(\"Previous limits: soft=%jd; hard=%jd\\en\",\n"
+"            (intmax_t) old.rlim_cur, (intmax_t) old.rlim_max);\n"
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:827
@@ -9897,12 +9252,7 @@ msgstr "    /* Retrieve and display new CPU time limit */\n"
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:832
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    if (prlimit(pid, RLIMIT_CPU, NULL, &old) == -1)\n"
-#| "        errExit(\"prlimit-2\");\n"
-#| "    printf(\"New limits: soft=%lld; hard=%lld\\en\",\n"
-#| "            (long long) old.rlim_cur, (long long) old.rlim_max);\n"
+#, no-wrap
 msgid ""
 "    if (prlimit(pid, RLIMIT_CPU, NULL, &old) == -1)\n"
 "        errExit(\"prlimit-2\");\n"
@@ -9911,8 +9261,8 @@ msgid ""
 msgstr ""
 "    if (prlimit(pid, RLIMIT_CPU, NULL, &old) == -1)\n"
 "        errExit(\"prlimit-2\");\n"
-"    printf(\"New limits: soft=%lld; hard=%lld\\en\",\n"
-"            (long long) old.rlim_cur, (long long) old.rlim_max);\n"
+"    printf(\"New limits: soft=%jd; hard=%jd\\en\",\n"
+"            (intmax_t) old.rlim_cur, (intmax_t) old.rlim_max);\n"
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:835 build/C/man2/pidfd_send_signal.2:247
@@ -9927,22 +9277,12 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/getrlimit.2:856
-#, fuzzy
-#| msgid ""
-#| "B<prlimit>(1), B<dup>(2), B<fcntl>(2), B<fork>(2), B<getrusage>(2), "
-#| "B<mlock>(2), B<mmap>(2), B<open>(2), B<quotactl>(2), B<sbrk>(2), "
-#| "B<shmctl>(2), B<malloc>(3), B<sigqueue>(3), B<ulimit>(3), B<core>(5), "
-#| "B<capabilities>(7), B<signal>(7)"
 msgid ""
 "B<prlimit>(1), B<dup>(2), B<fcntl>(2), B<fork>(2), B<getrusage>(2), "
 "B<mlock>(2), B<mmap>(2), B<open>(2), B<quotactl>(2), B<sbrk>(2), "
 "B<shmctl>(2), B<malloc>(3), B<sigqueue>(3), B<ulimit>(3), B<core>(5), "
 "B<capabilities>(7), B<cgroups>(7), B<credentials>(7), B<signal>(7)"
-msgstr ""
-"B<prlimit>(1), B<dup>(2), B<fcntl>(2), B<fork>(2), B<getrusage>(2), "
-"B<mlock>(2), B<mmap>(2), B<open>(2), B<quotactl>(2), B<sbrk>(2), "
-"B<shmctl>(2), B<malloc>(3), B<sigqueue>(3), B<ulimit>(3), B<core>(5), "
-"B<capabilities>(7), B<signal>(7)"
+msgstr "B<prlimit>(1), B<dup>(2), B<fcntl>(2), B<fork>(2), B<getrusage>(2), B<mlock>(2), B<mmap>(2), B<open>(2), B<quotactl>(2), B<sbrk>(2), B<shmctl>(2), B<malloc>(3), B<sigqueue>(3), B<ulimit>(3), B<core>(5), B<capabilities>(7), B<cgroups>(7), B<credentials>(7), B<signal>(7)"
 
 #. type: TH
 #: build/C/man2/getrusage.2:39
@@ -9952,10 +9292,9 @@ msgstr "GETRUSAGE"
 
 #. type: TH
 #: build/C/man2/getrusage.2:39
-#, fuzzy, no-wrap
-#| msgid "2014-12-31"
+#, no-wrap
 msgid "2020-12-21"
-msgstr "2014-12-31"
+msgstr "2020-12-21"
 
 #. type: Plain text
 #: build/C/man2/getrusage.2:42
@@ -10286,23 +9625,16 @@ msgstr "I<who> が無効である。"
 
 #. type: tbl table
 #: build/C/man2/getrusage.2:210
-#, fuzzy, no-wrap
-#| msgid "B<getsid>():"
+#, no-wrap
 msgid "B<getrusage>()"
-msgstr "B<getsid>():"
+msgstr "B<getrusage>()"
 
 #. type: Plain text
 #: build/C/man2/getrusage.2:221
-#, fuzzy
-#| msgid ""
-#| "SVr4, 4.3BSD.  POSIX.1-2001 specifies B<getrusage>(), but specifies only "
-#| "the fields I<ru_utime> and I<ru_stime>."
 msgid ""
 "POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.  POSIX.1 specifies B<getrusage>(), "
 "but specifies only the fields I<ru_utime> and I<ru_stime>."
-msgstr ""
-"SVr4, 4.3BSD.  POSIX.1-2001 は B<getrusage>()  を規定しているが、規定している"
-"フィールドは I<ru_utime> と I<ru_stime> だけである。"
+msgstr "POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.  POSIX.1 は B<getrusage>()  を規定しているが、規定しているフィールドは I<ru_utime> と I<ru_stime> だけである。"
 
 #. type: Plain text
 #: build/C/man2/getrusage.2:224
@@ -10351,27 +9683,17 @@ msgstr "このページの最初で示した構造体の定義は 4.3BSD Reno 
 
 #. type: Plain text
 #: build/C/man2/getrusage.2:259
-#, fuzzy
-#| msgid ""
-#| "Ancient systems provided a B<vtimes>()  function with a similar purpose "
-#| "to B<getrusage>().  For backward compatibility, glibc also provides "
-#| "B<vtimes>().  All new applications should be written using B<getrusage>()."
 msgid ""
 "Ancient systems provided a B<vtimes>()  function with a similar purpose to "
 "B<getrusage>().  For backward compatibility, glibc (up until version 2.32) "
 "also provides B<vtimes>().  All new applications should be written using "
 "B<getrusage>()."
-msgstr ""
-"古いシステムでは、 B<getrusage>() と同様の目的を持つ関数 B<vtimes>() が提供\n"
-"されていた。後方互換性のため、glibc でも B<vtimes>() を提供している。\n"
-"全ての新しいアプリケーションでは B<getrusage>() を使用すべきである。"
+msgstr "古いシステムでは、 B<getrusage>() と同様の目的を持つ関数 B<vtimes>() が提供されていた。後方互換性のため、glibc (バージョン 2.32 まで) でも B<vtimes>() を提供している。全ての新しいアプリケーションでは B<getrusage>() を使用すべきである。"
 
 #. type: Plain text
 #: build/C/man2/getrusage.2:264
-#, fuzzy
-#| msgid "See also the description of I</proc/PID/stat> in B<proc>(5)."
 msgid "See also the description of I</proc/[pid]/stat> in B<proc>(5)."
-msgstr "B<proc>(5)  にある I</proc/PID/stat> の説明も参照のこと。"
+msgstr "B<proc>(5)  にある I</proc/[pid]/stat> の説明も参照のこと。"
 
 #. type: Plain text
 #: build/C/man2/getrusage.2:271
@@ -10406,28 +9728,21 @@ msgstr "B<getsid>():"
 #.     || _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
 #. type: Plain text
 #: build/C/man2/getsid.2:49 build/C/man2/setpgid.2:79
-#, fuzzy, no-wrap
-#| msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
+#, no-wrap
 msgid ""
 "_XOPEN_SOURCE\\ E<gt>=\\ 500\n"
 "    || /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L\n"
-msgstr "|| /* glibc 2.12 以降: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
+msgstr ""
+"_XOPEN_SOURCE\\ E<gt>=\\ 500\n"
+"    || /* glibc 2.12 以降: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L\n"
 
 #. type: Plain text
 #: build/C/man2/getsid.2:63
-#, fuzzy
-#| msgid ""
-#| "I<getsid(0)> returns the session ID of the calling process.  I<getsid(p)> "
-#| "returns the session ID of the process with process ID I<p>.  (The session "
-#| "ID of a process is the process group ID of the session leader.)"
 msgid ""
 "I<getsid(0)> returns the session ID of the calling process.  B<getsid>()  "
 "returns the session ID of the process with process ID I<pid>.  If I<pid> is "
 "0, B<getsid>()  returns the session ID of the calling process."
-msgstr ""
-"I<getsid(0)> は呼び出し元のプロセスのセッション ID を返す。 I<getsid(p)> はプ"
-"ロセス ID I<p> を持つプロセスのセッション ID を返す (プロセスのセッション ID "
-"は セッションリーダーのプロセスグループ ID である)。"
+msgstr "I<getsid(0)> は呼び出し元のプロセスのセッション ID を返す。 B<getsid>() はプロセス ID が I<pid> のプロセスのセッション ID を返す。 I<pid> が 0 の場合、 B<getsid>() は呼び出し元プロセスのセッション ID を返す。"
 
 #. type: Plain text
 #: build/C/man2/getsid.2:68
@@ -10440,23 +9755,15 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/getsid.2:75
-#, fuzzy
-#| msgid ""
-#| "A process with process ID I<p> exists, but it is not in the same session "
-#| "as the calling process, and the implementation considers this an error."
 msgid ""
 "A process with process ID I<pid> exists, but it is not in the same session "
 "as the calling process, and the implementation considers this an error."
-msgstr ""
-"プロセス ID I<p> のプロセスは存在するが、呼び出し元のプロセスと同じセッション"
-"ではなく、 さらに実装がこの状態をエラーと判断した場合。"
+msgstr "プロセス ID I<pid> のプロセスは存在するが、呼び出し元のプロセスと同じセッションではなく、 さらに実装がこの状態をエラーと判断した場合。"
 
 #. type: Plain text
 #: build/C/man2/getsid.2:80
-#, fuzzy
-#| msgid "No process with process ID I<p> was found."
 msgid "No process with process ID I<pid> was found."
-msgstr "プロセス ID が I<p> のプロセスがない。"
+msgstr "プロセス ID が I<pid> のプロセスがない。"
 
 #.  Linux has this system call since Linux 1.3.44.
 #.  There is libc support since libc 5.2.19.
@@ -10467,10 +9774,8 @@ msgstr "このシステムコールは Linux バージョン 2.0 以降で利用
 
 #. type: Plain text
 #: build/C/man2/getsid.2:86 build/C/man2/setgid.2:76 build/C/man2/setsid.2:75
-#, fuzzy
-#| msgid "POSIX.1-2001, 4.3BSD, SVr4."
 msgid "POSIX.1-2001, POSIX.1-2008, SVr4."
-msgstr "POSIX.1-2001, 4.3BSD, SVr4."
+msgstr "POSIX.1-2001, POSIX.1-2008, SVr4."
 
 #. type: Plain text
 #: build/C/man2/getsid.2:89
@@ -10480,7 +9785,7 @@ msgstr "Linux は B<EPERM> を返さない。"
 #. type: Plain text
 #: build/C/man2/getsid.2:93
 msgid "See B<credentials>(7)  for a description of sessions and session IDs."
-msgstr ""
+msgstr "セッションとセッション ID の説明は B<credentials>(7) を参照。"
 
 #. type: Plain text
 #: build/C/man2/getsid.2:97
@@ -10662,25 +9967,17 @@ msgstr "B<int iopl(int >I<level>B<);>"
 
 #. type: Plain text
 #: build/C/man2/iopl.2:45
-#, fuzzy
-#| msgid ""
-#| "B<iopl>()  changes the I/O privilege level of the calling process, as "
-#| "specified by the two least significant bits in I<level>."
 msgid ""
 "B<iopl>()  changes the I/O privilege level of the calling thread, as "
 "specified by the two least significant bits in I<level>."
-msgstr ""
-"B<iopl>()  は呼び出し元のプロセスの I/O 特権レベルを I<level> の下位 2 ビット"
-"で指定した値に変更する。"
+msgstr "B<iopl>()  は呼び出し元のスレッドの I/O 特権レベルを I<level> の下位 2 ビットで指定した値に変更する。"
 
 #. type: Plain text
 #: build/C/man2/iopl.2:48
-#, fuzzy
-#| msgid "The I/O privilege level for a normal process is 0."
 msgid ""
 "The I/O privilege level for a normal thread is 0.  Permissions are inherited "
 "from parents to children."
-msgstr "é\80\9a常ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81® I/O ç\89¹æ¨©ã\83¬ã\83\99ã\83«ã\81¯ 0 ã\81§ã\81\82る。"
+msgstr "é\80\9a常ã\81®ã\82¹ã\83¬ã\83\83ã\83\89ã\81® I/O ç\89¹æ¨©ã\83¬ã\83\99ã\83«ã\81¯ 0 ã\81§ã\81\82ã\82\8bã\80\82許å\8f¯ (permissions) ã\81¯è¦ªã\81\8bã\82\89å­\90ã\81«ç¶\99æ\89¿ã\81\95ã\82\8cる。"
 
 #. type: Plain text
 #: build/C/man2/iopl.2:56
@@ -10709,18 +10006,11 @@ msgstr "このシステムコールは実装されていない。"
 
 #. type: Plain text
 #: build/C/man2/iopl.2:77
-#, fuzzy
-#| msgid ""
-#| "The calling process has insufficient privilege to call B<iopl>(); the "
-#| "B<CAP_SYS_RAWIO> capability is required to raise the I/O privilege level "
-#| "above its current value."
 msgid ""
 "The calling thread has insufficient privilege to call B<iopl>(); the "
 "B<CAP_SYS_RAWIO> capability is required to raise the I/O privilege level "
 "above its current value."
-msgstr ""
-"呼び出し元プロセスに B<iopl>()  を呼び出すのに十分な権限がなかった。 I/O 特権"
-"レベルを現在の値より上げるには B<CAP_SYS_RAWIO> ケーパビリティが必要である。"
+msgstr "呼び出し元スレッドに B<iopl>()  を呼び出すのに十分な権限がなかった。 I/O 特権レベルを現在の値より上げるには B<CAP_SYS_RAWIO> ケーパビリティが必要である。"
 
 #. type: Plain text
 #: build/C/man2/iopl.2:81
@@ -10736,20 +10026,10 @@ msgstr ""
 #.  Glibc1 does not have a prototype.
 #. type: Plain text
 #: build/C/man2/iopl.2:90
-#, fuzzy
-#| msgid ""
-#| "Libc5 treats it as a system call and has a prototype in I<E<lt>unistd."
-#| "hE<gt>>.  Glibc1 does not have a prototype.  Glibc2 has a prototype both "
-#| "in I<E<lt>sys/io.hE<gt>> and in I<E<lt>sys/perm.hE<gt>>.  Avoid the "
-#| "latter, it is available on i386 only."
 msgid ""
 "Glibc2 has a prototype both in I<E<lt>sys/io.hE<gt>> and in I<E<lt>sys/perm."
 "hE<gt>>.  Avoid the latter, it is available on i386 only."
-msgstr ""
-"libc5 ではシステムコールとして扱い I<E<lt>unistd.hE<gt>> にプロトタイプが存在"
-"している。 glibc1 にはプロトタイプは存在していない。 glibc2 は I<E<lt>sys/io."
-"hE<gt>> と I<E<lt>sys/perm.hE<gt>> の両方にプロトタイプを持っている。 後者は "
-"i386 のみで利用可能なので、使用すべきではない。"
+msgstr "glibc2 は I<E<lt>sys/io.hE<gt>> と I<E<lt>sys/perm.hE<gt>> の両方にプロトタイプを持っている。 後者は i386 のみで利用可能なので、使用すべきではない。"
 
 #. type: Plain text
 #: build/C/man2/iopl.2:96
@@ -10811,10 +10091,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/ioprio_set.2:42
-#, fuzzy
-#| msgid ""
-#| "The B<ioprio_get>()  and B<ioprio_set>()  system calls respectively get "
-#| "and set the I/O scheduling class and priority of one or more threads."
 msgid ""
 "The B<ioprio_get>()  and B<ioprio_set>()  system calls get and set the I/O "
 "scheduling class and priority of one or more threads."
@@ -11099,10 +10375,6 @@ msgstr "I/O スケジューラの選択"
 
 #. type: Plain text
 #: build/C/man2/ioprio_set.2:245
-#, fuzzy
-#| msgid ""
-#| "I/O Schedulers are selected on a per-device basis via the special file I</"
-#| "sys/block/E<lt>deviceE<gt>/queue/scheduler>."
 msgid ""
 "I/O schedulers are selected on a per-device basis via the special file I</"
 "sys/block/E<lt>deviceE<gt>/queue/scheduler>."
@@ -11123,43 +10395,26 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/ioprio_set.2:256
-#, fuzzy, no-wrap
-#| msgid ""
-#| "$B< cat /sys/block/hda/queue/scheduler>\n"
-#| "noop anticipatory deadline [cfq]\n"
+#, no-wrap
 msgid ""
 "$B< cat /sys/block/sda/queue/scheduler>\n"
 "noop anticipatory deadline [cfq]\n"
 msgstr ""
-"$B< cat /sys/block/hda/queue/scheduler>\n"
+"$B< cat /sys/block/sda/queue/scheduler>\n"
 "noop anticipatory deadline [cfq]\n"
 
 #. type: Plain text
 #: build/C/man2/ioprio_set.2:270
-#, fuzzy
-#| msgid ""
-#| "The scheduler surrounded by brackets is the one actually in use for the "
-#| "device (I<hda> in the example).  Setting another scheduler is done by "
-#| "writing the name of the new scheduler to this file.  For example, the "
-#| "following command will set the scheduler for the I<hda> device to I<cfq>:"
 msgid ""
 "The scheduler surrounded by brackets is the one actually in use for the "
 "device (I<sda> in the example).  Setting another scheduler is done by "
 "writing the name of the new scheduler to this file.  For example, the "
 "following command will set the scheduler for the I<sda> device to I<cfq>:"
-msgstr ""
-"括弧で囲まれたスケジューラがそのデバイス (上の例では I<hda>)  について実際に"
-"使用されているスケジューラである。 別のスケジューラを設定するには、このファイ"
-"ルに新しいスケジューラ名を 書き込めばよい。例えば、以下のコマンドを実行する"
-"と、デバイス I<hda> のスケジューラとして I<cfq> が設定される。"
+msgstr "括弧で囲まれたスケジューラがそのデバイス (上の例では I<sda>)  について実際に使用されているスケジューラである。 別のスケジューラを設定するには、このファイルに新しいスケジューラ名を 書き込めばよい。例えば、以下のコマンドを実行すると、デバイス I<sda> のスケジューラとして I<cfq> が設定される。"
 
 #. type: Plain text
 #: build/C/man2/ioprio_set.2:276
-#, fuzzy, no-wrap
-#| msgid ""
-#| "$B< su>\n"
-#| "Password:\n"
-#| "#B< echo cfq E<gt> /sys/block/hda/queue/scheduler>\n"
+#, no-wrap
 msgid ""
 "$B< su>\n"
 "Password:\n"
@@ -11167,7 +10422,7 @@ msgid ""
 msgstr ""
 "$B< su>\n"
 "Password:\n"
-"#B< echo cfq E<gt> /sys/block/hda/queue/scheduler>\n"
+"#B< echo cfq E<gt> /sys/block/sda/queue/scheduler>\n"
 
 #. type: SS
 #: build/C/man2/ioprio_set.2:279
@@ -11177,11 +10432,6 @@ msgstr "Completely Fair Queuing (CFQ) I/O スケジューラ"
 
 #. type: Plain text
 #: build/C/man2/ioprio_set.2:285
-#, fuzzy
-#| msgid ""
-#| "Since v3 (aka CFQ Time Sliced) CFQ implements I/O nice levels similar to "
-#| "those of CPU scheduling.  These nice levels are grouped in three "
-#| "scheduling classes each one containing one or more priority levels:"
 msgid ""
 "Since version 3 (also known as CFQ Time Sliced), CFQ implements I/O nice "
 "levels similar to those of CPU scheduling.  These nice levels are grouped "
@@ -11201,17 +10451,6 @@ msgstr "B<IOPRIO_CLASS_RT> (1)"
 
 #. type: Plain text
 #: build/C/man2/ioprio_set.2:300
-#, fuzzy
-#| msgid ""
-#| "This is the real-time I/O class.  This scheduling class is given higher "
-#| "priority than any other class: processes from this class are given first "
-#| "access to the disk every time.  Thus this I/O class needs to be used with "
-#| "some care: one I/O real-time process can starve the entire system.  "
-#| "Within the real-time class, there are 8 levels of class data (priority) "
-#| "that determine exactly how much time this process needs the disk for on "
-#| "each service.  The highest real-time priority level is 0; the lowest is "
-#| "7.  In the future this might change to be more directly mappable to "
-#| "performance, by passing in a desired data rate instead."
 msgid ""
 "This is the real-time I/O class.  This scheduling class is given higher "
 "priority than any other class: processes from this class are given first "
@@ -11267,13 +10506,6 @@ msgstr "B<IOPRIO_CLASS_IDLE> (3)"
 
 #. type: Plain text
 #: build/C/man2/ioprio_set.2:322
-#, fuzzy
-#| msgid ""
-#| "This is the idle scheduling class.  Processes running at this level get I/"
-#| "O time only when no-one else needs the disk.  The idle class has no class "
-#| "data.  Attention is required when assigning this priority class to a "
-#| "process, since it may become starved if higher priority processes are "
-#| "constantly accessing the disk."
 msgid ""
 "This is the idle scheduling class.  Processes running at this level get I/O "
 "time only when no one else needs the disk.  The idle class has no class "
@@ -11290,16 +10522,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/ioprio_set.2:326
-#, fuzzy
-#| msgid ""
-#| "Refer to I<Documentation/block/ioprio.txt> for more information on the "
-#| "CFQ I/O Scheduler and an example program."
 msgid ""
 "Refer to the kernel source file I<Documentation/block/ioprio.txt> for more "
 "information on the CFQ I/O Scheduler and an example program."
-msgstr ""
-"CFQ I/O スケジューラの更なる情報とサンプルプログラムについては "
-"I<Documentation/block/ioprio.txt> を参照のこと。"
+msgstr "CFQ I/O スケジューラの更なる情報とサンプルプログラムについては、カーネルのソースファイル I<Documentation/block/ioprio.txt> を参照のこと。"
 
 #. type: SS
 #: build/C/man2/ioprio_set.2:326
@@ -11309,16 +10535,10 @@ msgstr "I/O 優先度の設定に必要な許可"
 
 #. type: Plain text
 #: build/C/man2/ioprio_set.2:329
-#, fuzzy
-#| msgid ""
-#| "Permission to change a process's priority is granted or denied based on "
-#| "two assertions:"
 msgid ""
 "Permission to change a process's priority is granted or denied based on two "
 "criteria:"
-msgstr ""
-"プロセスの優先度を変更する許可が得られるかどうかは 以下の 2つの条件に基いて決"
-"定される。"
+msgstr "プロセスの優先度を変更する許可が得られるかどうかは 以下の 2 つの基準に基いて決定される。"
 
 #. type: TP
 #: build/C/man2/ioprio_set.2:329
@@ -11328,12 +10548,6 @@ msgstr "B<プロセスの所有権>"
 
 #. type: Plain text
 #: build/C/man2/ioprio_set.2:337
-#, fuzzy
-#| msgid ""
-#| "An unprivileged process may set only the I/O priority of a process whose "
-#| "real UID matches the real or effective UID of the calling process.  A "
-#| "process which has the B<CAP_SYS_NICE> capability can change the priority "
-#| "of any process."
 msgid ""
 "An unprivileged process may set the I/O priority only for a process whose "
 "real UID matches the real or effective UID of the calling process.  A "
@@ -11389,12 +10603,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/ioprio_set.2:369
-#, fuzzy
-#| msgid "B<ionice>(1), B<getpriority>(2), B<open>(2), B<capabilities>(7)"
 msgid ""
 "B<ionice>(1), B<getpriority>(2), B<open>(2), B<capabilities>(7), "
 "B<cgroups>(7)"
-msgstr "B<ionice>(1), B<getpriority>(2), B<open>(2), B<capabilities>(7)"
+msgstr "B<ionice>(1), B<getpriority>(2), B<open>(2), B<capabilities>(7), B<cgroups>(7)"
 
 #. type: Plain text
 #: build/C/man2/ioprio_set.2:372
@@ -11409,10 +10621,9 @@ msgstr "IPC"
 
 #. type: TH
 #: build/C/man2/ipc.2:25
-#, fuzzy, no-wrap
-#| msgid "2013-08-08"
+#, no-wrap
 msgid "2019-08-02"
-msgstr "2013-08-08"
+msgstr "2019-08-02"
 
 #. type: Plain text
 #: build/C/man2/ipc.2:28
@@ -11443,18 +10654,11 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/ipc.2:45
-#, fuzzy
-#| msgid ""
-#| "User programs should call the appropriate functions by their usual "
-#| "names.  Only standard library implementors and kernel hackers need to "
-#| "know about B<ipc>()."
 msgid ""
 "User-space programs should call the appropriate functions by their usual "
 "names.  Only standard library implementors and kernel hackers need to know "
 "about B<ipc>()."
-msgstr ""
-"ユーザープログラムは通常の名前で適切な関数を呼び出すべきである。 標準ライブラ"
-"リの実装者やカーネルハッカーのみが B<ipc>()  について知る必要がある。"
+msgstr "ユーザー空間プログラムは通常の名前で適切な関数を呼び出すべきである。 標準ライブラリの実装者やカーネルハッカーのみが B<ipc>()  について知る必要がある。"
 
 #. type: Plain text
 #: build/C/man2/ipc.2:49
@@ -11467,11 +10671,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/ipc.2:57
-#, fuzzy
-#| msgid ""
-#| "On some architectures\\(emfor example x86-64 and ARM\\(emthere is no "
-#| "B<ipc>()  system call; instead B<msgctl>(2), B<semctl>(2), B<shmctl>(2), "
-#| "and so on really are implemented as separate system calls."
 msgid ""
 "On some architectures\\(emfor example x86-64 and ARM\\(emthere is no "
 "B<ipc>()  system call; instead, B<msgctl>(2), B<semctl>(2), B<shmctl>(2), "
@@ -11484,19 +10683,11 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/ipc.2:71
-#, fuzzy
-#| msgid ""
-#| "B<msgctl>(2), B<msgget>(2), B<msgrcv>(2), B<msgsnd>(2), B<semctl>(2), "
-#| "B<semget>(2), B<semop>(2), B<semtimedop>(2), B<shmat>(2), B<shmctl>(2), "
-#| "B<shmdt>(2), B<shmget>(2)"
 msgid ""
 "B<msgctl>(2), B<msgget>(2), B<msgrcv>(2), B<msgsnd>(2), B<semctl>(2), "
 "B<semget>(2), B<semop>(2), B<semtimedop>(2), B<shmat>(2), B<shmctl>(2), "
 "B<shmdt>(2), B<shmget>(2), B<sysvipc>(7)"
-msgstr ""
-"B<msgctl>(2), B<msgget>(2), B<msgrcv>(2), B<msgsnd>(2), B<semctl>(2), "
-"B<semget>(2), B<semop>(2), B<shmat>(2), B<shmctl>(2), B<shmdt>(2), "
-"B<shmget>(2)"
+msgstr "B<msgctl>(2), B<msgget>(2), B<msgrcv>(2), B<msgsnd>(2), B<semctl>(2), B<semget>(2), B<semop>(2), B<semtimedop>(2), B<shmat>(2), B<shmctl>(2), B<shmdt>(2), B<shmget>(2), B<sysvipc>(7)"
 
 #. type: TH
 #: build/C/man2/seteuid.2:29
@@ -11531,22 +10722,16 @@ msgid ""
 "_POSIX_C_SOURCE\\ E<gt>=\\ 200112L\n"
 "    || /* Glibc versions E<lt>= 2.19: */ _BSD_SOURCE\n"
 msgstr ""
+"_POSIX_C_SOURCE\\ E<gt>=\\ 200112L\n"
+"    || /* glibc 2.19 以前: */ _BSD_SOURCE\n"
 
 #. type: Plain text
 #: build/C/man2/seteuid.2:59
-#, fuzzy
-#| msgid ""
-#| "B<seteuid>()  sets the effective user ID of the calling process.  "
-#| "Unprivileged user processes may only set the effective user ID to the "
-#| "real user ID, the effective user ID or the saved set-user-ID."
 msgid ""
 "B<seteuid>()  sets the effective user ID of the calling process.  "
 "Unprivileged processes may only set the effective user ID to the real user "
 "ID, the effective user ID or the saved set-user-ID."
-msgstr ""
-"B<seteuid>()  は呼び出し元のプロセスの実効ユーザー ID を設定する。 非特権ユー"
-"ザーのプロセスの場合、実効ユーザー ID に設定できるのは、 実ユーザー ID・実効"
-"ユーザー ID・保存 set-user-ID のいずれかだけである。"
+msgstr "B<seteuid>()  は呼び出し元のプロセスの実効ユーザー ID を設定する。 非特権プロセスの場合、実効ユーザー ID に設定できるのは、 実ユーザー ID・実効ユーザー ID・保存 set-user-ID のいずれかだけである。"
 
 #.  When
 #.  .I euid
@@ -11625,15 +10810,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/seteuid.2:127
-#, fuzzy
-#| 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 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 "
@@ -11665,16 +10841,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/seteuid.2:145
-#, fuzzy
-#| msgid ""
-#| "On Linux, B<seteuid>()  and B<setegid>()  are implemented as library "
-#| "functions that call, respectively, B<setreuid>(2)  and B<setresgid>(2)."
 msgid ""
 "On Linux, B<seteuid>()  and B<setegid>()  are implemented as library "
 "functions that call, respectively, B<setreuid>(2)  and B<setregid>(2)."
-msgstr ""
-"Linux では、 B<seteuid>() と B<setegid>() は、それぞれ B<setreuid>(2) と "
-"B<setresgid>(2) を呼び出すライブラリ関数として実装されている。"
+msgstr "Linux では、 B<seteuid>() と B<setegid>() は、それぞれ B<setreuid>(2) と B<setregid>(2) を呼び出すライブラリ関数として実装されている。"
 
 #. type: Plain text
 #: build/C/man2/seteuid.2:153
@@ -11693,10 +10863,9 @@ msgstr "SETFSGID"
 
 #. type: TH
 #: build/C/man2/setfsgid.2:32 build/C/man2/setfsuid.2:32
-#, fuzzy, no-wrap
-#| msgid "2014-05-10"
+#, no-wrap
 msgid "2019-05-09"
-msgstr "2014-05-10"
+msgstr "2019-05-09"
 
 #. type: Plain text
 #: build/C/man2/setfsgid.2:35
@@ -11943,22 +11112,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/setfsuid.2:104
-#, fuzzy
-#| msgid ""
-#| "At the time when this system call was introduced, one process could send "
-#| "a signal to another process with the same effective user ID.  This meant "
-#| "that if a privileged process changed its effective user ID for the "
-#| "purpose of file permission checking, then it could become vulnerable to "
-#| "receiving signals sent by another (unprivileged) process with the same "
-#| "user ID.  The filesystem user ID attribute was thus added to allow a "
-#| "process to change its user ID for the purposes of file permission "
-#| "checking without at the same time becoming vulnerable to receiving "
-#| "unwanted signals.  Since Linux 2.0, signal permission handling is "
-#| "different (see B<kill>(2)), with the result that a process change can "
-#| "change its effective user ID without being vulnerable to receiving "
-#| "signals from unwanted processes.  Thus, B<setfsuid>()  is nowadays "
-#| "unneeded and should be avoided in new applications (likewise for "
-#| "B<setfsgid>(2))."
 msgid ""
 "At the time when this system call was introduced, one process could send a "
 "signal to another process with the same effective user ID.  This meant that "
@@ -12095,19 +11248,11 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/setgid.2:74
-#, fuzzy
-#| msgid ""
-#| "The calling process is not privileged (does not have the B<CAP_SETGID> "
-#| "capability), and I<gid> does not match the real group ID or saved set-"
-#| "group-ID of the calling process."
 msgid ""
 "The calling process is not privileged (does not have the B<CAP_SETGID> "
 "capability in its user namespace), and I<gid> does not match the real group "
 "ID or saved set-group-ID of the calling process."
-msgstr ""
-"呼び出し元のプロセスに権限がなく (B<CAP_SETGID> ケーパビリティがなく)、かつ "
-"I<gid> が呼び出し元のプロセスの実グループID と保存セットグループID のどちらと"
-"も一致しない。"
+msgstr "呼び出し元のプロセスに権限がなく (そのプロセスのユーザー名前空間で B<CAP_SETGID> ケーパビリティがなく)、かつ I<gid> が呼び出し元のプロセスの実グループID と保存セットグループID のどちらとも一致しない。"
 
 #. type: Plain text
 #: build/C/man2/setgid.2:87
@@ -12174,14 +11319,8 @@ msgstr "B<pid_t getpgrp(void);> /* POSIX.1 version */"
 
 #. type: Plain text
 #: build/C/man2/setpgid.2:63
-#, fuzzy
-#| msgid ""
-#| "B<pid_t getpgrp(pid_t >I<pid>B<);\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ > /* "
-#| "BSD version */"
 msgid "B<pid_t getpgrp(pid_t >I<pid>B<);> /* BSD version */"
-msgstr ""
-"B<pid_t getpgrp(pid_t >I<pid>B<);\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ > /* BSD "
-"version */"
+msgstr "B<pid_t getpgrp(pid_t >I<pid>B<);> /* BSD version */"
 
 #. type: Plain text
 #: build/C/man2/setpgid.2:65
@@ -12190,12 +11329,8 @@ msgstr "B<int setpgrp(void);> /* System V version */"
 
 #. type: Plain text
 #: build/C/man2/setpgid.2:67
-#, fuzzy
-#| msgid ""
-#| "B<int setpgrp(pid_t >I<pid>B<, pid_t >I<pgid>B<);\\ > /* BSD version */"
 msgid "B<int setpgrp(pid_t >I<pid>B<, pid_t >I<pgid>B<);> /* BSD version */"
-msgstr ""
-"B<int setpgrp(pid_t >I<pid>B<, pid_t >I<pgid>B<);\\ > /* BSD version */"
+msgstr "B<int setpgrp(pid_t >I<pid>B<, pid_t >I<pgid>B<);> /* BSD version */"
 
 #. type: Plain text
 #: build/C/man2/setpgid.2:75
@@ -12216,30 +11351,28 @@ msgid ""
 "        || /* Since glibc 2.19: */ _DEFAULT_SOURCE\n"
 "        || /* Glibc versions E<lt>= 2.19: */ _SVID_SOURCE\n"
 msgstr ""
+"    _XOPEN_SOURCE\\ E<gt>=\\ 500\n"
+"        || /* glibc 2.19 以降: */ _DEFAULT_SOURCE\n"
+"        || /* glibc 2.19 以前: */ _SVID_SOURCE\n"
 
 #. type: Plain text
 #: build/C/man2/setpgid.2:91
-#, fuzzy
-#| msgid "B<setpgrp>()\\ (BSD), B<getpgrp>()\\ (BSD) [before glibc 2.19]:"
 msgid "B<setpgrp>()\\ (BSD), B<getpgrp>()\\ (BSD):"
-msgstr "B<setpgrp>()\\ (BSD), B<getpgrp>()\\ (BSD) [glibc 2.19 より前]:"
+msgstr "B<setpgrp>()\\ (BSD), B<getpgrp>()\\ (BSD):"
 
 #. type: Plain text
 #: build/C/man2/setpgid.2:96
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    _BSD_SOURCE &&\n"
-#| "        !\\ (_POSIX_SOURCE || _POSIX_C_SOURCE || _XOPEN_SOURCE ||\n"
-#| "           _XOPEN_SOURCE_EXTENDED || _GNU_SOURCE || _SVID_SOURCE)\n"
+#, no-wrap
 msgid ""
 "    [These are available only before glibc 2.19]\n"
 "    _BSD_SOURCE &&\n"
 "        !\\ (_POSIX_SOURCE || _POSIX_C_SOURCE || _XOPEN_SOURCE ||\n"
 "            _GNU_SOURCE || _SVID_SOURCE)\n"
 msgstr ""
+"    [これらは glibc 2.19 より前でのみ利用可能]\n"
 "    _BSD_SOURCE &&\n"
 "        !\\ (_POSIX_SOURCE || _POSIX_C_SOURCE || _XOPEN_SOURCE ||\n"
-"           _XOPEN_SOURCE_EXTENDED || _GNU_SOURCE || _SVID_SOURCE)\n"
+"            _GNU_SOURCE || _SVID_SOURCE)\n"
 
 #. type: Plain text
 #: build/C/man2/setpgid.2:107
@@ -12311,10 +11444,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/setpgid.2:161
-#, fuzzy
-#| msgid ""
-#| "The BSD-specific B<setpgrp>()  call, which takes arguments I<pid> and "
-#| "I<pgid>, is is a wrapper function that calls"
 msgid ""
 "The BSD-specific B<setpgrp>()  call, which takes arguments I<pid> and "
 "I<pgid>, is a wrapper function that calls"
@@ -12473,16 +11602,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/setpgid.2:281
-#, fuzzy
-#| msgid ""
-#| "Each process group is a member of a session and each process is a member "
-#| "of the session of which its process group is a member."
 msgid ""
 "Each process group is a member of a session and each process is a member of "
 "the session of which its process group is a member.  (See B<credentials>(7).)"
-msgstr ""
-"各プロセスグループはセッションのメンバーであり、各プロセスは そのプロセスグ"
-"ループが所属しているセッションのメンバーである。"
+msgstr "各プロセスグループはセッションのメンバーであり、各プロセスは そのプロセスグループが所属しているセッションのメンバーである (B<credentials>(7) 参照)。"
 
 #. type: Plain text
 #: build/C/man2/setpgid.2:308
@@ -12524,15 +11647,6 @@ msgstr ""
 #.  exit.3 refers to the following text:
 #. type: Plain text
 #: build/C/man2/setpgid.2:330
-#, fuzzy
-#| msgid ""
-#| "If the exit of the process causes a process group to become orphaned, and "
-#| "if any member of the newly orphaned process group is stopped, then a "
-#| "B<SIGHUP> signal followed by a B<SIGCONT> signal will be sent to each "
-#| "process in the newly orphaned process group.  An orphaned process group "
-#| "is one in which the parent of every member of process group is either "
-#| "itself also a member of the process group or is a member of a process "
-#| "group in a different session (see also B<credentials>(7))."
 msgid ""
 "If the termination of a process causes a process group to become orphaned, "
 "and if any member of the newly orphaned process group is stopped, then a "
@@ -12594,34 +11708,19 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/setresuid.2:47
-#, fuzzy
-#| msgid ""
-#| "Unprivileged user processes may change the real UID, effective UID, and "
-#| "saved set-user-ID, each to one of: the current real UID, the current "
-#| "effective UID or the current saved set-user-ID."
 msgid ""
 "An unprivileged process may change its real UID, effective UID, and saved "
 "set-user-ID, each to one of: the current real UID, the current effective UID "
 "or the current saved set-user-ID."
-msgstr ""
-"非特権ユーザーのプロセスは、その実 UID、実効 UID、保存 set-user-ID を、 現在"
-"の実 UID、現在の実効 UID、現在の保存 set-user-ID のどれかに変更することができ"
-"る:"
+msgstr "非特権プロセスは、その実 UID、実効 UID、保存 set-user-ID を、 現在の実 UID、現在の実効 UID、現在の保存 set-user-ID のどれかに変更することができる:"
 
 #. type: Plain text
 #: build/C/man2/setresuid.2:51
-#, fuzzy
-#| msgid ""
-#| "Privileged processes (on Linux, those having the B<CAP_SETUID> "
-#| "capability)  may set the real UID, effective UID, and saved set-user-ID "
-#| "to arbitrary values."
 msgid ""
 "A privileged process (on Linux, one having the B<CAP_SETUID> capability)  "
 "may set its real UID, effective UID, and saved set-user-ID to arbitrary "
 "values."
-msgstr ""
-"特権プロセス (Linux では B<CAP_SETUID> ケーパビリティ (capability) を持つ プ"
-"ロセス) は、実 UID、実効 UID、保存 set-user-ID を任意の値に設定できる。"
+msgstr "特権プロセス (Linux では B<CAP_SETUID> ケーパビリティ (capability) を持つ プロセス) は、自身の実 UID、実効 UID、保存 set-user-ID を任意の値に設定できる。"
 
 #. type: Plain text
 #: build/C/man2/setresuid.2:53
@@ -12909,16 +12008,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/setreuid.2:157
-#, fuzzy
-#| msgid ""
-#| "POSIX.1-2001, 4.3BSD (the B<setreuid>()  and B<setregid>()  function "
-#| "calls first appeared in 4.2BSD)."
 msgid ""
 "POSIX.1-2001, POSIX.1-2008, 4.3BSD (B<setreuid>()  and B<setregid>()  first "
 "appeared in 4.2BSD)."
-msgstr ""
-"POSIX.1-2001, 4.3BSD (B<setreuid>()  と B<setregid>()  関数コールは 4.2BSD で"
-"登場した)。"
+msgstr "POSIX.1-2001, POSIX.1-2008, 4.3BSD (B<setreuid>()  と B<setregid>()  関数コールは 4.2BSD で初めて登場した)。"
 
 #. type: Plain text
 #: build/C/man2/setreuid.2:161
@@ -12931,17 +12024,6 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/setreuid.2:178
-#, fuzzy
-#| msgid ""
-#| "POSIX.1 does not specify all of possible ID changes that are permitted on "
-#| "Linux for an unprivileged process.  For B<setreuid>(), the effective user "
-#| "ID can be made the same as the real user ID or the save set-user-ID, and "
-#| "it is unspecified whether unprivileged processes may set the real user ID "
-#| "to the real user ID, the effective user ID, or the saved set-user-ID.  "
-#| "For B<setregid>(), the real group ID can be changed to the value of the "
-#| "saved set-group-ID, and the effective group ID can be changed to the "
-#| "value of the real group ID or the saved set-group-ID.  The precise "
-#| "details of what ID changes are permitted vary across implementations."
 msgid ""
 "POSIX.1 does not specify all of the UID changes that Linux permits for an "
 "unprivileged process.  For B<setreuid>(), the effective user ID can be made "
@@ -12952,15 +12034,7 @@ msgid ""
 "effective group ID can be changed to the value of the real group ID or the "
 "saved set-group-ID.  The precise details of what ID changes are permitted "
 "vary across implementations."
-msgstr ""
-"POSIX.1 では、非特権プロセスに対して Linux 上で認められている ID の変更の 全"
-"パターンを規定しているわけではない。 B<setreuid>()  では、実効ユーザー ID を"
-"実ユーザー ID もしくは保存 set-user-ID と 同じ値にすることができるが、 非特権"
-"プロセスが実ユーザー ID を実ユーザー ID、実効ユーザー ID、 保存 set-user-ID "
-"のどの値にも設定できるかは規定されていない。 B<setregid>()  では、実グループ "
-"ID を保存 set-group-ID と同じ値に変更でき、 実効グループ ID を実グループ ID "
-"や保存 set-group-ID と同じ値に変更できる。 どのような ID の変更が認められてい"
-"るかの正確な詳細は 実装ごとに異なる。"
+msgstr "POSIX.1 では、 Linux が非特権プロセスに対して認めている ID の変更の全パターンを規定しているわけではない。 B<setreuid>()  では、実効ユーザー ID を実ユーザー ID もしくは保存 set-user-ID と 同じ値にすることができるが、 非特権プロセスが実ユーザー ID を実ユーザー ID、実効ユーザー ID、 保存 set-user-ID のどの値にも設定できるかは規定されていない。 B<setregid>()  では、実グループ ID を保存 set-group-ID と同じ値に変更でき、 実効グループ ID を実グループ ID や保存 set-group-ID と同じ値に変更できる。 どのような ID の変更が認められているかの正確な詳細は 実装ごとに異なる。"
 
 #. type: Plain text
 #: build/C/man2/setreuid.2:181
@@ -13002,18 +12076,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/setreuid.2:224
-#, fuzzy
-#| msgid ""
-#| "B<getresuid>(2), B<getuid>(2), B<setfsgid>(2), B<setfsuid>(2), "
-#| "B<setreuid>(2), B<setuid>(2), B<capabilities>(7), B<credentials>(7), "
-#| "B<user_namespaces>(7)"
 msgid ""
 "B<getgid>(2), B<getuid>(2), B<seteuid>(2), B<setgid>(2), B<setresuid>(2), "
 "B<setuid>(2), B<capabilities>(7), B<credentials>(7), B<user_namespaces>(7)"
-msgstr ""
-"B<getresuid>(2), B<getuid>(2), B<setfsgid>(2), B<setfsuid>(2), "
-"B<setreuid>(2), B<setuid>(2), B<capabilities>(7), B<credentials>(7), "
-"B<user_namespaces>(7)"
+msgstr "B<getgid>(2), B<getuid>(2), B<seteuid>(2), B<setgid>(2), B<setresuid>(2), B<setuid>(2), B<capabilities>(7), B<credentials>(7), B<user_namespaces>(7)"
 
 #. type: TH
 #: build/C/man2/setsid.2:31
@@ -13033,14 +12099,6 @@ msgstr "B<pid_t setsid(void);>"
 
 #. type: Plain text
 #: build/C/man2/setsid.2:52
-#, 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 (i.e., its session ID is made the same as it process ID).  The "
-#| "calling process also 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)."
 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., "
@@ -13057,23 +12115,17 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/setsid.2:55
-#, fuzzy
-#| 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."
 msgid ""
 "The calling process will be the only process in the new process group and in "
 "the new session."
-msgstr ""
-"呼び出したプロセスは、 新しいプロセスグループと新しいセッションの唯一のプロセ"
-"スとなる。 新しいセッションは制御端末を持たない。"
+msgstr "呼び出したプロセスは、 新しいプロセスグループと新しいセッションの唯一のプロセスとなる。"
 
 #. type: Plain text
 #: build/C/man2/setsid.2:59
 msgid ""
 "Initially, the new session has no controlling terminal.  For details of how "
 "a session acquires a controlling terminal, see B<credentials>(7)."
-msgstr ""
+msgstr "最初は、新しいセッションは制御端末を持たない。セッションが制御端末を獲得する方法については B<credentials>(7) を参照。"
 
 #. type: Plain text
 #: build/C/man2/setsid.2:66
@@ -13138,48 +12190,22 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/setsid.2:105
-#, fuzzy
-#| msgid ""
-#| "If a session has a controlling terminal, and the B<CLOCAL> flag for that "
-#| "terminal is not set, and a terminal hangup occurs, then the session "
-#| "leader is sent a B<SIGHUP>.  If the session leader exits, then a "
-#| "B<SIGHUP> signal will also be sent to each process in the foreground "
-#| "process group of the controlling terminal."
 msgid ""
 "If a session has a controlling terminal, and the B<CLOCAL> flag for that "
 "terminal is not set, and a terminal hangup occurs, then the session leader "
 "is sent a B<SIGHUP> signal."
-msgstr ""
-"セッションが制御端末を持っていて、その端末に対して B<CLOCAL> フラグが設定され"
-"ておらず、端末のハングアップが起きた場合、 セッションリーダーに B<SIGHUP> が"
-"送られる。 セッションリーダーが終了した場合には、その制御端末の フォアグラン"
-"ドのプロセスグループに所属する各プロセスにも B<SIGHUP> シグナルが送られる。"
+msgstr "セッションが制御端末を持っていて、その端末に対して B<CLOCAL> フラグが設定されておらず、端末のハングアップが起きた場合、 セッションリーダーに B<SIGHUP> シグナルが送られる。"
 
 #. type: Plain text
 #: build/C/man2/setsid.2:110
-#, fuzzy
-#| msgid ""
-#| "If a session has a controlling terminal, and the B<CLOCAL> flag for that "
-#| "terminal is not set, and a terminal hangup occurs, then the session "
-#| "leader is sent a B<SIGHUP>.  If the session leader exits, then a "
-#| "B<SIGHUP> signal will also be sent to each process in the foreground "
-#| "process group of the controlling terminal."
 msgid ""
 "If a process that is a session leader terminates, then a B<SIGHUP> signal is "
 "sent to each process in the foreground process group of the controlling "
 "terminal."
-msgstr ""
-"セッションが制御端末を持っていて、その端末に対して B<CLOCAL> フラグが設定され"
-"ておらず、端末のハングアップが起きた場合、 セッションリーダーに B<SIGHUP> が"
-"送られる。 セッションリーダーが終了した場合には、その制御端末の フォアグラン"
-"ドのプロセスグループに所属する各プロセスにも B<SIGHUP> シグナルが送られる。"
+msgstr "セッションリーダーのプロセスが終了した場合には、その制御端末のフォアグランドのプロセスグループに所属する各プロセスに B<SIGHUP> シグナルが送られる。"
 
 #. type: Plain text
 #: build/C/man2/setsid.2:118
-#, fuzzy
-#| msgid ""
-#| "B<setsid>(1), B<getsid>(2), B<setpgid>(2), B<setpgrp>(2), B<tcgetsid>(3), "
-#| "B<credentials>(7)"
 msgid ""
 "B<setsid>(1), B<getsid>(2), B<setpgid>(2), B<setpgrp>(2), B<tcgetsid>(3), "
 "B<credentials>(7), B<sched>(7)"
@@ -13235,24 +12261,12 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/setuid.2:66
-#, fuzzy
-#| msgid ""
-#| "If the user is root or the program is set-user-ID-root, special care must "
-#| "be taken.  The B<setuid>()  function checks the effective user ID of the "
-#| "caller and if it is the superuser, all process-related user ID's are set "
-#| "to I<uid>.  After this has occurred, it is impossible for the program to "
-#| "regain root privileges."
 msgid ""
 "If the user is root or the program is set-user-ID-root, special care must be "
 "taken: B<setuid>()  checks the effective user ID of the caller and if it is "
 "the superuser, all process-related user ID's are set to I<uid>.  After this "
 "has occurred, it is impossible for the program to regain root privileges."
-msgstr ""
-"ユーザーが root またはプログラムが root に set-user-ID されているならば、 特"
-"別の注意が払われる。 B<setuid>()  関数は呼び出し者の実効ユーザー ID をチェッ"
-"クし、 それがスーパーユーザーならば、 プロセスに関連する全てのユーザー ID に "
-"I<uid> を設定する。 これが行なわれた後にはプログラムが再びルートの特権を得る"
-"ことはできない。"
+msgstr "ユーザーが root またはプログラムが root に set-user-ID されているならば、 特別の注意が払われる。 B<setuid>() は呼び出し者の実効ユーザー ID をチェックし、 それがスーパーユーザーならば、 プロセスに関連する全てのユーザー ID に I<uid> を設定する。 これが行なわれた後にはプログラムが再びルートの特権を得ることはできない。"
 
 #. type: Plain text
 #: build/C/man2/setuid.2:73
@@ -13312,33 +12326,19 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/setuid.2:120
-#, fuzzy
-#| msgid ""
-#| "The user is not privileged (Linux: does not have the B<CAP_SETUID> "
-#| "capability) and I<uid> does not match the real UID or saved set-user-ID "
-#| "of the calling process."
 msgid ""
 "The user is not privileged (Linux: does not have the B<CAP_SETUID> "
 "capability in its user namespace) and I<uid> does not match the real UID or "
 "saved set-user-ID of the calling process."
-msgstr ""
-"ユーザーが特権を持たず (Linux では B<CAP_SETUID> ケーパビリティ (capability) "
-"を持たず)、 I<uid> が呼び出し元プロセスの実 UID または保存 set-user-ID と一致"
-"しない。"
+msgstr "ユーザーが特権を持たず (Linux ではそのユーザー名前空間で B<CAP_SETUID> ケーパビリティ (capability) を持たず)、 I<uid> が呼び出し元プロセスの実 UID または保存 set-user-ID と一致しない。"
 
 #.  SVr4 documents an additional EINVAL error condition.
 #. type: Plain text
 #: build/C/man2/setuid.2:125
-#, fuzzy
-#| msgid ""
-#| "SVr4, POSIX.1-2001.  Not quite compatible with the 4.4BSD call, which "
-#| "sets all of the real, saved, and effective user IDs."
 msgid ""
 "POSIX.1-2001, POSIX.1-2008, SVr4.  Not quite compatible with the 4.4BSD "
 "call, which sets all of the real, saved, and effective user IDs."
-msgstr ""
-"SVr4, POSIX.1-2001.  4.4BSD のコールとは完全な互換性はない、 BSD のコールは"
-"実 (real)、保存 (saved)、実効 (effective) ID の全てを設定する。"
+msgstr "POSIX.1-2001, POSIX.1-2008, SVr4.  4.4BSD のコールとは完全な互換性はない、 BSD のコールは実 (real)、保存 (saved)、実効 (effective) ID の全てを設定する。"
 
 #. type: Plain text
 #: build/C/man2/setuid.2:133
@@ -13409,14 +12409,12 @@ msgstr "SVIPC"
 #: build/C/man7/sysvipc.7:25
 #, no-wrap
 msgid "2020-04-11"
-msgstr ""
+msgstr "2020-04-11"
 
 #. type: Plain text
 #: build/C/man7/sysvipc.7:28
-#, fuzzy
-#| msgid "svipc - System V interprocess communication mechanisms"
 msgid "sysvipc - System V interprocess communication mechanisms"
-msgstr "svipc - System V プロセス間通信機構"
+msgstr "sysvipc - System V プロセス間通信機構"
 
 #. type: Plain text
 #: build/C/man7/sysvipc.7:33
@@ -13448,10 +12446,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/sysvipc.7:41
-#, fuzzy, no-wrap
-#| msgid "B<setns>(2)"
+#, no-wrap
 msgid "B<msgget>(2)"
-msgstr "B<setns>(2)"
+msgstr "B<msgget>(2)"
 
 #. type: Plain text
 #: build/C/man7/sysvipc.7:45
@@ -13462,10 +12459,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/sysvipc.7:45
-#, fuzzy, no-wrap
-#| msgid "B<setns>(2)"
+#, no-wrap
 msgid "B<msgsnd>(2)"
-msgstr "B<setns>(2)"
+msgstr "B<msgsnd>(2)"
 
 #. type: Plain text
 #: build/C/man7/sysvipc.7:48
@@ -13476,10 +12472,9 @@ msgstr "メッセージキュー"
 
 #. type: TP
 #: build/C/man7/sysvipc.7:48
-#, fuzzy, no-wrap
-#| msgid "B<unshare>(2)"
+#, no-wrap
 msgid "B<msgrcv>(2)"
-msgstr "B<unshare>(2)"
+msgstr "B<msgrcv>(2)"
 
 #. type: Plain text
 #: build/C/man7/sysvipc.7:51
@@ -13488,10 +12483,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/sysvipc.7:51
-#, fuzzy, no-wrap
-#| msgid "B<clone>(2)"
+#, no-wrap
 msgid "B<msgctl>(2)"
-msgstr "B<clone>(2)"
+msgstr "B<msgctl>(2)"
 
 #. type: Plain text
 #: build/C/man7/sysvipc.7:55
@@ -13520,10 +12514,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/sysvipc.7:64
-#, fuzzy, no-wrap
-#| msgid "B<setns>(2)"
+#, no-wrap
 msgid "B<semget>(2)"
-msgstr "B<setns>(2)"
+msgstr "B<semget>(2)"
 
 #. type: Plain text
 #: build/C/man7/sysvipc.7:68
@@ -13534,10 +12527,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/sysvipc.7:68
-#, fuzzy, no-wrap
-#| msgid "B<setns>(2)"
+#, no-wrap
 msgid "B<semop>(2)"
-msgstr "B<setns>(2)"
+msgstr "B<semop>(2)"
 
 #. type: Plain text
 #: build/C/man7/sysvipc.7:71
@@ -13546,10 +12538,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/sysvipc.7:71
-#, fuzzy, no-wrap
-#| msgid "B<setns>(2)"
+#, no-wrap
 msgid "B<semctl>(2)"
-msgstr "B<setns>(2)"
+msgstr "B<semctl>(2)"
 
 #. type: Plain text
 #: build/C/man7/sysvipc.7:75
@@ -13577,10 +12568,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/sysvipc.7:82
-#, fuzzy, no-wrap
-#| msgid "B<setns>(2)"
+#, no-wrap
 msgid "B<shmget>(2)"
-msgstr "B<setns>(2)"
+msgstr "B<shmget>(2)"
 
 #. type: Plain text
 #: build/C/man7/sysvipc.7:86
@@ -13591,10 +12581,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/sysvipc.7:86
-#, fuzzy, no-wrap
-#| msgid "B<unshare>(2)"
+#, no-wrap
 msgid "B<shmat>(2)"
-msgstr "B<unshare>(2)"
+msgstr "B<shmat>(2)"
 
 #. type: Plain text
 #: build/C/man7/sysvipc.7:90
@@ -13611,10 +12600,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/sysvipc.7:90
-#, fuzzy, no-wrap
-#| msgid "B<setns>(2)"
+#, no-wrap
 msgid "B<shmdt>(2)"
-msgstr "B<setns>(2)"
+msgstr "B<shmdt>(2)"
 
 #. type: Plain text
 #: build/C/man7/sysvipc.7:93
@@ -13629,10 +12617,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/sysvipc.7:93
-#, fuzzy, no-wrap
-#| msgid "B<clone>(2)"
+#, no-wrap
 msgid "B<shmctl>(2)"
-msgstr "B<clone>(2)"
+msgstr "B<shmctl>(2)"
 
 #. type: Plain text
 #: build/C/man7/sysvipc.7:97
@@ -13647,35 +12634,19 @@ msgstr "IPC 名前空間"
 
 #. type: Plain text
 #: build/C/man7/sysvipc.7:101
-#, fuzzy
-#| msgid ""
-#| "For a discussion of the interaction of System V IPC objects and IPC "
-#| "namespaces, see B<namespaces>(7)."
 msgid ""
 "For a discussion of the interaction of System V IPC objects and IPC "
 "namespaces, see B<ipc_namespaces>(7)."
-msgstr ""
-"System V IPC オブジェクトと IPC 名前空間の相互の影響に関する議論は "
-"B<namespaces>(7) を参照。"
+msgstr "System V IPC オブジェクトと IPC 名前空間の相互の影響に関する議論は B<ipc_namespaces>(7) を参照。"
 
 #. type: Plain text
 #: build/C/man7/sysvipc.7:120
-#, fuzzy
-#| msgid ""
-#| "B<ipcmk>(1), B<ipcrm>(1), B<ipcs>(1), B<ipc>(2), B<msgctl>(2), "
-#| "B<msgget>(2), B<msgrcv>(2), B<msgsnd>(2), B<semctl>(2), B<semget>(2), "
-#| "B<semop>(2), B<shmat>(2), B<shmctl>(2), B<shmdt>(2), B<shmget>(2), "
-#| "B<ftok>(3), B<namespaces>(7)"
 msgid ""
 "B<ipcmk>(1), B<ipcrm>(1), B<ipcs>(1), B<lsipc>(1), B<ipc>(2), B<msgctl>(2), "
 "B<msgget>(2), B<msgrcv>(2), B<msgsnd>(2), B<semctl>(2), B<semget>(2), "
 "B<semop>(2), B<shmat>(2), B<shmctl>(2), B<shmdt>(2), B<shmget>(2), "
 "B<ftok>(3), B<ipc_namespaces>(7)"
-msgstr ""
-"B<ipcmk>(1), B<ipcrm>(1), B<ipcs>(1), B<ipc>(2), B<msgctl>(2), B<msgget>(2), "
-"B<msgrcv>(2), B<msgsnd>(2), B<semctl>(2), B<semget>(2), B<semop>(2), "
-"B<shmat>(2), B<shmctl>(2), B<shmdt>(2), B<shmget>(2), B<ftok>(3), "
-"B<namespaces>(7)"
+msgstr "B<ipcmk>(1), B<ipcrm>(1), B<ipcs>(1), B<lsipc>(1), B<ipc>(2), B<msgctl>(2), B<msgget>(2), B<msgrcv>(2), B<msgsnd>(2), B<semctl>(2), B<semget>(2), B<semop>(2), B<shmat>(2), B<shmctl>(2), B<shmdt>(2), B<shmget>(2), B<ftok>(3), B<ipc_namespaces>(7)"
 
 #. type: TH
 #: build/C/man3/ulimit.3:27
@@ -13700,11 +12671,6 @@ msgstr "B<long ulimit(int >I<cmd>B<, long >I<newlimit>B<);>"
 
 #. type: Plain text
 #: build/C/man3/ulimit.3:46
-#, fuzzy
-#| msgid ""
-#| "Warning: This routine is obsolete.  Use B<getrlimit>(2), B<setrlimit>(2), "
-#| "and B<sysconf>(3)  instead.  For the shell command B<ulimit>(), see "
-#| "B<bash>(1)."
 msgid ""
 "Warning: this routine is obsolete.  Use B<getrlimit>(2), B<setrlimit>(2), "
 "and B<sysconf>(3)  instead.  For the shell command B<ulimit>(), see "
@@ -13786,17 +12752,14 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/ulimit.3:78
-#, fuzzy
-#| msgid "A unprivileged process tried to increase a limit."
 msgid "An unprivileged process tried to increase a limit."
 msgstr "非特権プロセスが制限値を増加させようとした。"
 
 #. type: tbl table
 #: build/C/man3/ulimit.3:88
-#, fuzzy, no-wrap
-#| msgid "prlimit()"
+#, no-wrap
 msgid "B<ulimit>()"
-msgstr "prlimit()"
+msgstr "B<ulimit>()"
 
 #. type: Plain text
 #: build/C/man3/ulimit.3:96
@@ -13905,10 +12868,9 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/seccomp.2:112
-#, fuzzy, no-wrap
-#| msgid "    prctl(PR_SET_SECCOMP, SECCOMP_MODE_STRICT);\n"
+#, no-wrap
 msgid "prctl(PR_SET_SECCOMP, SECCOMP_MODE_STRICT);\n"
-msgstr "    prctl(PR_SET_SECCOMP, SECCOMP_MODE_STRICT);\n"
+msgstr "prctl(PR_SET_SECCOMP, SECCOMP_MODE_STRICT);\n"
 
 #. type: TP
 #: build/C/man2/seccomp.2:114
@@ -13947,10 +12909,9 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/seccomp.2:155
-#, fuzzy, no-wrap
-#| msgid "    prctl(PR_SET_NO_NEW_PRIVS, 1);\n"
+#, no-wrap
 msgid "prctl(PR_SET_NO_NEW_PRIVS, 1);\n"
-msgstr "    prctl(PR_SET_NO_NEW_PRIVS, 1);\n"
+msgstr "prctl(PR_SET_NO_NEW_PRIVS, 1);\n"
 
 #. type: Plain text
 #: build/C/man2/seccomp.2:176
@@ -13990,10 +12951,9 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/seccomp.2:198
-#, fuzzy, no-wrap
-#| msgid "    prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, args);\n"
+#, no-wrap
 msgid "prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, args);\n"
-msgstr "    prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, args);\n"
+msgstr "prctl(PR_SET_SECCOMP, SECCOMP_MODE_FILTER, args);\n"
 
 #. type: Plain text
 #: build/C/man2/seccomp.2:204
@@ -14028,10 +12988,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/seccomp.2:221
-#, fuzzy, no-wrap
-#| msgid "B<CAP_LEASE> (since Linux 2.4)"
+#, no-wrap
 msgid "B<SECCOMP_FILTER_FLAG_LOG> (since Linux 4.14)"
-msgstr "B<CAP_LEASE> (Linux 2.4 以降)"
+msgstr "B<SECCOMP_FILTER_FLAG_LOG> (Linux 4.14 以降)"
 
 #.  commit e66a39977985b1e69e17c4042cb290768eca9b02
 #. type: Plain text
@@ -14044,10 +13003,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/seccomp.2:231
-#, fuzzy, no-wrap
-#| msgid "B<CAP_LEASE> (since Linux 2.4)"
+#, no-wrap
 msgid "B<SECCOMP_FILTER_FLAG_SPEC_ALLOW> (since Linux 4.17)"
-msgstr "B<CAP_LEASE> (Linux 2.4 以降)"
+msgstr "B<SECCOMP_FILTER_FLAG_SPEC_ALLOW> (Linux 4.17 以降)"
 
 #.  commit 00a02d0c502a06d15e07b857f8ff921e3e402675
 #. type: Plain text
@@ -14057,10 +13015,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/seccomp.2:236
-#, fuzzy, no-wrap
-#| msgid "B<CAP_AUDIT_CONTROL> (since Linux 2.6.11)"
+#, no-wrap
 msgid "B<SECCOMP_GET_ACTION_AVAIL> (since Linux 4.14)"
-msgstr "B<CAP_AUDIT_CONTROL> (Linux 2.6.11 以降)"
+msgstr "B<SECCOMP_GET_ACTION_AVAIL> (Linux 4.14 以降)"
 
 #.  commit d612b1fd8010d0d67b5287fe146b8b55bcbb8655
 #. type: Plain text
@@ -14298,10 +13255,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/seccomp.2:444
-#, fuzzy, no-wrap
-#| msgid "B<CAP_LEASE> (since Linux 2.4)"
+#, no-wrap
 msgid "B<SECCOMP_RET_KILL_PROCESS> (since Linux 4.14)"
-msgstr "B<CAP_LEASE> (Linux 2.4 以降)"
+msgstr "B<SECCOMP_RET_KILL_PROCESS> (Linux 4.14 以降)"
 
 #.  commit 4d3b0b05aae9ee9ce0970dc4cc0fb3fad5e85945
 #.  commit 0466bdb99e8744bc9befa8d62a317f0fd7fd7421
@@ -14502,10 +13458,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/seccomp.2:613
-#, fuzzy, no-wrap
-#| msgid "B<CAP_LEASE> (since Linux 2.4)"
+#, no-wrap
 msgid "B<SECCOMP_RET_LOG> (since Linux 4.14)"
-msgstr "B<CAP_LEASE> (Linux 2.4 以降)"
+msgstr "B<SECCOMP_RET_LOG> (Linux 4.14 以降)"
 
 #.  commit 59f5cf44a38284eb9e76270c786fb6cc62ef8ac4
 #. type: Plain text
@@ -14539,10 +13494,9 @@ msgstr ""
 #
 #. type: SS
 #: build/C/man2/seccomp.2:635
-#, fuzzy, no-wrap
-#| msgid "/proc and PID namespaces"
+#, no-wrap
 msgid "/proc interfaces"
-msgstr "/proc ã\81¨ PID å\90\8då\89\8d空é\96\93"
+msgstr "/proc ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹"
 
 #. type: Plain text
 #: build/C/man2/seccomp.2:639
@@ -14553,10 +13507,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/seccomp.2:639
-#, fuzzy, no-wrap
-#| msgid "I<ru_nvcsw> (since Linux 2.6)"
+#, no-wrap
 msgid "I<actions_avail> (since Linux 4.14)"
-msgstr "I<ru_nvcsw> (Linux 2.6 以降)"
+msgstr "I<actions_avail> (Linux 4.14 以降)"
 
 #.  commit 8e5f1ad116df6b0de65eac458d5e7c318d1c05af
 #. type: Plain text
@@ -14570,10 +13523,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/seccomp.2:646
-#, fuzzy, no-wrap
-#| msgid "I<ru_inblock> (since Linux 2.6.22)"
+#, no-wrap
 msgid "I<actions_logged> (since Linux 4.14)"
-msgstr "I<ru_inblock> (Linux 2.6.22 以降)"
+msgstr "I<actions_logged> (Linux 4.14 以降)"
 
 #.  commit 0ddec0fc8900201c0897b87b762b7c420436662f
 #. type: Plain text
@@ -14811,53 +13763,39 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/seccomp.2:844
-#, fuzzy
-#| msgid "B<CAP_WAKE_ALARM> (since Linux 3.0)"
 msgid "ARM (since Linux 3.8)"
-msgstr "B<CAP_WAKE_ALARM> (Linux 3.0 以降)"
+msgstr "ARM (Linux 3.8 以降)"
 
 #. type: Plain text
 #: build/C/man2/seccomp.2:846
-#, fuzzy
-#| msgid "I<ru_nvcsw> (since Linux 2.6)"
 msgid "s390 (since Linux 3.8)"
-msgstr "I<ru_nvcsw> (Linux 2.6 以降)"
+msgstr "s390 (Linux 3.8 以降)"
 
 #. type: Plain text
 #: build/C/man2/seccomp.2:848
-#, fuzzy
-#| msgid "I<ru_nvcsw> (since Linux 2.6)"
 msgid "MIPS (since Linux 3.16)"
-msgstr "I<ru_nvcsw> (Linux 2.6 以降)"
+msgstr "MIPS (Linux 3.16 以降)"
 
 #. type: Plain text
 #: build/C/man2/seccomp.2:850
-#, fuzzy
-#| msgid "B<CAP_WAKE_ALARM> (since Linux 3.0)"
 msgid "ARM-64 (since Linux 3.19)"
-msgstr "B<CAP_WAKE_ALARM> (Linux 3.0 以降)"
+msgstr "ARM-64 (Linux 3.19 以降)"
 
 #. type: Plain text
 #: build/C/man2/seccomp.2:852
-#, fuzzy
-#| msgid "I<ru_nvcsw> (since Linux 2.6)"
 msgid "PowerPC (since Linux 4.3)"
-msgstr "I<ru_nvcsw> (Linux 2.6 以降)"
+msgstr "PowerPC (Linux 4.3 以降)"
 
 #. type: Plain text
 #: build/C/man2/seccomp.2:854
-#, fuzzy
-#| msgid "I<ru_nivcsw> (since Linux 2.6)"
 msgid "Tile (since Linux 4.3)"
-msgstr "I<ru_nivcsw> (Linux 2.6 以降)"
+msgstr "Tile (Linux 4.3 以降)"
 
 #.  User mode Linux since Linux 4.6
 #. type: Plain text
 #: build/C/man2/seccomp.2:857
-#, fuzzy
-#| msgid "B<CAP_LEASE> (since Linux 2.4)"
 msgid "PA-RISC (since Linux 4.6)"
-msgstr "B<CAP_LEASE> (Linux 2.4 以降)"
+msgstr "PA-RISC (Linux 4.6 以降)"
 
 #. type: SS
 #: build/C/man2/seccomp.2:859
@@ -15042,14 +13980,7 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/seccomp.2:984
-#, fuzzy, 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"
+#, no-wrap
 msgid ""
 "$ B<uname -m>\n"
 "x86_64\n"
@@ -15062,7 +13993,7 @@ msgstr ""
 "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"
+"    awk \\(aq$2 != \"x32\" && $3 == \"\\(aq$1\\(aq\" { print $1 }\\(aq\n"
 "}>\n"
 
 #. type: Plain text
@@ -15217,16 +14148,7 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/seccomp.2:1076
-#, fuzzy, 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"
+#, no-wrap
 msgid ""
 "    struct sock_filter filter[] = {\n"
 "        /* [0] Load architecture from \\(aqseccomp_data\\(aq buffer into\n"
@@ -15234,46 +14156,34 @@ msgid ""
 "        BPF_STMT(BPF_LD | BPF_W | BPF_ABS,\n"
 "                 (offsetof(struct seccomp_data, arch))),\n"
 msgstr ""
-"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"
+"        /* [0] Load architecture from \\(aqseccomp_data\\(aq buffer into\n"
 "               accumulator */\n"
 "        BPF_STMT(BPF_LD | BPF_W | BPF_ABS,\n"
 "                 (offsetof(struct seccomp_data, arch))),\n"
 
 #. type: Plain text
 #: build/C/man2/seccomp.2:1080
-#, fuzzy, 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"
+#, no-wrap
 msgid ""
 "        /* [1] Jump forward 5 instructions if architecture does not\n"
 "               match \\(aqt_arch\\(aq */\n"
 "        BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, t_arch, 0, 5),\n"
 msgstr ""
-"        /* [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"
+"        /* [1] Jump forward 5 instructions if architecture does not\n"
+"               match \\(aqt_arch\\(aq */\n"
+"        BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, t_arch, 0, 5),\n"
 
 #. type: Plain text
 #: build/C/man2/seccomp.2:1085
-#, fuzzy, 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"
+#, no-wrap
 msgid ""
 "        /* [2] Load system call number from \\(aqseccomp_data\\(aq buffer into\n"
 "               accumulator */\n"
 "        BPF_STMT(BPF_LD | BPF_W | BPF_ABS,\n"
 "                 (offsetof(struct seccomp_data, nr))),\n"
 msgstr ""
-"        /* [2] Load system call number from 'seccomp_data' buffer into\n"
+"        /* [2] Load system call number from \\(aqseccomp_data\\(aq buffer into\n"
 "               accumulator */\n"
 "        BPF_STMT(BPF_LD | BPF_W | BPF_ABS,\n"
 "                 (offsetof(struct seccomp_data, nr))),\n"
@@ -15290,79 +14200,57 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/seccomp.2:1094
-#, fuzzy, 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"
+#, no-wrap
 msgid ""
 "        /* [4] Jump forward 1 instruction if system call number\n"
 "               does not match \\(aqsyscall_nr\\(aq */\n"
 "        BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, syscall_nr, 0, 1),\n"
 msgstr ""
-"        /* [3] Jump forward 1 instruction if system call number\n"
-"               does not match 'syscall_nr' */\n"
+"        /* [4] Jump forward 1 instruction if system call number\n"
+"               does not match \\(aqsyscall_nr\\(aq */\n"
 "        BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, syscall_nr, 0, 1),\n"
 
 #. type: Plain text
 #: build/C/man2/seccomp.2:1099
-#, fuzzy, 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"
+#, no-wrap
 msgid ""
 "        /* [5] Matching architecture and system call: don\\(aqt execute\n"
 "           the system call, and return \\(aqf_errno\\(aq in \\(aqerrno\\(aq */\n"
 "        BPF_STMT(BPF_RET | BPF_K,\n"
 "                 SECCOMP_RET_ERRNO | (f_errno & SECCOMP_RET_DATA)),\n"
 msgstr ""
-"        /* [4] Matching architecture and system call: don't execute\n"
-"\t       the system call, and return 'f_errno' in 'errno' */\n"
+"        /* [5] Matching architecture and system call: don\\(aqt execute\n"
+"           the system call, and return \\(aqf_errno\\(aq in \\(aqerrno\\(aq */\n"
 "        BPF_STMT(BPF_RET | BPF_K,\n"
 "                 SECCOMP_RET_ERRNO | (f_errno & SECCOMP_RET_DATA)),\n"
 
 #. type: Plain text
 #: build/C/man2/seccomp.2:1103
-#, fuzzy, 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"
+#, no-wrap
 msgid ""
 "        /* [6] Destination of system call number mismatch: allow other\n"
 "               system calls */\n"
 "        BPF_STMT(BPF_RET | BPF_K, SECCOMP_RET_ALLOW),\n"
 msgstr ""
-"        /* [5] Destination of system call number mismatch: allow other\n"
+"        /* [6] Destination of system call number mismatch: allow other\n"
 "               system calls */\n"
 "        BPF_STMT(BPF_RET | BPF_K, SECCOMP_RET_ALLOW),\n"
 
 #. type: Plain text
 #: build/C/man2/seccomp.2:1107
-#, fuzzy, no-wrap
-#| msgid ""
-#| "        /* [6] Destination of architecture mismatch: kill process */\n"
-#| "        BPF_STMT(BPF_RET | BPF_K, SECCOMP_RET_KILL),\n"
-#| "    };\n"
+#, no-wrap
 msgid ""
 "        /* [7] Destination of architecture mismatch: kill process */\n"
 "        BPF_STMT(BPF_RET | BPF_K, SECCOMP_RET_KILL_PROCESS),\n"
 "    };\n"
 msgstr ""
-"        /* [6] Destination of architecture mismatch: kill process */\n"
-"        BPF_STMT(BPF_RET | BPF_K, SECCOMP_RET_KILL),\n"
+"        /* [7] Destination of architecture mismatch: kill process */\n"
+"        BPF_STMT(BPF_RET | BPF_K, SECCOMP_RET_KILL_PROCESS),\n"
 "    };\n"
 
 #. type: Plain text
 #: build/C/man2/seccomp.2:1112
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    struct sock_fprog prog = {\n"
-#| "        .len = (unsigned short) (sizeof(filter) / sizeof(filter[0])),\n"
-#| "        .filter = filter,\n"
-#| "    };\n"
+#, no-wrap
 msgid ""
 "    struct sock_fprog prog = {\n"
 "        .len = ARRAY_SIZE(filter),\n"
@@ -15370,7 +14258,7 @@ msgid ""
 "    };\n"
 msgstr ""
 "    struct sock_fprog prog = {\n"
-"        .len = (unsigned short) (sizeof(filter) / sizeof(filter[0])),\n"
+"        .len = ARRAY_SIZE(filter),\n"
 "        .filter = filter,\n"
 "    };\n"
 
@@ -15470,13 +14358,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/seccomp.2:1158
-#, fuzzy
-#| msgid ""
-#| "B<prctl>(2), B<ptrace>(2), B<sigaction>(2), B<signal>(7), B<socket>(7)"
 msgid ""
 "B<bpfc>(1), B<strace>(1), B<bpf>(2), B<prctl>(2), B<ptrace>(2), "
 "B<sigaction>(2), B<proc>(5), B<signal>(7), B<socket>(7)"
-msgstr "B<prctl>(2), B<ptrace>(2), B<sigaction>(2), B<signal>(7), B<socket>(7)"
+msgstr "B<bpfc>(1), B<strace>(1), B<bpf>(2), B<prctl>(2), B<ptrace>(2), B<sigaction>(2), B<proc>(5), B<signal>(7), B<socket>(7)"
 
 #. type: Plain text
 #: build/C/man2/seccomp.2:1168
@@ -15512,10 +14397,9 @@ msgstr ""
 
 #. type: TH
 #: build/C/man7/cgroups.7:26
-#, fuzzy, no-wrap
-#| msgid "GETGROUPS"
+#, no-wrap
 msgid "CGROUPS"
-msgstr "GETGROUPS"
+msgstr "CGROUPS"
 
 #. type: Plain text
 #: build/C/man7/cgroups.7:29
@@ -15861,10 +14745,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/cgroups.7:297
-#, fuzzy, no-wrap
-#| msgid "I<cpuset.mem_hardwall> (since Linux 2.6.26)"
+#, no-wrap
 msgid "I<cpuset> (since Linux 2.6.24; B<CONFIG_CPUSETS>)"
-msgstr "I<cpuset.mem_hardwall> (Linux 2.6.26 以降)"
+msgstr "I<cpuset> (Linux 2.6.24 以降; B<CONFIG_CPUSETS>)"
 
 #. type: Plain text
 #: build/C/man7/cgroups.7:301
@@ -15883,10 +14766,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/cgroups.7:308
-#, fuzzy, no-wrap
-#| msgid "I<ru_maxrss> (since Linux 2.6.32)"
+#, no-wrap
 msgid "I<memory> (since Linux 2.6.25; B<CONFIG_MEMCG>)"
-msgstr "I<ru_maxrss> (Linux 2.6.32 以降)"
+msgstr "I<memory> (Linux 2.6.25 以降; B<CONFIG_MEMCG>)"
 
 #. type: Plain text
 #: build/C/man7/cgroups.7:312
@@ -15907,7 +14789,7 @@ msgstr ""
 #: build/C/man7/cgroups.7:318
 #, no-wrap
 msgid "I<devices> (since Linux 2.6.26; B<CONFIG_CGROUP_DEVICE>)"
-msgstr ""
+msgstr "I<devices> (Linux 2.6.26 以降; B<CONFIG_CGROUP_DEVICE>)"
 
 #. type: Plain text
 #: build/C/man7/cgroups.7:325
@@ -15930,7 +14812,7 @@ msgstr ""
 #: build/C/man7/cgroups.7:331
 #, no-wrap
 msgid "I<freezer> (since Linux 2.6.28; B<CONFIG_CGROUP_FREEZER>)"
-msgstr ""
+msgstr "I<freezer> (Linux 2.6.28 以降; B<CONFIG_CGROUP_FREEZER>)"
 
 #. type: Plain text
 #: build/C/man7/cgroups.7:341
@@ -16443,10 +15325,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/cgroups.7:675 build/C/man7/cgroups.7:1907
-#, fuzzy, no-wrap
-#| msgid "I<cpuset.memory_migrate> (since Linux 2.6.16)"
+#, no-wrap
 msgid "I<nsdelegate> (since Linux 4.15)"
-msgstr "I<cpuset.memory_migrate> (Linux 2.6.16 以降)"
+msgstr "I<nsdelegate> (Linux 4.15 以降)"
 
 #. type: Plain text
 #: build/C/man7/cgroups.7:679
@@ -16456,10 +15337,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/cgroups.7:679 build/C/man7/cgroups.7:1902
-#, fuzzy, no-wrap
-#| msgid "I<ru_inblock> (since Linux 2.6.22)"
+#, no-wrap
 msgid "I<memory_localevents> (since Linux 5.2)"
-msgstr "I<ru_inblock> (Linux 2.6.22 以降)"
+msgstr "I<memory_localevents> (Linux 5.2 以降)"
 
 #.  commit 9852ae3fe5293264f01c49f2571ef7688f7823ce
 #. type: Plain text
@@ -16490,10 +15370,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/cgroups.7:702
-#, fuzzy, no-wrap
-#| msgid "I<ru_nvcsw> (since Linux 2.6)"
+#, no-wrap
 msgid "I<cpu> (since Linux 4.15)"
-msgstr "I<ru_nvcsw> (Linux 2.6 以降)"
+msgstr "I<cpu> (Linux 4.15 以降)"
 
 #. type: Plain text
 #: build/C/man7/cgroups.7:709
@@ -16503,10 +15382,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/cgroups.7:709
-#, fuzzy, no-wrap
-#| msgid "I</proc/[pid]/ns/net> (since Linux 3.0)"
+#, no-wrap
 msgid "I<cpuset> (since Linux 5.0)"
-msgstr "I</proc/[pid]/ns/net> (Linux 3.0 以降)"
+msgstr "I<cpuset> (Linux 5.0 以降)"
 
 #. type: Plain text
 #: build/C/man7/cgroups.7:714
@@ -16515,10 +15393,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/cgroups.7:714
-#, fuzzy, no-wrap
-#| msgid "I<ru_maxrss> (since Linux 2.6.32)"
+#, no-wrap
 msgid "I<freezer> (since Linux 5.2)"
-msgstr "I<ru_maxrss> (Linux 2.6.32 以降)"
+msgstr "I<freezer> (Linux 5.2 以降)"
 
 #.  commit 76f969e8948d82e78e1bc4beb6b9465908e74873
 #. type: Plain text
@@ -16528,10 +15405,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/cgroups.7:720
-#, fuzzy, no-wrap
-#| msgid "I<ru_nvcsw> (since Linux 2.6)"
+#, no-wrap
 msgid "I<hugetlb> (since Linux 5.6)"
-msgstr "I<ru_nvcsw> (Linux 2.6 以降)"
+msgstr "I<hugetlb> (Linux 5.6 以降)"
 
 #. type: Plain text
 #: build/C/man7/cgroups.7:725
@@ -16540,10 +15416,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/cgroups.7:725
-#, fuzzy, no-wrap
-#| msgid "I<ru_nivcsw> (since Linux 2.6)"
+#, no-wrap
 msgid "I<io> (since Linux 4.5)"
-msgstr "I<ru_nivcsw> (Linux 2.6 以降)"
+msgstr "I<io> (Linux 4.5 以降)"
 
 #. type: Plain text
 #: build/C/man7/cgroups.7:730
@@ -16552,10 +15427,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/cgroups.7:730
-#, fuzzy, no-wrap
-#| msgid "I<ru_nvcsw> (since Linux 2.6)"
+#, no-wrap
 msgid "I<memory> (since Linux 4.5)"
-msgstr "I<ru_nvcsw> (Linux 2.6 以降)"
+msgstr "I<memory> (Linux 4.5 以降)"
 
 #. type: Plain text
 #: build/C/man7/cgroups.7:735
@@ -16564,10 +15438,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/cgroups.7:735
-#, fuzzy, no-wrap
-#| msgid "I<ru_nvcsw> (since Linux 2.6)"
+#, no-wrap
 msgid "I<perf_event> (since Linux 4.11)"
-msgstr "I<ru_nvcsw> (Linux 2.6 以降)"
+msgstr "I<perf_event> (Linux 4.11 以降)"
 
 #. type: Plain text
 #: build/C/man7/cgroups.7:740
@@ -16576,10 +15449,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/cgroups.7:740
-#, fuzzy, no-wrap
-#| msgid "I<ru_nivcsw> (since Linux 2.6)"
+#, no-wrap
 msgid "I<pids> (since Linux 4.5)"
-msgstr "I<ru_nivcsw> (Linux 2.6 以降)"
+msgstr "I<pids> (Linux 4.5 以降)"
 
 #. type: Plain text
 #: build/C/man7/cgroups.7:745
@@ -16588,10 +15460,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/cgroups.7:745
-#, fuzzy, no-wrap
-#| msgid "I<ru_maxrss> (since Linux 2.6.32)"
+#, no-wrap
 msgid "I<rdma> (since Linux 4.11)"
-msgstr "I<ru_maxrss> (Linux 2.6.32 以降)"
+msgstr "I<rdma> (Linux 4.11 以降)"
 
 #. type: Plain text
 #: build/C/man7/cgroups.7:750
@@ -16772,10 +15643,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/cgroups.7:893
-#, fuzzy, no-wrap
-#| msgid "Isolates"
+#, no-wrap
 msgid "I<populated>"
-msgstr "分離対象"
+msgstr "I<populated>"
 
 #. type: Plain text
 #: build/C/man7/cgroups.7:898
@@ -16786,10 +15656,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/cgroups.7:898
-#, fuzzy, no-wrap
-#| msgid "I<ru_nvcsw> (since Linux 2.6)"
+#, no-wrap
 msgid "I<frozen> (since Linux 5.2)"
-msgstr "I<ru_nvcsw> (Linux 2.6 以降)"
+msgstr "I<frozen> (Linux 5.2 以降)"
 
 #.  commit 76f969e8948d82e78e1bc4beb6b9465908e7487
 #. type: Plain text
@@ -16918,10 +15787,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/cgroups.7:986
-#, fuzzy, no-wrap
-#| msgid "I<ru_maxrss> (since Linux 2.6.32)"
+#, no-wrap
 msgid "I<cgroup.max.depth> (since Linux 4.14)"
-msgstr "I<ru_maxrss> (Linux 2.6.32 以降)"
+msgstr "I<cgroup.max.depth> (Linux 4.14 以降)"
 
 #.  commit 1a926e0bbab83bae8207d05a533173425e0496d1
 #. type: Plain text
@@ -16942,10 +15810,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/cgroups.7:1002
-#, fuzzy, no-wrap
-#| msgid "I<ru_maxrss> (since Linux 2.6.32)"
+#, no-wrap
 msgid "I<cgroup.max.descendants> (since Linux 4.14)"
-msgstr "I<ru_maxrss> (Linux 2.6.32 以降)"
+msgstr "I<cgroup.max.descendants> (Linux 4.14 以降)"
 
 #.  commit 1a926e0bbab83bae8207d05a533173425e0496d1
 #. type: Plain text
@@ -17369,7 +16236,7 @@ msgstr ""
 #: build/C/man7/cgroups.7:1324
 #, no-wrap
 msgid "I<domain>"
-msgstr ""
+msgstr "I<domain>"
 
 #. type: Plain text
 #: build/C/man7/cgroups.7:1332
@@ -17385,7 +16252,7 @@ msgstr ""
 #: build/C/man7/cgroups.7:1332
 #, no-wrap
 msgid "I<threaded>"
-msgstr ""
+msgstr "I<threaded>"
 
 #. type: Plain text
 #: build/C/man7/cgroups.7:1337
@@ -17398,7 +16265,7 @@ msgstr ""
 #: build/C/man7/cgroups.7:1337
 #, no-wrap
 msgid "I<domain threaded>"
-msgstr ""
+msgstr "I<domain threaded>"
 
 #. type: Plain text
 #: build/C/man7/cgroups.7:1341
@@ -17409,10 +16276,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/cgroups.7:1341
-#, fuzzy, no-wrap
-#| msgid "I<who> is invalid."
+#, no-wrap
 msgid "I<domain invalid>"
-msgstr "I<who> が無効である。"
+msgstr "I<domain invalid>"
 
 #. type: Plain text
 #: build/C/man7/cgroups.7:1355
@@ -17909,10 +16775,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/cgroups.7:1769
-#, fuzzy, no-wrap
-#| msgid "I<ru_maxrss> (since Linux 2.6.32)"
+#, no-wrap
 msgid "I</proc/cgroups> (since Linux 2.6.24)"
-msgstr "I<ru_maxrss> (Linux 2.6.32 以降)"
+msgstr "I</proc/cgroups> (Linux 2.6.24 以降)"
 
 #. type: Plain text
 #: build/C/man7/cgroups.7:1775
@@ -17998,10 +16863,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man7/cgroups.7:1819
-#, fuzzy, no-wrap
-#| msgid "I</proc/[pid]/ns/ipc> (since Linux 3.0)"
+#, no-wrap
 msgid "I</proc/[pid]/cgroup> (since Linux 2.6.24)"
-msgstr "I</proc/[pid]/ns/ipc> (Linux 3.0 以降)"
+msgstr "I</proc/[pid]/cgroup> (Linux 2.6.24 以降)"
 
 #. type: Plain text
 #: build/C/man7/cgroups.7:1825
@@ -18074,7 +16938,7 @@ msgstr ""
 #: build/C/man7/cgroups.7:1863
 #, no-wrap
 msgid "I</sys/kernel/cgroup/delegate> (since Linux 4.15)"
-msgstr ""
+msgstr "I</sys/kernel/cgroup/delegate> (Linux 4.15 以降)"
 
 #.  commit 01ee6cfb1483fe57c9cbd8e73817dfbf9bacffd3
 #. type: Plain text
@@ -18097,13 +16961,16 @@ msgid ""
 "cgroup.subtree_control\n"
 "cgroup.threads\n"
 msgstr ""
+"$ B<cat /sys/kernel/cgroup/delegate>\n"
+"cgroup.procs\n"
+"cgroup.subtree_control\n"
+"cgroup.threads\n"
 
 #. type: TP
 #: build/C/man7/cgroups.7:1882
-#, fuzzy, no-wrap
-#| msgid "I<cpuset.memory_pressure> (since Linux 2.6.16)"
+#, no-wrap
 msgid "I</sys/kernel/cgroup/features> (since Linux 4.15)"
-msgstr "I<cpuset.memory_pressure> (Linux 2.6.16 以降)"
+msgstr "I</sys/kernel/cgroup/features> (Linux 4.15 以降)"
 
 #.  commit 5f2e673405b742be64e7c3604ed4ed3ac14f35ce
 #. type: Plain text
@@ -18124,6 +16991,9 @@ msgid ""
 "nsdelegate\n"
 "memory_localevents\n"
 msgstr ""
+"$ B<cat /sys/kernel/cgroup/features>\n"
+"nsdelegate\n"
+"memory_localevents\n"
 
 #. type: Plain text
 #: build/C/man7/cgroups.7:1901
@@ -18142,29 +17012,17 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man7/cgroups.7:1927
-#, fuzzy
-#| msgid ""
-#| "B<newgidmap>(1), B<newuidmap>(1), B<clone>(2), B<setns>(2), "
-#| "B<unshare>(2), B<proc>(5), B<subgid>(5), B<subuid>(5), B<credentials>(7), "
-#| "B<capabilities>(7), B<namespaces>(7), B<pid_namespaces>(7)"
 msgid ""
 "B<prlimit>(1), B<systemd>(1), B<systemd-cgls>(1), B<systemd-cgtop>(1), "
 "B<clone>(2), B<ioprio_set>(2), B<perf_event_open>(2), B<setrlimit>(2), "
 "B<cgroup_namespaces>(7), B<cpuset>(7), B<namespaces>(7), B<sched>(7), "
 "B<user_namespaces>(7)"
-msgstr ""
-"B<newgidmap>(1), B<newuidmap>(1), B<clone>(2), B<setns>(2), B<unshare>(2), "
-"B<proc>(5), B<subgid>(5), B<subuid>(5), B<credentials>(7), "
-"B<capabilities>(7), B<namespaces>(7), B<pid_namespaces>(7)"
+msgstr "B<prlimit>(1), B<systemd>(1), B<systemd-cgls>(1), B<systemd-cgtop>(1), B<clone>(2), B<ioprio_set>(2), B<perf_event_open>(2), B<setrlimit>(2), B<cgroup_namespaces>(7), B<cpuset>(7), B<namespaces>(7), B<sched>(7), B<user_namespaces>(7)"
 
 #. type: Plain text
 #: build/C/man7/cgroups.7:1930
-#, fuzzy
-#| msgid ""
-#| "The kernel source file I<Documentation/namespaces/resource-control.txt>."
 msgid "The kernel source file I<Documentation/admin-guide/cgroup-v2.rst>."
-msgstr ""
-"カーネルのソースファイル I<Documentation/namespaces/resource-control.txt>"
+msgstr "カーネルのソースファイル I<Documentation/admin-guide/cgroup-v2.rst>"
 
 #. type: TH
 #: build/C/man2/pidfd_getfd.2:25
@@ -18174,10 +17032,9 @@ msgstr ""
 
 #. type: TH
 #: build/C/man2/pidfd_getfd.2:25
-#, fuzzy, no-wrap
-#| msgid "2014-03-30"
+#, no-wrap
 msgid "2020-03-31"
-msgstr "2014-03-30"
+msgstr "2020-03-31"
 
 #. type: Plain text
 #: build/C/man2/pidfd_getfd.2:28
@@ -18186,10 +17043,9 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/pidfd_getfd.2:31
-#, fuzzy, no-wrap
-#| msgid "B<int getresuid(uid_t *>I<ruid>B<, uid_t *>I<euid>B<, uid_t *>I<suid>B<);>"
+#, no-wrap
 msgid "B<int pidfd_getfd(int >I<pidfd>B<, int >I<targetfd>B<, unsigned int >I<flags>B<);>\n"
-msgstr "B<int getresuid(uid_t *>I<ruid>B<, uid_t *>I<euid>B<, uid_t *>I<suid>B<);>"
+msgstr "B<int pidfd_getfd(int >I<pidfd>B<, int >I<targetfd>B<, unsigned int >I<flags>B<);>\n"
 
 #. type: Plain text
 #: build/C/man2/pidfd_getfd.2:40
@@ -18249,10 +17105,9 @@ msgstr ""
 #. type: TP
 #: build/C/man2/pidfd_getfd.2:76 build/C/man2/pidfd_getfd.2:80
 #: build/C/man2/pidfd_send_signal.2:98
-#, fuzzy, no-wrap
-#| msgid "B<EBUSY>"
+#, no-wrap
 msgid "B<EBADF>"
-msgstr "B<EBUSY>"
+msgstr "B<EBADF>"
 
 #. type: Plain text
 #: build/C/man2/pidfd_getfd.2:80 build/C/man2/pidfd_send_signal.2:102
@@ -18274,10 +17129,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man2/pidfd_getfd.2:89 build/C/man2/pidfd_open.2:63
-#, fuzzy, no-wrap
-#| msgid "B<ENFILE>"
+#, no-wrap
 msgid "B<EMFILE>"
-msgstr "B<ENFILE>"
+msgstr "B<EMFILE>"
 
 #. type: Plain text
 #: build/C/man2/pidfd_getfd.2:96 build/C/man2/pidfd_open.2:70
@@ -18309,17 +17163,13 @@ msgstr ""
 #.  commit 8649c322f75c96e7ced2fec201e123b2b073bf09
 #. type: Plain text
 #: build/C/man2/pidfd_getfd.2:117
-#, fuzzy
-#| msgid "The B<seccomp>()  system call first appeared in Linux 3.17."
 msgid "B<pidfd_getfd>()  first appeared in Linux 5.6."
-msgstr "B<seccomp>() システムコールは Linux 3.17 で初めて登場した。"
+msgstr "B<pidfd_getfd>() は Linux 5.6 で初めて登場した。"
 
 #. type: Plain text
 #: build/C/man2/pidfd_getfd.2:120
-#, fuzzy
-#| msgid "B<prlimit>(): Linux-specific."
 msgid "B<pidfd_getfd>()  is Linux specific."
-msgstr "B<prlimit>(): Linux 固有。"
+msgstr "B<pidfd_getfd>() は Linux 固有である。"
 
 #. type: Plain text
 #: build/C/man2/pidfd_getfd.2:123 build/C/man2/pidfd_open.2:93
@@ -18371,10 +17221,8 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/pidfd_getfd.2:157
-#, fuzzy
-#| msgid "B<clone>(2), B<gettid>(2), B<capabilities>(7)"
 msgid "B<clone3>(2), B<dup>(2), B<kcmp>(2), B<pidfd_open>(2)"
-msgstr "B<clone>(2), B<gettid>(2), B<capabilities>(7)"
+msgstr "B<clone3>(2), B<dup>(2), B<kcmp>(2), B<pidfd_open>(2)"
 
 #. type: TH
 #: build/C/man2/pidfd_open.2:25
@@ -18389,17 +17237,15 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/pidfd_open.2:31
-#, fuzzy, no-wrap
-#| msgid "B<#include E<lt>sys/types.hE<gt>>"
+#, no-wrap
 msgid "B<#include E<lt>sys/types.hE<gt>>\n"
-msgstr "B<#include E<lt>sys/types.hE<gt>>"
+msgstr "B<#include E<lt>sys/types.hE<gt>>\n"
 
 #. type: Plain text
 #: build/C/man2/pidfd_open.2:33
-#, fuzzy, no-wrap
-#| msgid "B<int setpgid(pid_t >I<pid>B<, pid_t >I<pgid>B<);>"
+#, no-wrap
 msgid "B<int pidfd_open(pid_t >I<pid>B<, unsigned int >I<flags>B<);>\n"
-msgstr "B<int setpgid(pid_t >I<pid>B<, pid_t >I<pgid>B<);>"
+msgstr "B<int pidfd_open(pid_t >I<pid>B<, unsigned int >I<flags>B<);>\n"
 
 #. type: Plain text
 #: build/C/man2/pidfd_open.2:42
@@ -18433,10 +17279,8 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/pidfd_open.2:63
-#, fuzzy
-#| msgid "I<who> is invalid."
 msgid "I<pid> is not valid."
-msgstr "I<who> が無効である。"
+msgstr "I<pid> が有効ではない。"
 
 #. type: Plain text
 #: build/C/man2/pidfd_open.2:76
@@ -18450,24 +17294,18 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/pidfd_open.2:84
-#, fuzzy
-#| msgid "The specified filename does not exist."
 msgid "The process specified by I<pid> does not exist."
-msgstr "指定されたファイルが存在しない。"
+msgstr "I<pid> で指定されたプロセスが存在しない。"
 
 #. type: Plain text
 #: build/C/man2/pidfd_open.2:87
-#, fuzzy
-#| msgid "The B<seccomp>()  system call first appeared in Linux 3.17."
 msgid "B<pidfd_open>()  first appeared in Linux 5.3."
-msgstr "B<seccomp>() システムコールは Linux 3.17 で初めて登場した。"
+msgstr "B<pidfd_open>() は Linux 5.3 で初めて登場した。"
 
 #. type: Plain text
 #: build/C/man2/pidfd_open.2:90
-#, fuzzy
-#| msgid "B<prlimit>(): Linux-specific."
 msgid "B<pidfd_open>()  is Linux specific."
-msgstr "B<prlimit>(): Linux 固有。"
+msgstr "B<pidfd_open>() は Linux 固有である。"
 
 #. type: Plain text
 #: build/C/man2/pidfd_open.2:97
@@ -18600,15 +17438,7 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/pidfd_open.2:219
-#, fuzzy, no-wrap
-#| msgid ""
-#| "#define _GNU_SOURCE\n"
-#| "#define _FILE_OFFSET_BITS 64\n"
-#| "#include E<lt>stdio.hE<gt>\n"
-#| "#include E<lt>time.hE<gt>\n"
-#| "#include E<lt>stdlib.hE<gt>\n"
-#| "#include E<lt>unistd.hE<gt>\n"
-#| "#include E<lt>sys/resource.hE<gt>\n"
+#, no-wrap
 msgid ""
 "#define _GNU_SOURCE\n"
 "#include E<lt>sys/types.hE<gt>\n"
@@ -18619,12 +17449,12 @@ msgid ""
 "#include E<lt>stdio.hE<gt>\n"
 msgstr ""
 "#define _GNU_SOURCE\n"
-"#define _FILE_OFFSET_BITS 64\n"
-"#include E<lt>stdio.hE<gt>\n"
-"#include E<lt>time.hE<gt>\n"
-"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>sys/types.hE<gt>\n"
+"#include E<lt>sys/syscall.hE<gt>\n"
 "#include E<lt>unistd.hE<gt>\n"
-"#include E<lt>sys/resource.hE<gt>\n"
+"#include E<lt>poll.hE<gt>\n"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>stdio.hE<gt>\n"
 
 #. type: Plain text
 #: build/C/man2/pidfd_open.2:223
@@ -18634,6 +17464,9 @@ msgid ""
 "#define __NR_pidfd_open 434   /* System call # on most architectures */\n"
 "#endif\n"
 msgstr ""
+"#ifndef __NR_pidfd_open\n"
+"#define __NR_pidfd_open 434   /* System call # on most architectures */\n"
+"#endif\n"
 
 #. type: Plain text
 #: build/C/man2/pidfd_open.2:229
@@ -18645,17 +17478,15 @@ msgid ""
 "    return syscall(__NR_pidfd_open, pid, flags);\n"
 "}\n"
 msgstr ""
+"static int\n"
+"pidfd_open(pid_t pid, unsigned int flags)\n"
+"{\n"
+"    return syscall(__NR_pidfd_open, pid, flags);\n"
+"}\n"
 
 #. type: Plain text
 #: build/C/man2/pidfd_open.2:235
-#, fuzzy, no-wrap
-#| msgid ""
-#| "int\n"
-#| "main(int argc, char *argv[])\n"
-#| "{\n"
-#| "    struct rlimit old, new;\n"
-#| "    struct rlimit *newp;\n"
-#| "    pid_t pid;\n"
+#, no-wrap
 msgid ""
 "int\n"
 "main(int argc, char *argv[])\n"
@@ -18666,39 +17497,26 @@ msgstr ""
 "int\n"
 "main(int argc, char *argv[])\n"
 "{\n"
-"    struct rlimit old, new;\n"
-"    struct rlimit *newp;\n"
-"    pid_t pid;\n"
+"    struct pollfd pollfd;\n"
+"    int pidfd, ready;\n"
 
 #. type: Plain text
 #: build/C/man2/pidfd_open.2:240
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    if (!(argc == 2 || argc == 4)) {\n"
-#| "        fprintf(stderr, \"Usage: %s E<lt>pidE<gt> [E<lt>new-soft-limitE<gt> \"\n"
-#| "                \"E<lt>new-hard-limitE<gt>]\\en\", argv[0]);\n"
-#| "        exit(EXIT_FAILURE);\n"
-#| "    }\n"
+#, no-wrap
 msgid ""
 "    if (argc != 2) {\n"
 "        fprintf(stderr, \"Usage: %s E<lt>pidE<gt>\\en\", argv[0]);\n"
 "        exit(EXIT_SUCCESS);\n"
 "    }\n"
 msgstr ""
-"    if (!(argc == 2 || argc == 4)) {\n"
-"        fprintf(stderr, \"Usage: %s E<lt>pidE<gt> [E<lt>new-soft-limitE<gt> \"\n"
-"                \"E<lt>new-hard-limitE<gt>]\\en\", argv[0]);\n"
-"        exit(EXIT_FAILURE);\n"
+"    if (argc != 2) {\n"
+"        fprintf(stderr, \"Usage: %s E<lt>pidE<gt>\\en\", argv[0]);\n"
+"        exit(EXIT_SUCCESS);\n"
 "    }\n"
 
 #. type: Plain text
 #: build/C/man2/pidfd_open.2:246
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    if (prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0)) {\n"
-#| "        perror(\"prctl\");\n"
-#| "        exit(EXIT_FAILURE);\n"
-#| "    }\n"
+#, no-wrap
 msgid ""
 "    pidfd = pidfd_open(atoi(argv[1]), 0);\n"
 "    if (pidfd == -1) {\n"
@@ -18706,8 +17524,9 @@ msgid ""
 "        exit(EXIT_FAILURE);\n"
 "    }\n"
 msgstr ""
-"    if (prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0)) {\n"
-"        perror(\"prctl\");\n"
+"    pidfd = pidfd_open(atoi(argv[1]), 0);\n"
+"    if (pidfd == -1) {\n"
+"        perror(\"pidfd_open\");\n"
 "        exit(EXIT_FAILURE);\n"
 "    }\n"
 
@@ -18718,15 +17537,12 @@ msgid ""
 "    pollfd.fd = pidfd;\n"
 "    pollfd.events = POLLIN;\n"
 msgstr ""
+"    pollfd.fd = pidfd;\n"
+"    pollfd.events = POLLIN;\n"
 
 #. type: Plain text
 #: build/C/man2/pidfd_open.2:255
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    if (prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0)) {\n"
-#| "        perror(\"prctl\");\n"
-#| "        exit(EXIT_FAILURE);\n"
-#| "    }\n"
+#, no-wrap
 msgid ""
 "    ready = poll(&pollfd, 1, -1);\n"
 "    if (ready == -1) {\n"
@@ -18734,8 +17550,9 @@ msgid ""
 "        exit(EXIT_FAILURE);\n"
 "    }\n"
 msgstr ""
-"    if (prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0)) {\n"
-"        perror(\"prctl\");\n"
+"    ready = poll(&pollfd, 1, -1);\n"
+"    if (ready == -1) {\n"
+"        perror(\"poll\");\n"
 "        exit(EXIT_FAILURE);\n"
 "    }\n"
 
@@ -18749,30 +17566,22 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/pidfd_open.2:262
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    exit(EXIT_SUCCESS);\n"
-#| "}\n"
+#, no-wrap
 msgid ""
 "    close(pidfd);\n"
 "    exit(EXIT_SUCCESS);\n"
 "}\n"
 msgstr ""
+"    close(pidfd);\n"
 "    exit(EXIT_SUCCESS);\n"
 "}\n"
 
 #. type: Plain text
 #: build/C/man2/pidfd_open.2:273
-#, fuzzy
-#| msgid ""
-#| "B<getgid>(2), B<getuid>(2), B<seteuid>(2), B<setgid>(2), B<setresuid>(2), "
-#| "B<setuid>(2), B<capabilities>(7), B<user_namespaces>(7)"
 msgid ""
 "B<clone>(2), B<kill>(2), B<pidfd_getfd>(2), B<pidfd_send_signal>(2), "
 "B<poll>(2), B<select>(2), B<setns>(2), B<waitid>(2), B<epoll>(7)"
-msgstr ""
-"B<getgid>(2), B<getuid>(2), B<seteuid>(2), B<setgid>(2), B<setresuid>(2), "
-"B<setuid>(2), B<capabilities>(7), B<user_namespaces>(7)"
+msgstr "B<clone>(2), B<kill>(2), B<pidfd_getfd>(2), B<pidfd_send_signal>(2), B<poll>(2), B<select>(2), B<setns>(2), B<waitid>(2), B<epoll>(7)"
 
 #. type: TH
 #: build/C/man2/pidfd_send_signal.2:25
@@ -18782,10 +17591,9 @@ msgstr ""
 
 #. type: TH
 #: build/C/man2/pidfd_send_signal.2:25
-#, fuzzy, no-wrap
-#| msgid "2008-06-16"
+#, no-wrap
 msgid "2020-06-09"
-msgstr "2008-06-16"
+msgstr "2020-06-09"
 
 #. type: Plain text
 #: build/C/man2/pidfd_send_signal.2:28
@@ -18795,10 +17603,9 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/pidfd_send_signal.2:31
-#, fuzzy, no-wrap
-#| msgid "B<#include E<lt>grp.hE<gt>>"
+#, no-wrap
 msgid "B<#include E<lt>signal.hE<gt>>\n"
-msgstr "B<#include E<lt>grp.hE<gt>>"
+msgstr "B<#include E<lt>signal.hE<gt>>\n"
 
 #. type: Plain text
 #: build/C/man2/pidfd_send_signal.2:34
@@ -18873,16 +17680,10 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/pidfd_send_signal.2:97
-#, fuzzy
-#| msgid ""
-#| "On success, B<ioprio_set>()  returns 0.  On error, -1 is returned, and "
-#| "I<errno> is set to indicate the error."
 msgid ""
 "On success, B<pidfd_send_signal>()  returns 0.  On error, -1 is returned and "
 "I<errno> is set to indicate the cause of the error."
-msgstr ""
-"成功すると、 B<ioprio_set>()  は 0 を返す。 エラーの場合、-1 を返し、 "
-"I<errno> にエラーを示す値を設定する。"
+msgstr "成功すると、 B<pidfd_send_signal>()  は 0 を返す。 エラーの場合、-1 を返し、 I<errno> にエラーの原因を示す値を設定する。"
 
 #. type: Plain text
 #: build/C/man2/pidfd_send_signal.2:106
@@ -18925,17 +17726,13 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/pidfd_send_signal.2:132
-#, fuzzy
-#| msgid "The B<seccomp>()  system call first appeared in Linux 3.17."
 msgid "B<pidfd_send_signal>()  first appeared in Linux 5.1."
-msgstr "B<seccomp>() システムコールは Linux 3.17 で初めて登場した。"
+msgstr "B<pidfd_send_signal>() は Linux 5.1 で初めて登場した。"
 
 #. type: Plain text
 #: build/C/man2/pidfd_send_signal.2:135
-#, fuzzy
-#| msgid "B<prlimit>(): Linux-specific."
 msgid "B<pidfd_send_signal>()  is Linux specific."
-msgstr "B<prlimit>(): Linux 固有。"
+msgstr "B<pidfd_send_signal>() は Linux 固有である。"
 
 #. type: SS
 #: build/C/man2/pidfd_send_signal.2:139
@@ -18986,17 +17783,7 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/pidfd_send_signal.2:190
-#, fuzzy, 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"
+#, no-wrap
 msgid ""
 "#define _GNU_SOURCE\n"
 "#include E<lt>limits.hE<gt>\n"
@@ -19008,15 +17795,15 @@ msgid ""
 "#include E<lt>unistd.hE<gt>\n"
 "#include E<lt>sys/syscall.hE<gt>\n"
 msgstr ""
-"#include E<lt>errno.hE<gt>\n"
-"#include E<lt>stddef.hE<gt>\n"
+"#define _GNU_SOURCE\n"
+"#include E<lt>limits.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>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"
+"#include E<lt>sys/syscall.hE<gt>\n"
 
 #. type: Plain text
 #: build/C/man2/pidfd_send_signal.2:194
@@ -19026,6 +17813,9 @@ msgid ""
 "#define __NR_pidfd_send_signal 424\n"
 "#endif\n"
 msgstr ""
+"#ifndef __NR_pidfd_send_signal\n"
+"#define __NR_pidfd_send_signal 424\n"
+"#endif\n"
 
 #. type: Plain text
 #: build/C/man2/pidfd_send_signal.2:201
@@ -19038,17 +17828,16 @@ msgid ""
 "    return syscall(__NR_pidfd_send_signal, pidfd, sig, info, flags);\n"
 "}\n"
 msgstr ""
+"static int\n"
+"pidfd_send_signal(int pidfd, int sig, siginfo_t *info,\n"
+"        unsigned int flags)\n"
+"{\n"
+"    return syscall(__NR_pidfd_send_signal, pidfd, sig, info, flags);\n"
+"}\n"
 
 #. type: Plain text
 #: build/C/man2/pidfd_send_signal.2:208
-#, fuzzy, no-wrap
-#| msgid ""
-#| "int\n"
-#| "main(int argc, char *argv[])\n"
-#| "{\n"
-#| "    struct rlimit old, new;\n"
-#| "    struct rlimit *newp;\n"
-#| "    pid_t pid;\n"
+#, no-wrap
 msgid ""
 "int\n"
 "main(int argc, char *argv[])\n"
@@ -19060,37 +17849,29 @@ msgstr ""
 "int\n"
 "main(int argc, char *argv[])\n"
 "{\n"
-"    struct rlimit old, new;\n"
-"    struct rlimit *newp;\n"
-"    pid_t pid;\n"
+"    siginfo_t info;\n"
+"    char path[PATH_MAX];\n"
+"    int pidfd, sig;\n"
 
 #. type: Plain text
 #: build/C/man2/pidfd_send_signal.2:213
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    if (!(argc == 2 || argc == 4)) {\n"
-#| "        fprintf(stderr, \"Usage: %s E<lt>pidE<gt> [E<lt>new-soft-limitE<gt> \"\n"
-#| "                \"E<lt>new-hard-limitE<gt>]\\en\", argv[0]);\n"
-#| "        exit(EXIT_FAILURE);\n"
-#| "    }\n"
+#, no-wrap
 msgid ""
 "    if (argc != 3) {\n"
 "        fprintf(stderr, \"Usage: %s E<lt>pidE<gt> E<lt>signalE<gt>\\en\", argv[0]);\n"
 "        exit(EXIT_FAILURE);\n"
 "    }\n"
 msgstr ""
-"    if (!(argc == 2 || argc == 4)) {\n"
-"        fprintf(stderr, \"Usage: %s E<lt>pidE<gt> [E<lt>new-soft-limitE<gt> \"\n"
-"                \"E<lt>new-hard-limitE<gt>]\\en\", argv[0]);\n"
+"    if (argc != 3) {\n"
+"        fprintf(stderr, \"Usage: %s E<lt>pidE<gt> E<lt>signalE<gt>\\en\", argv[0]);\n"
 "        exit(EXIT_FAILURE);\n"
 "    }\n"
 
 #. type: Plain text
 #: build/C/man2/pidfd_send_signal.2:215
-#, fuzzy, no-wrap
-#| msgid "    args.argv = &argv[optind];\n"
+#, no-wrap
 msgid "    sig = atoi(argv[2]);\n"
-msgstr "    args.argv = &argv[optind];\n"
+msgstr "    sig = atoi(argv[2]);\n"
 
 #. type: Plain text
 #: build/C/man2/pidfd_send_signal.2:218
@@ -19104,16 +17885,11 @@ msgstr ""
 #: build/C/man2/pidfd_send_signal.2:220
 #, no-wrap
 msgid "    snprintf(path, sizeof(path), \"/proc/%s\", argv[1]);\n"
-msgstr ""
+msgstr "    snprintf(path, sizeof(path), \"/proc/%s\", argv[1]);\n"
 
 #. type: Plain text
 #: build/C/man2/pidfd_send_signal.2:226
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    if (prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0)) {\n"
-#| "        perror(\"prctl\");\n"
-#| "        exit(EXIT_FAILURE);\n"
-#| "    }\n"
+#, no-wrap
 msgid ""
 "    pidfd = open(path, O_RDONLY);\n"
 "    if (pidfd == -1) {\n"
@@ -19121,8 +17897,9 @@ msgid ""
 "        exit(EXIT_FAILURE);\n"
 "    }\n"
 msgstr ""
-"    if (prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0)) {\n"
-"        perror(\"prctl\");\n"
+"    pidfd = open(path, O_RDONLY);\n"
+"    if (pidfd == -1) {\n"
+"        perror(\"open\");\n"
 "        exit(EXIT_FAILURE);\n"
 "    }\n"
 
@@ -19146,6 +17923,13 @@ msgid ""
 "    info.si_pid = getpid();\n"
 "    info.si_value.sival_int = 1234;\n"
 msgstr ""
+"    memset(&info, 0, sizeof(info));\n"
+"    info.si_code = SI_QUEUE;\n"
+"    info.si_signo = sig;\n"
+"    info.si_errno = 0;\n"
+"    info.si_uid = getuid();\n"
+"    info.si_pid = getpid();\n"
+"    info.si_value.sival_int = 1234;\n"
 
 #. type: Plain text
 #: build/C/man2/pidfd_send_signal.2:239
@@ -19155,35 +17939,24 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man2/pidfd_send_signal.2:244
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    if (prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0)) {\n"
-#| "        perror(\"prctl\");\n"
-#| "        exit(EXIT_FAILURE);\n"
-#| "    }\n"
+#, no-wrap
 msgid ""
 "    if (pidfd_send_signal(pidfd, sig, &info, 0) == -1) {\n"
 "        perror(\"pidfd_send_signal\");\n"
 "        exit(EXIT_FAILURE);\n"
 "    }\n"
 msgstr ""
-"    if (prctl(PR_SET_NO_NEW_PRIVS, 1, 0, 0, 0)) {\n"
-"        perror(\"prctl\");\n"
+"    if (pidfd_send_signal(pidfd, sig, &info, 0) == -1) {\n"
+"        perror(\"pidfd_send_signal\");\n"
 "        exit(EXIT_FAILURE);\n"
 "    }\n"
 
 #. type: Plain text
 #: build/C/man2/pidfd_send_signal.2:256
-#, fuzzy
-#| 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)"
 msgid ""
 "B<clone>(2), B<kill>(2), B<pidfd_open>(2), B<rt_sigqueueinfo>(2), "
 "B<sigaction>(2), B<pid_namespaces>(7), B<signal>(7)"
-msgstr ""
-"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)"
+msgstr "B<clone>(2), B<kill>(2), B<pidfd_open>(2), B<rt_sigqueueinfo>(2), B<sigaction>(2), B<pid_namespaces>(7), B<signal>(7)"
 
 #. type: TH
 #: build/C/man3/posix_spawn.3:31
@@ -19198,10 +17971,9 @@ msgstr ""
 
 #. type: Plain text
 #: build/C/man3/posix_spawn.3:37
-#, fuzzy, no-wrap
-#| msgid "B<#include E<lt>grp.hE<gt>>"
+#, no-wrap
 msgid "B<#include E<lt>spawn.hE<gt>>\n"
-msgstr "B<#include E<lt>grp.hE<gt>>"
+msgstr "B<#include E<lt>spawn.hE<gt>>\n"
 
 #. type: Plain text
 #: build/C/man3/posix_spawn.3:42
@@ -19212,6 +17984,10 @@ msgid ""
 "B<                const posix_spawnattr_t *>I<attrp>B<,>\n"
 "B<                char *const >I<argv[]>B<, char *const >I<envp[]>B<);>\n"
 msgstr ""
+"B<int posix_spawn(pid_t *>I<pid>B<, const char *>I<path>B<,>\n"
+"B<                const posix_spawn_file_actions_t *>I<file_actions>B<,>\n"
+"B<                const posix_spawnattr_t *>I<attrp>B<,>\n"
+"B<                char *const >I<argv[]>B<, char *const >I<envp[]>B<);>\n"
 
 #. type: Plain text
 #: build/C/man3/posix_spawn.3:47
@@ -19222,6 +17998,10 @@ msgid ""
 "B<                 const posix_spawnattr_t *>I<attrp>B<,>\n"
 "B<                 char *const >I<argv[]>B<, char *const >I<envp[]>B<);>\n"
 msgstr ""
+"B<int posix_spawnp(pid_t *>I<pid>B<, const char *>I<file>B<,>\n"
+"B<                 const posix_spawn_file_actions_t *>I<file_actions>B<,>\n"
+"B<                 const posix_spawnattr_t *>I<attrp>B<,>\n"
+"B<                 char *const >I<argv[]>B<, char *const >I<envp[]>B<);>\n"
 
 #. type: Plain text
 #: build/C/man3/posix_spawn.3:61
@@ -19581,10 +18361,9 @@ msgstr ""
 
 #. type: TP
 #: build/C/man3/posix_spawn.3:397
-#, fuzzy, no-wrap
-#| msgid "B<CAP_LEASE> (since Linux 2.4)"
+#, no-wrap
 msgid "B<POSIX_SPAWN_SETSID> (since glibc 2.26)"
-msgstr "B<CAP_LEASE> (Linux 2.4 以降)"
+msgstr "B<POSIX_SPAWN_SETSID> (glibc 2.26 以降)"
 
 #.  This flag has been accepted in POSIX, see:
 #.  http://austingroupbugs.net/view.php?id=1044
@@ -19733,10 +18512,8 @@ msgstr ""
 #.  to obtain the definition of this constant.
 #. type: Plain text
 #: build/C/man3/posix_spawn.3:547
-#, fuzzy
-#| msgid "POSIX.1-2001, 4.3BSD."
 msgid "POSIX.1-2001, POSIX.1-2008."
-msgstr "POSIX.1-2001, 4.3BSD."
+msgstr "POSIX.1-2001, POSIX.1-2008."
 
 #. type: Plain text
 #: build/C/man3/posix_spawn.3:564
@@ -19872,20 +18649,13 @@ msgid ""
 "PID of child: 10190\n"
 "Child status: exited, status=127>\n"
 msgstr ""
+"$ B<./a.out xxxxx\n"
+"PID of child: 10190\n"
+"Child status: exited, status=127>\n"
 
 #. type: Plain text
 #: build/C/man3/posix_spawn.3:692
-#, fuzzy, 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"
+#, no-wrap
 msgid ""
 "#include E<lt>spawn.hE<gt>\n"
 "#include E<lt>stdint.hE<gt>\n"
@@ -19896,48 +18666,42 @@ msgid ""
 "#include E<lt>wait.hE<gt>\n"
 "#include E<lt>errno.hE<gt>\n"
 msgstr ""
-"#include E<lt>errno.hE<gt>\n"
-"#include E<lt>stddef.hE<gt>\n"
+"#include E<lt>spawn.hE<gt>\n"
+"#include E<lt>stdint.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"
+"#include E<lt>stdlib.hE<gt>\n"
+"#include E<lt>string.hE<gt>\n"
+"#include E<lt>wait.hE<gt>\n"
+"#include E<lt>errno.hE<gt>\n"
 
 #. type: Plain text
 #: build/C/man3/posix_spawn.3:695
-#, fuzzy, no-wrap
-#| msgid ""
-#| "#define errExit(msg)    do { perror(msg); exit(EXIT_FAILURE); \\e\n"
-#| "                        } while (0)\n"
+#, no-wrap
 msgid ""
 "#define errExit(msg)    do { perror(msg); \\e\n"
 "                             exit(EXIT_FAILURE); } while (0)\n"
 msgstr ""
-"#define errExit(msg)    do { perror(msg); exit(EXIT_FAILURE); \\e\n"
-"                        } while (0)\n"
+"#define errExit(msg)    do { perror(msg); \\e\n"
+"                             exit(EXIT_FAILURE); } while (0)\n"
 
 #. type: Plain text
 #: build/C/man3/posix_spawn.3:699
-#, fuzzy, no-wrap
-#| msgid ""
-#| "#define errExit(msg)    do { perror(msg); exit(EXIT_FAILURE); \\e\n"
-#| "                        } while (0)\n"
+#, no-wrap
 msgid ""
 "#define errExitEN(en, msg) \\e\n"
 "                        do { errno = en; perror(msg); \\e\n"
 "                             exit(EXIT_FAILURE); } while (0)\n"
 msgstr ""
-"#define errExit(msg)    do { perror(msg); exit(EXIT_FAILURE); \\e\n"
-"                        } while (0)\n"
+"#define errExitEN(en, msg) \\e\n"
+"                        do { errno = en; perror(msg); \\e\n"
+"                             exit(EXIT_FAILURE); } while (0)\n"
 
 #. type: Plain text
 #: build/C/man3/posix_spawn.3:701
 #, no-wrap
 msgid "char **environ;\n"
-msgstr ""
+msgstr "char **environ;\n"
 
 #. type: Plain text
 #: build/C/man3/posix_spawn.3:712
@@ -19954,6 +18718,16 @@ msgid ""
 "    posix_spawn_file_actions_t file_actions;\n"
 "    posix_spawn_file_actions_t *file_actionsp;\n"
 msgstr ""
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+"    pid_t child_pid;\n"
+"    int s, opt, status;\n"
+"    sigset_t mask;\n"
+"    posix_spawnattr_t attr;\n"
+"    posix_spawnattr_t *attrp;\n"
+"    posix_spawn_file_actions_t file_actions;\n"
+"    posix_spawn_file_actions_t *file_actionsp;\n"
 
 #. type: Plain text
 #: build/C/man3/posix_spawn.3:715
@@ -19970,6 +18744,8 @@ msgid ""
 "    attrp = NULL;\n"
 "    file_actionsp = NULL;\n"
 msgstr ""
+"    attrp = NULL;\n"
+"    file_actionsp = NULL;\n"
 
 #. type: Plain text
 #: build/C/man3/posix_spawn.3:722
@@ -19996,6 +18772,9 @@ msgid ""
 "            if (s != 0)\n"
 "                errExitEN(s, \"posix_spawn_file_actions_init\");\n"
 msgstr ""
+"            s = posix_spawn_file_actions_init(&file_actions);\n"
+"            if (s != 0)\n"
+"                errExitEN(s, \"posix_spawn_file_actions_init\");\n"
 
 #. type: Plain text
 #: build/C/man3/posix_spawn.3:734
@@ -20006,6 +18785,10 @@ msgid ""
 "            if (s != 0)\n"
 "                errExitEN(s, \"posix_spawn_file_actions_addclose\");\n"
 msgstr ""
+"            s = posix_spawn_file_actions_addclose(&file_actions,\n"
+"                                                  STDOUT_FILENO);\n"
+"            if (s != 0)\n"
+"                errExitEN(s, \"posix_spawn_file_actions_addclose\");\n"
 
 #. type: Plain text
 #: build/C/man3/posix_spawn.3:737
@@ -20014,6 +18797,8 @@ msgid ""
 "            file_actionsp = &file_actions;\n"
 "            break;\n"
 msgstr ""
+"            file_actionsp = &file_actions;\n"
+"            break;\n"
 
 #. type: Plain text
 #: build/C/man3/posix_spawn.3:739
@@ -20040,6 +18825,12 @@ msgid ""
 "            if (s != 0)\n"
 "                errExitEN(s, \"posix_spawnattr_setflags\");\n"
 msgstr ""
+"            s = posix_spawnattr_init(&attr);\n"
+"            if (s != 0)\n"
+"                errExitEN(s, \"posix_spawnattr_init\");\n"
+"            s = posix_spawnattr_setflags(&attr, POSIX_SPAWN_SETSIGMASK);\n"
+"            if (s != 0)\n"
+"                errExitEN(s, \"posix_spawnattr_setflags\");\n"
 
 #. type: Plain text
 #: build/C/man3/posix_spawn.3:754
@@ -20050,6 +18841,10 @@ msgid ""
 "            if (s != 0)\n"
 "                errExitEN(s, \"posix_spawnattr_setsigmask\");\n"
 msgstr ""
+"            sigfillset(&mask);\n"
+"            s = posix_spawnattr_setsigmask(&attr, &mask);\n"
+"            if (s != 0)\n"
+"                errExitEN(s, \"posix_spawnattr_setsigmask\");\n"
 
 #. type: Plain text
 #: build/C/man3/posix_spawn.3:759
@@ -20060,6 +18855,10 @@ msgid ""
 "        }\n"
 "    }\n"
 msgstr ""
+"            attrp = &attr;\n"
+"            break;\n"
+"        }\n"
+"    }\n"
 
 #. type: Plain text
 #: build/C/man3/posix_spawn.3:764
@@ -20080,6 +18879,10 @@ msgid ""
 "    if (s != 0)\n"
 "        errExitEN(s, \"posix_spawn\");\n"
 msgstr ""
+"    s = posix_spawnp(&child_pid, argv[optind], file_actionsp, attrp,\n"
+"                     &argv[optind], environ);\n"
+"    if (s != 0)\n"
+"        errExitEN(s, \"posix_spawn\");\n"
 
 #. type: Plain text
 #: build/C/man3/posix_spawn.3:771
@@ -20097,6 +18900,11 @@ msgid ""
 "            errExitEN(s, \"posix_spawnattr_destroy\");\n"
 "    }\n"
 msgstr ""
+"    if (attrp != NULL) {\n"
+"        s = posix_spawnattr_destroy(attrp);\n"
+"        if (s != 0)\n"
+"            errExitEN(s, \"posix_spawnattr_destroy\");\n"
+"    }\n"
 
 #. type: Plain text
 #: build/C/man3/posix_spawn.3:783
@@ -20108,12 +18916,17 @@ msgid ""
 "            errExitEN(s, \"posix_spawn_file_actions_destroy\");\n"
 "    }\n"
 msgstr ""
+"    if (file_actionsp != NULL) {\n"
+"        s = posix_spawn_file_actions_destroy(file_actionsp);\n"
+"        if (s != 0)\n"
+"            errExitEN(s, \"posix_spawn_file_actions_destroy\");\n"
+"    }\n"
 
 #. type: Plain text
 #: build/C/man3/posix_spawn.3:785
 #, no-wrap
 msgid "    printf(\"PID of child: %jd\\en\", (intmax_t) child_pid);\n"
-msgstr ""
+msgstr "    printf(\"PID of child: %jd\\en\", (intmax_t) child_pid);\n"
 
 #. type: Plain text
 #: build/C/man3/posix_spawn.3:787
@@ -20124,18 +18937,17 @@ msgstr "    /* 新しい名前空間で子プロセスを作成する */\n"
 
 #. type: Plain text
 #: build/C/man3/posix_spawn.3:792
-#, fuzzy, no-wrap
-#| msgid ""
-#| "    if (waitpid(child_pid, NULL, 0) == -1)      /* Wait for child */\n"
-#| "        errExit(\"waitpid\");\n"
+#, no-wrap
 msgid ""
 "    do {\n"
 "        s = waitpid(child_pid, &status, WUNTRACED | WCONTINUED);\n"
 "        if (s == -1)\n"
 "            errExit(\"waitpid\");\n"
 msgstr ""
-"    if (waitpid(child_pid, NULL, 0) == -1)      /* 子プロセスを待つ */\n"
-"        errExit(\"waitpid\");\n"
+"    do {\n"
+"        s = waitpid(child_pid, &status, WUNTRACED | WCONTINUED);\n"
+"        if (s == -1)\n"
+"            errExit(\"waitpid\");\n"
 
 #. type: Plain text
 #: build/C/man3/posix_spawn.3:804
@@ -20153,6 +18965,17 @@ msgid ""
 "        }\n"
 "    } while (!WIFEXITED(status) && !WIFSIGNALED(status));\n"
 msgstr ""
+"        printf(\"Child status: \");\n"
+"        if (WIFEXITED(status)) {\n"
+"            printf(\"exited, status=%d\\en\", WEXITSTATUS(status));\n"
+"        } else if (WIFSIGNALED(status)) {\n"
+"            printf(\"killed by signal %d\\en\", WTERMSIG(status));\n"
+"        } else if (WIFSTOPPED(status)) {\n"
+"            printf(\"stopped by signal %d\\en\", WSTOPSIG(status));\n"
+"        } else if (WIFCONTINUED(status)) {\n"
+"            printf(\"continued\\en\");\n"
+"        }\n"
+"    } while (!WIFEXITED(status) && !WIFSIGNALED(status));\n"
 
 #. type: Plain text
 #: build/C/man3/posix_spawn.3:846
@@ -20175,14 +18998,6 @@ msgid ""
 msgstr ""
 
 #~ msgid ""
-#~ "B<acct>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
-#~ msgstr ""
-#~ "B<acct>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
-
-#~ msgid "2008-06-15"
-#~ msgstr "2008-06-15"
-
-#~ msgid ""
 #~ "Make arbitrary manipulations of process GIDs and supplementary GID list; "
 #~ "forge GID when passing socket credentials via UNIX domain sockets; write "
 #~ "a group ID mapping in a user namespace (see B<user_namespaces>(7))."
@@ -20204,21 +19019,9 @@ msgstr ""
 #~ "ユーザー名前空間にユーザー ID マッピングを書き込むことができる "
 #~ "(B<user_namespaces>(7) 参照)。"
 
-#~ msgid "P"
-#~ msgstr "P"
-
-#~ msgid "P'"
-#~ msgstr "P'"
-
 #~ msgid "denotes the value of a capability set after the B<execve>(2)"
 #~ msgstr "B<execve>(2)  後のスレッドのケーパビリティセットの値"
 
-#~ msgid "F"
-#~ msgstr "F"
-
-#~ msgid "cap_bset"
-#~ msgstr "cap_bset"
-
 #~ msgid ""
 #~ "In order to provide an all-powerful I<root> using capability sets, during "
 #~ "an B<execve>(2):"
@@ -20252,9 +19055,6 @@ msgstr ""
 #~ "ことである。 これにより、伝統的な UNIX システムと同じ振る舞いができるよう"
 #~ "になっている。"
 
-#~ msgid "2013-03-11"
-#~ msgstr "2013-03-11"
-
 #~ msgid ""
 #~ "As of Linux 2.2, the power of the superuser (root) has been partitioned "
 #~ "into a set of discrete capabilities.  Each thread has a set of effective "
@@ -20284,18 +19084,6 @@ msgstr ""
 #~ "ティのサポート) である。 VFS ケーパビリティのサポートは現在のところコンパ"
 #~ "イル時のオプションである (カーネル 2.6.24 で追加された)。"
 
-#~ msgid "2014-05-21"
-#~ msgstr "2014-05-21"
-
-#~ msgid "I<Documentation/cpusets.txt> in the Linux kernel source tree"
-#~ msgstr "Linux カーネルソース内の I<Documentation/cpusets.txt>"
-
-#~ msgid "B<setgroups>(): _BSD_SOURCE"
-#~ msgstr "B<setgroups>(): _BSD_SOURCE"
-
-#~ msgid "The calling process has insufficient privilege."
-#~ msgstr "呼び出し元プロセスが十分な特権を持っていない。"
-
 #~ msgid ""
 #~ "B<getppid>()  returns the process ID of the parent of the calling process."
 #~ msgstr ""
@@ -20350,12 +19138,6 @@ msgstr ""
 #~ "1.3.43 以降の Linux では、 -20..19 である。 他のいくつかのシステムでは、こ"
 #~ "の範囲が -20..20 である。"
 
-#~ msgid "2015-01-22"
-#~ msgstr "2015-01-22"
-
-#~ msgid "B<prlimit>(): _GNU_SOURCE && _FILE_OFFSET_BITS == 64"
-#~ msgstr "B<prlimit>(): _GNU_SOURCE && _FILE_OFFSET_BITS == 64"
-
 #~ msgid ""
 #~ "The maximum number of processes (or, more precisely on Linux, threads)  "
 #~ "that can be created for the real user ID of the calling process.  Upon "
@@ -20390,26 +19172,6 @@ msgstr ""
 #~ "追加。"
 
 #~ msgid ""
-#~ "    exit(EXIT_FAILURE);\n"
-#~ "}\n"
-#~ msgstr ""
-#~ "    exit(EXIT_FAILURE);\n"
-#~ "}\n"
-
-#~ msgid "2010-09-26"
-#~ msgstr "2010-09-26"
-
-#~ msgid ""
-#~ "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
-#~ "_XOPEN_SOURCE_EXTENDED"
-#~ msgstr ""
-#~ "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
-#~ "_XOPEN_SOURCE_EXTENDED"
-
-#~ msgid "SVr4, POSIX.1-2001."
-#~ msgstr "SVr4, POSIX.1-2001."
-
-#~ msgid ""
 #~ "This call is necessary to allow 8514-compatible X servers to run under "
 #~ "Linux.  Since these X servers require access to all 65536 I/O ports, the "
 #~ "B<ioperm>(2)  call is not sufficient."
@@ -20421,15 +19183,6 @@ msgstr ""
 #~ msgid "Permissions are inherited by B<fork>(2)  and B<execve>(2)."
 #~ msgstr "B<fork>(2)  や B<exec>(2)  を行った場合、特権は継承される。"
 
-#~ msgid "2013-02-12"
-#~ msgstr "2013-02-12"
-
-#~ msgid "2012-10-16"
-#~ msgstr "2012-10-16"
-
-#~ msgid "NAMESPACES"
-#~ msgstr "NAMESPACES"
-
 #~ msgid "namespaces - overview of Linux namespaces"
 #~ msgstr "namespaces - Linux 名前空間の概要"
 
@@ -20456,54 +19209,15 @@ msgstr ""
 #~ msgid "Constant"
 #~ msgstr "定数"
 
-#~ msgid "CLONE_NEWIPC"
-#~ msgstr "CLONE_NEWIPC"
-
-#~ msgid "System V IPC, POSIX message queues"
-#~ msgstr "System V IPC, POSIX メッセージキュー"
-
-#~ msgid "Network"
-#~ msgstr "Network"
-
-#~ msgid "CLONE_NEWNET"
-#~ msgstr "CLONE_NEWNET"
-
 #~ msgid "Network devices, stacks, ports, etc."
 #~ msgstr "ネットワークデバイス、スタック、ポートなど"
 
-#~ msgid "Mount"
-#~ msgstr "Mount"
-
-#~ msgid "CLONE_NEWNS"
-#~ msgstr "CLONE_NEWNS"
-
 #~ msgid "Mount points"
 #~ msgstr "マウントポイント"
 
-#~ msgid "PID"
-#~ msgstr "PID"
-
-#~ msgid "CLONE_NEWPID"
-#~ msgstr "CLONE_NEWPID"
-
-#~ msgid "Process IDs"
-#~ msgstr "プロセス ID"
-
-#~ msgid "User"
-#~ msgstr "User"
-
-#~ msgid "CLONE_NEWUSER"
-#~ msgstr "CLONE_NEWUSER"
-
 #~ msgid "User and group IDs"
 #~ msgstr "ユーザー ID とグループ ID"
 
-#~ msgid "UTS"
-#~ msgstr "UTS"
-
-#~ msgid "CLONE_NEWUTS"
-#~ msgstr "CLONE_NEWUTS"
-
 #~ msgid "Hostname and NIS domain name"
 #~ msgstr "ホスト名と NIS ドメイン名"
 
@@ -20583,25 +19297,6 @@ msgstr ""
 #~ "リーが存在する。"
 
 #~ msgid ""
-#~ "$ B<ls -l /proc/$$/ns>\n"
-#~ "total 0\n"
-#~ "lrwxrwxrwx. 1 mtk mtk 0 Jan 14 01:20 ipc -E<gt> ipc:[4026531839]\n"
-#~ "lrwxrwxrwx. 1 mtk mtk 0 Jan 14 01:20 mnt -E<gt> mnt:[4026531840]\n"
-#~ "lrwxrwxrwx. 1 mtk mtk 0 Jan 14 01:20 net -E<gt> net:[4026531956]\n"
-#~ "lrwxrwxrwx. 1 mtk mtk 0 Jan 14 01:20 pid -E<gt> pid:[4026531836]\n"
-#~ "lrwxrwxrwx. 1 mtk mtk 0 Jan 14 01:20 user -E<gt> user:[4026531837]\n"
-#~ "lrwxrwxrwx. 1 mtk mtk 0 Jan 14 01:20 uts -E<gt> uts:[4026531838]\n"
-#~ msgstr ""
-#~ "$ B<ls -l /proc/$$/ns>\n"
-#~ "total 0\n"
-#~ "lrwxrwxrwx. 1 mtk mtk 0 Jan 14 01:20 ipc -E<gt> ipc:[4026531839]\n"
-#~ "lrwxrwxrwx. 1 mtk mtk 0 Jan 14 01:20 mnt -E<gt> mnt:[4026531840]\n"
-#~ "lrwxrwxrwx. 1 mtk mtk 0 Jan 14 01:20 net -E<gt> net:[4026531956]\n"
-#~ "lrwxrwxrwx. 1 mtk mtk 0 Jan 14 01:20 pid -E<gt> pid:[4026531836]\n"
-#~ "lrwxrwxrwx. 1 mtk mtk 0 Jan 14 01:20 user -E<gt> user:[4026531837]\n"
-#~ "lrwxrwxrwx. 1 mtk mtk 0 Jan 14 01:20 uts -E<gt> uts:[4026531838]\n"
-
-#~ msgid ""
 #~ "Bind mounting (see B<mount>(2))  one of the files in this directory to "
 #~ "somewhere else in the filesystem keeps the corresponding namespace of the "
 #~ "process specified by I<pid> alive even if all processes currently in the "
@@ -20644,47 +19339,25 @@ msgstr ""
 #~ "きる。 シンボリックリンクの内容は、 以下の例にあるように、名前空間種別と "
 #~ "inode 番号を含む文字列である。"
 
-#~ msgid ""
-#~ "$ B<readlink /proc/$$/ns/uts>\n"
-#~ "uts:[4026531838]\n"
-#~ msgstr ""
-#~ "$ B<readlink /proc/$$/ns/uts>\n"
-#~ "uts:[4026531838]\n"
-
 #~ msgid "This file is a handle for the IPC namespace of the process."
 #~ msgstr "このファイルはそのプロセスの IPC 名前空間の操作用である。"
 
-#~ msgid "I</proc/[pid]/ns/mnt> (since Linux 3.8)"
-#~ msgstr "I</proc/[pid]/ns/mnt> (Linux 3.8 以降)"
-
 #~ msgid "This file is a handle for the mount namespace of the process."
 #~ msgstr "このファイルはそのプロセスのマウント名前空間の操作用である。"
 
 #~ msgid "This file is a handle for the network namespace of the process."
 #~ msgstr "このファイルはそのプロセスのネットワーク名前空間の操作用である。"
 
-#~ msgid "I</proc/[pid]/ns/pid> (since Linux 3.8)"
-#~ msgstr "I</proc/[pid]/ns/pid> (Linux 3.8 以降)"
-
 #~ msgid "This file is a handle for the PID namespace of the process."
 #~ msgstr "このファイルはそのプロセスの PID 名前空間の操作用である。"
 
-#~ msgid "I</proc/[pid]/ns/user> (since Linux 3.8)"
-#~ msgstr "I</proc/[pid]/ns/user> (Linux 3.8 以降)"
-
 #~ msgid "This file is a handle for the user namespace of the process."
 #~ msgstr "このファイルはそのプロセスのユーザー名前空間の操作用である。"
 
-#~ msgid "I</proc/[pid]/ns/uts> (since Linux 3.0)"
-#~ msgstr "I</proc/[pid]/ns/uts> (Linux 3.0 以降)"
-
 #
 #~ msgid "This file is a handle for the UTS namespace of the process."
 #~ msgstr "このファイルはそのプロセスの UTS 名前空間の操作用である。"
 
-#~ msgid "IPC namespaces (CLONE_NEWIPC)"
-#~ msgstr "IPC 名前空間 (CLONE_NEWIPC)"
-
 #~ msgid ""
 #~ "IPC namespaces isolate certain IPC resources, namely, System V IPC "
 #~ "objects (see B<svipc>(7))  and (since Linux 2.6.30)  POSIX message queues "
@@ -20829,13 +19502,6 @@ msgstr ""
 #~ "ファイルはプロセスの所有者だけが読み出し可能である。 このファイルの各行は"
 #~ "以下の形式である。"
 
-#~ 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"
-
 #~ msgid "The fields in each line are:"
 #~ msgstr "各行のフィールドは以下のとおりである。"
 
@@ -20849,15 +19515,9 @@ msgstr ""
 #~ msgid "The mount point within the filesystem tree."
 #~ msgstr "ファイルシステムツリー内のマウントポイント。"
 
-#~ msgid "(3)"
-#~ msgstr "(3)"
-
 #~ msgid "The filesystem type."
 #~ msgstr "ファイルシステム種別"
 
-#~ msgid "(4)"
-#~ msgstr "(4)"
-
 #~ msgid ""
 #~ "Optional statistics and configuration information.  Currently (as at "
 #~ "Linux 2.6.26), only NFS filesystems export information via this field."
@@ -20904,21 +19564,6 @@ msgstr ""
 #~ msgid "Namespaces are a Linux-specific feature."
 #~ msgstr "名前空間は Linux 独自の機能である。"
 
-#~ msgid ""
-#~ "B<nsenter>(1), B<readlink>(1), B<unshare>(1), B<clone>(2), B<setns>(2), "
-#~ "B<unshare>(2), B<proc>(5), B<credentials>(7), B<capabilities>(7), "
-#~ "B<pid_namespaces>(7), B<user_namespaces>(7), B<switch_root>(8)"
-#~ msgstr ""
-#~ "B<nsenter>(1), B<readlink>(1), B<unshare>(1), B<clone>(2), B<setns>(2), "
-#~ "B<unshare>(2), B<proc>(5), B<credentials>(7), B<capabilities>(7), "
-#~ "B<pid_namespaces>(7), B<user_namespaces>(7), B<switch_root>(8)"
-
-#~ msgid "PID_NAMESPACES"
-#~ msgstr "PID_NAMESPACES"
-
-#~ msgid "2015-01-10"
-#~ msgstr "2015-01-10"
-
 #~ msgid "pid_namespaces - overview of Linux PID namespaces"
 #~ msgstr "pid_namespaces - Linux PID 名前空間の概要"
 
@@ -22730,76 +21375,6 @@ msgstr ""
 #~ "    int    pipe_fd[2];  /* 親プロセスと子プロセスを同期するためのパイプ */\n"
 #~ "};\n"
 
-#~ msgid "static int verbose;\n"
-#~ msgstr "static int verbose;\n"
-
-#~ msgid ""
-#~ "static void\n"
-#~ "usage(char *pname)\n"
-#~ "{\n"
-#~ "    fprintf(stderr, \"Usage: %s [options] cmd [arg...]\\en\\en\", pname);\n"
-#~ "    fprintf(stderr, \"Create a child process that executes a shell \"\n"
-#~ "            \"command in a new user namespace,\\en\"\n"
-#~ "            \"and possibly also other new namespace(s).\\en\\en\");\n"
-#~ "    fprintf(stderr, \"Options can be:\\en\\en\");\n"
-#~ "#define fpe(str) fprintf(stderr, \"    %s\", str);\n"
-#~ "    fpe(\"-i          New IPC namespace\\en\");\n"
-#~ "    fpe(\"-m          New mount namespace\\en\");\n"
-#~ "    fpe(\"-n          New network namespace\\en\");\n"
-#~ "    fpe(\"-p          New PID namespace\\en\");\n"
-#~ "    fpe(\"-u          New UTS namespace\\en\");\n"
-#~ "    fpe(\"-U          New user namespace\\en\");\n"
-#~ "    fpe(\"-M uid_map  Specify UID map for user namespace\\en\");\n"
-#~ "    fpe(\"-G gid_map  Specify GID map for user namespace\\en\");\n"
-#~ "    fpe(\"-z          Map user\\(aqs UID and GID to 0 in user namespace\\en\");\n"
-#~ "    fpe(\"            (equivalent to: -M \\(aq0 E<lt>uidE<gt> 1\\(aq -G \\(aq0 E<lt>gidE<gt> 1\\(aq)\\en\");\n"
-#~ "    fpe(\"-v          Display verbose messages\\en\");\n"
-#~ "    fpe(\"\\en\");\n"
-#~ "    fpe(\"If -z, -M, or -G is specified, -U is required.\\en\");\n"
-#~ "    fpe(\"It is not permitted to specify both -z and either -M or -G.\\en\");\n"
-#~ "    fpe(\"\\en\");\n"
-#~ "    fpe(\"Map strings for -M and -G consist of records of the form:\\en\");\n"
-#~ "    fpe(\"\\en\");\n"
-#~ "    fpe(\"    ID-inside-ns   ID-outside-ns   len\\en\");\n"
-#~ "    fpe(\"\\en\");\n"
-#~ "    fpe(\"A map string can contain multiple records, separated\"\n"
-#~ "        \" by commas;\\en\");\n"
-#~ "    fpe(\"the commas are replaced by newlines before writing\"\n"
-#~ "        \" to map files.\\en\");\n"
-#~ msgstr ""
-#~ "static void\n"
-#~ "usage(char *pname)\n"
-#~ "{\n"
-#~ "    fprintf(stderr, \"Usage: %s [options] cmd [arg...]\\en\\en\", pname);\n"
-#~ "    fprintf(stderr, \"Create a child process that executes a shell \"\n"
-#~ "            \"command in a new user namespace,\\en\"\n"
-#~ "            \"and possibly also other new namespace(s).\\en\\en\");\n"
-#~ "    fprintf(stderr, \"Options can be:\\en\\en\");\n"
-#~ "#define fpe(str) fprintf(stderr, \"    %s\", str);\n"
-#~ "    fpe(\"-i          New IPC namespace\\en\");\n"
-#~ "    fpe(\"-m          New mount namespace\\en\");\n"
-#~ "    fpe(\"-n          New network namespace\\en\");\n"
-#~ "    fpe(\"-p          New PID namespace\\en\");\n"
-#~ "    fpe(\"-u          New UTS namespace\\en\");\n"
-#~ "    fpe(\"-U          New user namespace\\en\");\n"
-#~ "    fpe(\"-M uid_map  Specify UID map for user namespace\\en\");\n"
-#~ "    fpe(\"-G gid_map  Specify GID map for user namespace\\en\");\n"
-#~ "    fpe(\"-z          Map user\\(aqs UID and GID to 0 in user namespace\\en\");\n"
-#~ "    fpe(\"            (equivalent to: -M \\(aq0 E<lt>uidE<gt> 1\\(aq -G \\(aq0 E<lt>gidE<gt> 1\\(aq)\\en\");\n"
-#~ "    fpe(\"-v          Display verbose messages\\en\");\n"
-#~ "    fpe(\"\\en\");\n"
-#~ "    fpe(\"If -z, -M, or -G is specified, -U is required.\\en\");\n"
-#~ "    fpe(\"It is not permitted to specify both -z and either -M or -G.\\en\");\n"
-#~ "    fpe(\"\\en\");\n"
-#~ "    fpe(\"Map strings for -M and -G consist of records of the form:\\en\");\n"
-#~ "    fpe(\"\\en\");\n"
-#~ "    fpe(\"    ID-inside-ns   ID-outside-ns   len\\en\");\n"
-#~ "    fpe(\"\\en\");\n"
-#~ "    fpe(\"A map string can contain multiple records, separated\"\n"
-#~ "        \" by commas;\\en\");\n"
-#~ "    fpe(\"the commas are replaced by newlines before writing\"\n"
-#~ "        \" to map files.\\en\");\n"
-
 #~ msgid ""
 #~ "/* Update the mapping file \\(aqmap_file\\(aq, with the value provided in\n"
 #~ "   \\(aqmapping\\(aq, a string that defines a UID or GID mapping. A UID or\n"
@@ -22826,69 +21401,10 @@ msgstr ""
 #~ "   使えるようにして、ファイルにこの文字列を書き込む前に\n"
 #~ "   カンマを改行に置換する。 */\n"
 
-#~ msgid ""
-#~ "static void\n"
-#~ "update_map(char *mapping, char *map_file)\n"
-#~ "{\n"
-#~ "    int fd, j;\n"
-#~ "    size_t map_len;     /* Length of \\(aqmapping\\(aq */\n"
-#~ msgstr ""
-#~ "static void\n"
-#~ "update_map(char *mapping, char *map_file)\n"
-#~ "{\n"
-#~ "    int fd, j;\n"
-#~ "    size_t map_len;     /* \\(aqmapping\\(aq の長さ */\n"
-
 #~ msgid "    /* Replace commas in mapping string with newlines */\n"
 #~ msgstr "    /* マッピング文字列内のカンマを改行で置換する */\n"
 
 #~ msgid ""
-#~ "    map_len = strlen(mapping);\n"
-#~ "    for (j = 0; j E<lt> map_len; j++)\n"
-#~ "        if (mapping[j] == \\(aq,\\(aq)\n"
-#~ "            mapping[j] = \\(aq\\en\\(aq;\n"
-#~ msgstr ""
-#~ "    map_len = strlen(mapping);\n"
-#~ "    for (j = 0; j E<lt> map_len; j++)\n"
-#~ "        if (mapping[j] == \\(aq,\\(aq)\n"
-#~ "            mapping[j] = \\(aq\\en\\(aq;\n"
-
-#~ msgid ""
-#~ "    fd = open(map_file, O_RDWR);\n"
-#~ "    if (fd == -1) {\n"
-#~ "        fprintf(stderr, \"ERROR: open %s: %s\\en\", map_file,\n"
-#~ "                strerror(errno));\n"
-#~ "        exit(EXIT_FAILURE);\n"
-#~ "    }\n"
-#~ msgstr ""
-#~ "    fd = open(map_file, O_RDWR);\n"
-#~ "    if (fd == -1) {\n"
-#~ "        fprintf(stderr, \"ERROR: open %s: %s\\en\", map_file,\n"
-#~ "                strerror(errno));\n"
-#~ "        exit(EXIT_FAILURE);\n"
-#~ "    }\n"
-
-#~ msgid ""
-#~ "    if (write(fd, mapping, map_len) != map_len) {\n"
-#~ "        fprintf(stderr, \"ERROR: write %s: %s\\en\", map_file,\n"
-#~ "                strerror(errno));\n"
-#~ "        exit(EXIT_FAILURE);\n"
-#~ "    }\n"
-#~ msgstr ""
-#~ "    if (write(fd, mapping, map_len) != map_len) {\n"
-#~ "        fprintf(stderr, \"ERROR: write %s: %s\\en\", map_file,\n"
-#~ "                strerror(errno));\n"
-#~ "        exit(EXIT_FAILURE);\n"
-#~ "    }\n"
-
-#~ msgid ""
-#~ "    close(fd);\n"
-#~ "}\n"
-#~ msgstr ""
-#~ "    close(fd);\n"
-#~ "}\n"
-
-#~ msgid ""
 #~ "static int              /* Start function for cloned child */\n"
 #~ "childFunc(void *arg)\n"
 #~ "{\n"
@@ -22935,17 +21451,6 @@ msgstr ""
 #~ msgid "    /* Execute a shell command */\n"
 #~ msgstr "    /* シェルコマンドを実行する */\n"
 
-#~ msgid ""
-#~ "    printf(\"About to exec %s\\en\", args-E<gt>argv[0]);\n"
-#~ "    execvp(args-E<gt>argv[0], args-E<gt>argv);\n"
-#~ "    errExit(\"execvp\");\n"
-#~ "}\n"
-#~ msgstr ""
-#~ "    printf(\"About to exec %s\\en\", args-E<gt>argv[0]);\n"
-#~ "    execvp(args-E<gt>argv[0], args-E<gt>argv);\n"
-#~ "    errExit(\"execvp\");\n"
-#~ "}\n"
-
 #~ msgid "#define STACK_SIZE (1024 * 1024)\n"
 #~ msgstr "#define STACK_SIZE (1024 * 1024)\n"
 
@@ -22953,29 +21458,6 @@ msgstr ""
 #~ msgstr "static char child_stack[STACK_SIZE];    /* 子プロセスのスタック空間 */\n"
 
 #~ msgid ""
-#~ "int\n"
-#~ "main(int argc, char *argv[])\n"
-#~ "{\n"
-#~ "    int flags, opt, map_zero;\n"
-#~ "    pid_t child_pid;\n"
-#~ "    struct child_args args;\n"
-#~ "    char *uid_map, *gid_map;\n"
-#~ "    const int MAP_BUF_SIZE = 100;\n"
-#~ "    char map_buf[MAP_BUF_SIZE];\n"
-#~ "    char map_path[PATH_MAX];\n"
-#~ msgstr ""
-#~ "int\n"
-#~ "main(int argc, char *argv[])\n"
-#~ "{\n"
-#~ "    int flags, opt, map_zero;\n"
-#~ "    pid_t child_pid;\n"
-#~ "    struct child_args args;\n"
-#~ "    char *uid_map, *gid_map;\n"
-#~ "    const int MAP_BUF_SIZE = 100;\n"
-#~ "    char map_buf[MAP_BUF_SIZE];\n"
-#~ "    char map_path[PATH_MAX];\n"
-
-#~ msgid ""
 #~ "    /* Parse command-line options. The initial \\(aq+\\(aq character in\n"
 #~ "       the final getopt() argument prevents GNU-style permutation\n"
 #~ "       of command-line options. That\\(aqs useful, since sometimes\n"
@@ -22991,64 +21473,10 @@ msgstr ""
 #~ "       getopt() にこれらをこのプログラムのオプションとして\n"
 #~ "       扱ってほしくはないのだ。 */\n"
 
-#~ msgid ""
-#~ "    flags = 0;\n"
-#~ "    verbose = 0;\n"
-#~ "    gid_map = NULL;\n"
-#~ "    uid_map = NULL;\n"
-#~ "    map_zero = 0;\n"
-#~ "    while ((opt = getopt(argc, argv, \"+imnpuUM:G:zv\")) != -1) {\n"
-#~ "        switch (opt) {\n"
-#~ "        case \\(aqi\\(aq: flags |= CLONE_NEWIPC;        break;\n"
-#~ "        case \\(aqm\\(aq: flags |= CLONE_NEWNS;         break;\n"
-#~ "        case \\(aqn\\(aq: flags |= CLONE_NEWNET;        break;\n"
-#~ "        case \\(aqp\\(aq: flags |= CLONE_NEWPID;        break;\n"
-#~ "        case \\(aqu\\(aq: flags |= CLONE_NEWUTS;        break;\n"
-#~ "        case \\(aqv\\(aq: verbose = 1;                  break;\n"
-#~ "        case \\(aqz\\(aq: map_zero = 1;                 break;\n"
-#~ "        case \\(aqM\\(aq: uid_map = optarg;             break;\n"
-#~ "        case \\(aqG\\(aq: gid_map = optarg;             break;\n"
-#~ "        case \\(aqU\\(aq: flags |= CLONE_NEWUSER;       break;\n"
-#~ "        default:  usage(argv[0]);\n"
-#~ "        }\n"
-#~ "    }\n"
-#~ msgstr ""
-#~ "    flags = 0;\n"
-#~ "    verbose = 0;\n"
-#~ "    gid_map = NULL;\n"
-#~ "    uid_map = NULL;\n"
-#~ "    map_zero = 0;\n"
-#~ "    while ((opt = getopt(argc, argv, \"+imnpuUM:G:zv\")) != -1) {\n"
-#~ "        switch (opt) {\n"
-#~ "        case \\(aqi\\(aq: flags |= CLONE_NEWIPC;        break;\n"
-#~ "        case \\(aqm\\(aq: flags |= CLONE_NEWNS;         break;\n"
-#~ "        case \\(aqn\\(aq: flags |= CLONE_NEWNET;        break;\n"
-#~ "        case \\(aqp\\(aq: flags |= CLONE_NEWPID;        break;\n"
-#~ "        case \\(aqu\\(aq: flags |= CLONE_NEWUTS;        break;\n"
-#~ "        case \\(aqv\\(aq: verbose = 1;                  break;\n"
-#~ "        case \\(aqz\\(aq: map_zero = 1;                 break;\n"
-#~ "        case \\(aqM\\(aq: uid_map = optarg;             break;\n"
-#~ "        case \\(aqG\\(aq: gid_map = optarg;             break;\n"
-#~ "        case \\(aqU\\(aq: flags |= CLONE_NEWUSER;       break;\n"
-#~ "        default:  usage(argv[0]);\n"
-#~ "        }\n"
-#~ "    }\n"
-
 #~ msgid "    /* -M or -G without -U is nonsensical */\n"
 #~ msgstr "    /* -U なしの -M や -G の指定は意味がない */\n"
 
 #~ msgid ""
-#~ "    if (((uid_map != NULL || gid_map != NULL || map_zero) &&\n"
-#~ "                !(flags & CLONE_NEWUSER)) ||\n"
-#~ "            (map_zero && (uid_map != NULL || gid_map != NULL)))\n"
-#~ "        usage(argv[0]);\n"
-#~ msgstr ""
-#~ "    if (((uid_map != NULL || gid_map != NULL || map_zero) &&\n"
-#~ "                !(flags & CLONE_NEWUSER)) ||\n"
-#~ "            (map_zero && (uid_map != NULL || gid_map != NULL)))\n"
-#~ "        usage(argv[0]);\n"
-
-#~ msgid ""
 #~ "    /* We use a pipe to synchronize the parent and child, in order to\n"
 #~ "       ensure that the parent sets the UID and GID maps before the child\n"
 #~ "       calls execve(). This ensures that the child maintains its\n"
@@ -23070,97 +21498,15 @@ msgstr ""
 #~ "       ことになる (execve() 実行中のプロセスのケーパビリティの変化の\n"
 #~ "       詳細については capabilities(7) マニュアルページを参照)。 */\n"
 
-#~ msgid ""
-#~ "    if (pipe(args.pipe_fd) == -1)\n"
-#~ "        errExit(\"pipe\");\n"
-#~ msgstr ""
-#~ "    if (pipe(args.pipe_fd) == -1)\n"
-#~ "        errExit(\"pipe\");\n"
-
-#~ msgid ""
-#~ "    child_pid = clone(childFunc, child_stack + STACK_SIZE,\n"
-#~ "                      flags | SIGCHLD, &args);\n"
-#~ "    if (child_pid == -1)\n"
-#~ "        errExit(\"clone\");\n"
-#~ msgstr ""
-#~ "    child_pid = clone(childFunc, child_stack + STACK_SIZE,\n"
-#~ "                      flags | SIGCHLD, &args);\n"
-#~ "    if (child_pid == -1)\n"
-#~ "        errExit(\"clone\");\n"
-
 #~ msgid "    /* Parent falls through to here */\n"
 #~ msgstr "    /* 親プロセスはここを実行する */\n"
 
-#~ msgid ""
-#~ "    if (verbose)\n"
-#~ "        printf(\"%s: PID of child created by clone() is %ld\\en\",\n"
-#~ "                argv[0], (long) child_pid);\n"
-#~ msgstr ""
-#~ "    if (verbose)\n"
-#~ "        printf(\"%s: PID of child created by clone() is %ld\\en\",\n"
-#~ "                argv[0], (long) child_pid);\n"
-
 #~ msgid "    /* Update the UID and GID maps in the child */\n"
 #~ msgstr "    /* 子プロセスの UID と GID のマッピングを更新する */\n"
 
 #~ msgid ""
-#~ "    if (uid_map != NULL || map_zero) {\n"
-#~ "        snprintf(map_path, PATH_MAX, \"/proc/%ld/uid_map\",\n"
-#~ "                (long) child_pid);\n"
-#~ "        if (map_zero) {\n"
-#~ "            snprintf(map_buf, MAP_BUF_SIZE, \"0 %ld 1\", (long) getuid());\n"
-#~ "            uid_map = map_buf;\n"
-#~ "        }\n"
-#~ "        update_map(uid_map, map_path);\n"
-#~ "    }\n"
-#~ "    if (gid_map != NULL || map_zero) {\n"
-#~ "        snprintf(map_path, PATH_MAX, \"/proc/%ld/gid_map\",\n"
-#~ "                (long) child_pid);\n"
-#~ "        if (map_zero) {\n"
-#~ "            snprintf(map_buf, MAP_BUF_SIZE, \"0 %ld 1\", (long) getgid());\n"
-#~ "            gid_map = map_buf;\n"
-#~ "        }\n"
-#~ "        update_map(gid_map, map_path);\n"
-#~ "    }\n"
-#~ msgstr ""
-#~ "    if (uid_map != NULL || map_zero) {\n"
-#~ "        snprintf(map_path, PATH_MAX, \"/proc/%ld/uid_map\",\n"
-#~ "                (long) child_pid);\n"
-#~ "        if (map_zero) {\n"
-#~ "            snprintf(map_buf, MAP_BUF_SIZE, \"0 %ld 1\", (long) getuid());\n"
-#~ "            uid_map = map_buf;\n"
-#~ "        }\n"
-#~ "        update_map(uid_map, map_path);\n"
-#~ "    }\n"
-#~ "    if (gid_map != NULL || map_zero) {\n"
-#~ "        snprintf(map_path, PATH_MAX, \"/proc/%ld/gid_map\",\n"
-#~ "                (long) child_pid);\n"
-#~ "        if (map_zero) {\n"
-#~ "            snprintf(map_buf, MAP_BUF_SIZE, \"0 %ld 1\", (long) getgid());\n"
-#~ "            gid_map = map_buf;\n"
-#~ "        }\n"
-#~ "        update_map(gid_map, map_path);\n"
-#~ "    }\n"
-
-#~ 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"
-
-#~ msgid "    close(args.pipe_fd[1]);\n"
-#~ msgstr "    close(args.pipe_fd[1]);\n"
-
-#~ msgid ""
-#~ "    if (verbose)\n"
-#~ "        printf(\"%s: terminating\\en\", argv[0]);\n"
-#~ msgstr ""
-#~ "    if (verbose)\n"
-#~ "        printf(\"%s: terminating\\en\", argv[0]);\n"
-
-#~ msgid "B<SECCOMP_RET_KILL>"
-#~ msgstr "B<SECCOMP_RET_KILL>"
-
-#~ msgid "B<EACCESS>"
-#~ msgstr "B<EACCESS>"
index a27bc82..7210627 100644 (file)
@@ -1,36 +1,29 @@
 # pagename,#complete,#remaining,#all
-acct.2,48,6,54
-acct.5,32,2,34
-capabilities.7,331,165,496
-capget.2,42,17,59
-cpuset.7,99,215,314
-credentials.7,46,24,70
-getgid.2,22,3,25
-getgroups.2,39,14,53
-getpid.2,18,11,29
-getpriority.2,33,15,48
-getresuid.2,28,1,29
-getrlimit.2,97,43,140
-getrusage.2,77,5,82
-getsid.2,26,7,33
-getuid.2,24,3,27
-iopl.2,24,8,32
-ioprio_set.2,61,15,76
-ipc.2,15,4,19
-seteuid.2,29,9,38
-setfsgid.2,24,6,30
-setfsuid.2,24,7,31
-setgid.2,24,6,30
-setpgid.2,51,10,61
-setresuid.2,37,6,43
-setreuid.2,38,8,46
-setsid.2,21,9,30
-setuid.2,32,7,39
-sysvipc.7,12,33,45
-ulimit.3,35,4,39
-seccomp.2,77,154,231
-cgroups.7,63,348,411
-pidfd_getfd.2,17,32,49
-pidfd_open.2,20,55,75
-pidfd_send_signal.2,28,48,76
-posix_spawn.3,28,106,134
+acct.2,53,1,54
+capabilities.7,383,113,496
+capget.2,50,9,59
+cpuset.7,103,211,314
+credentials.7,59,11,70
+getgid.2,24,1,25
+getgroups.2,47,6,53
+getpid.2,23,6,29
+getpriority.2,43,5,48
+getrlimit.2,121,19,140
+getuid.2,26,1,27
+iopl.2,29,3,32
+ioprio_set.2,74,2,76
+seteuid.2,36,2,38
+setfsgid.2,26,4,30
+setfsuid.2,27,4,31
+setgid.2,28,2,30
+setresuid.2,41,2,43
+setreuid.2,43,3,46
+setsid.2,29,1,30
+setuid.2,37,2,39
+sysvipc.7,27,18,45
+seccomp.2,107,124,231
+cgroups.7,98,313,411
+pidfd_getfd.2,26,23,49
+pidfd_open.2,40,35,75
+pidfd_send_signal.2,46,30,76
+posix_spawn.3,54,80,134
index e33d755..6cc0ec0 100644 (file)
 <TR class="over80"><TD>move_pages.2</TD><TD>7/71</TD><TD>90.14</TD></TR>
 <TR class="over80"><TD>set_mempolicy.2</TD><TD>1/54</TD><TD>98.15</TD></TR>
 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>process</B></TD></TR>
-<TR class="over80"><TD>acct.2</TD><TD>6/54</TD><TD>88.89</TD></TR>
-<TR class="over80"><TD>acct.5</TD><TD>2/34</TD><TD>94.12</TD></TR>
-<TR><TD>capabilities.7</TD><TD>165/496</TD><TD>66.73</TD></TR>
-<TR class="over70"><TD>capget.2</TD><TD>17/59</TD><TD>71.19</TD></TR>
-<TR><TD>cpuset.7</TD><TD>215/314</TD><TD>31.53</TD></TR>
-<TR><TD>credentials.7</TD><TD>24/70</TD><TD>65.71</TD></TR>
-<TR class="over80"><TD>getgid.2</TD><TD>3/25</TD><TD>88.00</TD></TR>
-<TR class="over70"><TD>getgroups.2</TD><TD>14/53</TD><TD>73.58</TD></TR>
-<TR><TD>getpid.2</TD><TD>11/29</TD><TD>62.07</TD></TR>
-<TR><TD>getpriority.2</TD><TD>15/48</TD><TD>68.75</TD></TR>
-<TR class="over80"><TD>getresuid.2</TD><TD>1/29</TD><TD>96.55</TD></TR>
-<TR><TD>getrlimit.2</TD><TD>43/140</TD><TD>69.29</TD></TR>
-<TR class="over80"><TD>getrusage.2</TD><TD>5/82</TD><TD>93.90</TD></TR>
-<TR class="over70"><TD>getsid.2</TD><TD>7/33</TD><TD>78.79</TD></TR>
-<TR class="over80"><TD>getuid.2</TD><TD>3/27</TD><TD>88.89</TD></TR>
-<TR class="over70"><TD>iopl.2</TD><TD>8/32</TD><TD>75.00</TD></TR>
-<TR class="over80"><TD>ioprio_set.2</TD><TD>15/76</TD><TD>80.26</TD></TR>
-<TR class="over70"><TD>ipc.2</TD><TD>4/19</TD><TD>78.95</TD></TR>
-<TR class="over70"><TD>seteuid.2</TD><TD>9/38</TD><TD>76.32</TD></TR>
-<TR class="over80"><TD>setfsgid.2</TD><TD>6/30</TD><TD>80.00</TD></TR>
-<TR class="over70"><TD>setfsuid.2</TD><TD>7/31</TD><TD>77.42</TD></TR>
-<TR class="over80"><TD>setgid.2</TD><TD>6/30</TD><TD>80.00</TD></TR>
-<TR class="over80"><TD>setpgid.2</TD><TD>10/61</TD><TD>83.61</TD></TR>
-<TR class="over80"><TD>setresuid.2</TD><TD>6/43</TD><TD>86.05</TD></TR>
-<TR class="over80"><TD>setreuid.2</TD><TD>8/46</TD><TD>82.61</TD></TR>
-<TR class="over70"><TD>setsid.2</TD><TD>9/30</TD><TD>70.00</TD></TR>
-<TR class="over80"><TD>setuid.2</TD><TD>7/39</TD><TD>82.05</TD></TR>
-<TR><TD>sysvipc.7</TD><TD>33/45</TD><TD>26.67</TD></TR>
-<TR class="over80"><TD>ulimit.3</TD><TD>4/39</TD><TD>89.74</TD></TR>
-<TR><TD>seccomp.2</TD><TD>154/231</TD><TD>33.33</TD></TR>
-<TR><TD>cgroups.7</TD><TD>348/411</TD><TD>15.33</TD></TR>
-<TR><TD>pidfd_getfd.2</TD><TD>32/49</TD><TD>34.69</TD></TR>
-<TR><TD>pidfd_open.2</TD><TD>55/75</TD><TD>26.67</TD></TR>
-<TR><TD>pidfd_send_signal.2</TD><TD>48/76</TD><TD>36.84</TD></TR>
-<TR><TD>posix_spawn.3</TD><TD>106/134</TD><TD>20.90</TD></TR>
+<TR class="over80"><TD>acct.2</TD><TD>1/54</TD><TD>98.15</TD></TR>
+<TR class="over70"><TD>capabilities.7</TD><TD>113/496</TD><TD>77.22</TD></TR>
+<TR class="over80"><TD>capget.2</TD><TD>9/59</TD><TD>84.75</TD></TR>
+<TR><TD>cpuset.7</TD><TD>211/314</TD><TD>32.80</TD></TR>
+<TR class="over80"><TD>credentials.7</TD><TD>11/70</TD><TD>84.29</TD></TR>
+<TR class="over80"><TD>getgid.2</TD><TD>1/25</TD><TD>96.00</TD></TR>
+<TR class="over80"><TD>getgroups.2</TD><TD>6/53</TD><TD>88.68</TD></TR>
+<TR class="over70"><TD>getpid.2</TD><TD>6/29</TD><TD>79.31</TD></TR>
+<TR class="over80"><TD>getpriority.2</TD><TD>5/48</TD><TD>89.58</TD></TR>
+<TR class="over80"><TD>getrlimit.2</TD><TD>19/140</TD><TD>86.43</TD></TR>
+<TR class="over80"><TD>getuid.2</TD><TD>1/27</TD><TD>96.30</TD></TR>
+<TR class="over80"><TD>iopl.2</TD><TD>3/32</TD><TD>90.62</TD></TR>
+<TR class="over80"><TD>ioprio_set.2</TD><TD>2/76</TD><TD>97.37</TD></TR>
+<TR class="over80"><TD>seteuid.2</TD><TD>2/38</TD><TD>94.74</TD></TR>
+<TR class="over80"><TD>setfsgid.2</TD><TD>4/30</TD><TD>86.67</TD></TR>
+<TR class="over80"><TD>setfsuid.2</TD><TD>4/31</TD><TD>87.10</TD></TR>
+<TR class="over80"><TD>setgid.2</TD><TD>2/30</TD><TD>93.33</TD></TR>
+<TR class="over80"><TD>setresuid.2</TD><TD>2/43</TD><TD>95.35</TD></TR>
+<TR class="over80"><TD>setreuid.2</TD><TD>3/46</TD><TD>93.48</TD></TR>
+<TR class="over80"><TD>setsid.2</TD><TD>1/30</TD><TD>96.67</TD></TR>
+<TR class="over80"><TD>setuid.2</TD><TD>2/39</TD><TD>94.87</TD></TR>
+<TR><TD>sysvipc.7</TD><TD>18/45</TD><TD>60.00</TD></TR>
+<TR><TD>seccomp.2</TD><TD>124/231</TD><TD>46.32</TD></TR>
+<TR><TD>cgroups.7</TD><TD>313/411</TD><TD>23.84</TD></TR>
+<TR><TD>pidfd_getfd.2</TD><TD>23/49</TD><TD>53.06</TD></TR>
+<TR><TD>pidfd_open.2</TD><TD>35/75</TD><TD>53.33</TD></TR>
+<TR><TD>pidfd_send_signal.2</TD><TD>30/76</TD><TD>60.53</TD></TR>
+<TR><TD>posix_spawn.3</TD><TD>80/134</TD><TD>40.30</TD></TR>
 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>pthread</B></TD></TR>
 <TR class="over80"><TD>getcontext.3</TD><TD>1/41</TD><TD>97.56</TD></TR>
 <TR class="over80"><TD>makecontext.3</TD><TD>1/56</TD><TD>98.21</TD></TR>
 <TR class="over80"><TD>login.3</TD><TD>1/46</TD><TD>97.83</TD></TR>
 <TR><TD ALIGN="center" COLSPAN=3 BGCOLOR="Yellow"><B>wchar</B></TD></TR>
 <TR class="over80"><TD>mbsnrtowcs.3</TD><TD>1/47</TD><TD>97.87</TD></TR>
-<TR><TD COLSPAN=3>Total 677 pages</TD></TR>
+<TR><TD COLSPAN=3>Total 670 pages</TD></TR>
 </TABLE>
 </BODY></HTML>