diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
commit | fc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch) | |
tree | ce1e3bce06471410239a6f41282e328770aa404a /po/ru/man2/open.2.po | |
parent | Initial commit. (diff) | |
download | manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip |
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'po/ru/man2/open.2.po')
-rw-r--r-- | po/ru/man2/open.2.po | 3476 |
1 files changed, 3476 insertions, 0 deletions
diff --git a/po/ru/man2/open.2.po b/po/ru/man2/open.2.po new file mode 100644 index 00000000..a6cbfa2e --- /dev/null +++ b/po/ru/man2/open.2.po @@ -0,0 +1,3476 @@ +# Russian translation of manpages +# This file is distributed under the same license as the manpages-l10n package. +# Copyright © of this file: +# Azamat Hackimov <azamat.hackimov@gmail.com>, 2016. +# Konstantin Shvaykovskiy <kot.shv@gmail.com>, 2012. +# Yuri Kozlov <yuray@komyakino.ru>, 2011-2019. +# Иван Павлов <pavia00@gmail.com>, 2017. +msgid "" +msgstr "" +"Project-Id-Version: manpages-l10n\n" +"POT-Creation-Date: 2024-03-09 16:26+0100\n" +"PO-Revision-Date: 2019-10-06 09:05+0300\n" +"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n" +"Language-Team: Russian <man-pages-ru-talks@lists.sourceforge.net>\n" +"Language: ru\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || " +"(n%100>=11 && n%100<=14)? 2 : 3);\n" +"X-Generator: Lokalize 2.0\n" + +#. type: TH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "open" +msgstr "open" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "2024-01-16" +msgstr "16 января 2024 г." + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "Linux man-pages 6.06" +msgstr "Linux man-pages 6.06" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NAME" +msgstr "ИМЯ" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "open, openat, creat - open and possibly create a file" +msgstr "open, openat, creat - открывает и, возможно, создаёт файл" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "LIBRARY" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Standard C library (I<libc>, I<-lc>)" +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "SYNOPSIS" +msgstr "СИНТАКСИС" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<#include E<lt>fcntl.hE<gt>>\n" +msgstr "B<#include E<lt>fcntl.hE<gt>>\n" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "" +#| "B<int open(const char *>I<pathname>B<, int >I<flags>B<);>\n" +#| "B<int open(const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n" +msgid "" +"B<int open(const char *>I<pathname>B<, int >I<flags>B<, ...>\n" +"B< >/*B< mode_t >I<mode>B< >*/B< );>\n" +msgstr "" +"B<int open(const char *>I<pathname>B<, int >I<flags>B<);>\n" +"B<int open(const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<int creat(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n" +msgstr "B<int creat(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "" +#| "B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<);>\n" +#| "B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n" +msgid "" +"B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<, ...>\n" +"B< >/*B< mode_t >I<mode>B< >*/B< );>\n" +msgstr "" +"B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<);>\n" +"B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n" + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, fuzzy, no-wrap +#| msgid "" +#| "B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<);>\n" +#| "B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n" +msgid "" +"/* Documented separately, in \n" +"B<openat2>(2):\n" +"\\& */\n" +"B<int openat2(int >I<dirfd>B<, const char *>I<pathname>B<,>\n" +"B< const struct open_how *>I<how>B<, size_t >I<size>B<);>\n" +msgstr "" +"B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<);>\n" +"B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):" +msgstr "" +"Требования макроса тестирования свойств для glibc (см. " +"B<feature_test_macros>(7)):" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "B<openat>():" +msgstr "B<openat>():" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +" Since glibc 2.10:\n" +" _POSIX_C_SOURCE E<gt>= 200809L\n" +" Before glibc 2.10:\n" +" _ATFILE_SOURCE\n" +msgstr "" +" Начиная с glibc 2.10:\n" +" _POSIX_C_SOURCE E<gt>= 200809L\n" +" До glibc 2.10:\n" +" _ATFILE_SOURCE\n" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "DESCRIPTION" +msgstr "ОПИСАНИЕ" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<open>() system call opens the file specified by I<pathname>. If the " +"specified file does not exist, it may optionally (if B<O_CREAT> is specified " +"in I<flags>) be created by B<open>()." +msgstr "" +"Системный вызов B<open>() открывает файл, на который указывает I<pathname>. " +"Если заданный файл не существует, то он может быть создан B<open>() (если в " +"I<flags> задан B<O_CREAT>)." + +#. type: Plain text +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, fuzzy +#| msgid "" +#| "The return value of B<open>() is a file descriptor, a small, nonnegative " +#| "integer that is used in subsequent system calls (B<read>(2), B<write>(2), " +#| "B<lseek>(2), B<fcntl>(2), etc.) to refer to the open file. The file " +#| "descriptor returned by a successful call will be the lowest-numbered file " +#| "descriptor not currently open for the process." +msgid "" +"The return value of B<open>() is a file descriptor, a small, nonnegative " +"integer that is an index to an entry in the process's table of open file " +"descriptors. The file descriptor is used in subsequent system calls " +"( B<read>(2), B<write>(2), B<lseek>(2), B<fcntl>(2), etc.) to refer to the " +"open file. The file descriptor returned by a successful call will be the " +"lowest-numbered file descriptor not currently open for the process." +msgstr "" +"Возвращаемым значением B<open>() является файловый дескриптор, указывающий " +"на открытый файл — небольшое неотрицательное целое, которое используется в " +"последующих системных вызовах (B<read>(2), B<write>(2), B<lseek>(2), " +"B<fcntl>(2) и т. д.). Файловый дескриптор, возвращаемый при успешном " +"выполнении вызова, будет самым маленьким числом из файловых дескрипторов, " +"которые ещё не открыты процессом." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"By default, the new file descriptor is set to remain open across an " +"B<execve>(2) (i.e., the B<FD_CLOEXEC> file descriptor flag described in " +"B<fcntl>(2) is initially disabled); the B<O_CLOEXEC> flag, described below, " +"can be used to change this default. The file offset is set to the beginning " +"of the file (see B<lseek>(2))." +msgstr "" +"По умолчанию, новый файловый дескриптор остаётся открытым при вызове " +"B<execve>(2) (т. е., флаг B<FD_CLOEXEC> файлового дескриптора, описанный в " +"B<fcntl>(2), изначально сброшен; для изменения поведения по умолчанию можно " +"использовать флаг B<O_CLOEXEC>, он описан далее). Файловое смещение " +"устанавливается на начало файла (см. B<lseek>(2))." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A call to B<open>() creates a new I<open file description>, an entry in the " +"system-wide table of open files. The open file description records the file " +"offset and the file status flags (see below). A file descriptor is a " +"reference to an open file description; this reference is unaffected if " +"I<pathname> is subsequently removed or modified to refer to a different " +"file. For further details on open file descriptions, see NOTES." +msgstr "" +"Вызов B<open>() создаёт новое I<открытое файловое описание> — запись в " +"системной таблице открытых файлов. В этой записи хранится смещение и флаги " +"состояния файла (смотрите ниже). Файловый дескриптор — это ссылка на " +"открытое файловое описание; с этой ссылкой ничего не происходит при " +"последующем удалении I<pathname> или переуказании имени на другой файл. " +"Дополнительную информацию об открытых файловых описаниях смотрите в разделе " +"ЗАМЕЧАНИЯ." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The argument I<flags> must include one of the following I<access modes>: " +"B<O_RDONLY>, B<O_WRONLY>, or B<O_RDWR>. These request opening the file read-" +"only, write-only, or read/write, respectively." +msgstr "" +"Параметр I<flags> должен содержать один из следующих I<режимов доступа>: " +"B<O_RDONLY> (только для чтения), B<O_WRONLY> (только для записи) или " +"B<O_RDWR> (для чтения и записи)." + +#. SUSv4 divides the flags into: +#. * Access mode +#. * File creation +#. * File status +#. * Other (O_CLOEXEC, O_DIRECTORY, O_NOFOLLOW) +#. though it's not clear what the difference between "other" and +#. "File creation" flags is. I raised an Aardvark to see if this +#. can be clarified in SUSv4; 10 Oct 2008. +#. http://thread.gmane.org/gmane.comp.standards.posix.austin.general/64/focus=67 +#. TC1 (balloted in 2013), resolved this, so that those three constants +#. are also categorized" as file status flags. +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "In addition, zero or more file creation flags and file status flags can " +#| "be bitwise-I<or>'d in I<flags>. The I<file creation flags> are " +#| "B<O_CLOEXEC>, B<O_CREAT>, B<O_DIRECTORY>, B<O_EXCL>, B<O_NOCTTY>, " +#| "B<O_NOFOLLOW>, B<O_TMPFILE>, and B<O_TRUNC>. The I<file status flags> " +#| "are all of the remaining flags listed below. The distinction between " +#| "these two groups of flags is that the file creation flags affect the " +#| "semantics of the open operation itself, while the file status flags " +#| "affect the semantics of subsequent I/O operations. The file status flags " +#| "can be retrieved and (in some cases) modified; see B<fcntl>(2) for " +#| "details." +msgid "" +"In addition, zero or more file creation flags and file status flags can be " +"bitwise ORed in I<flags>. The I<file creation flags> are B<O_CLOEXEC>, " +"B<O_CREAT>, B<O_DIRECTORY>, B<O_EXCL>, B<O_NOCTTY>, B<O_NOFOLLOW>, " +"B<O_TMPFILE>, and B<O_TRUNC>. The I<file status flags> are all of the " +"remaining flags listed below. The distinction between these two groups of " +"flags is that the file creation flags affect the semantics of the open " +"operation itself, while the file status flags affect the semantics of " +"subsequent I/O operations. The file status flags can be retrieved and (in " +"some cases) modified; see B<fcntl>(2) for details." +msgstr "" +"Также в I<flags> можно указывать флаги создания и состояния файла, объединяя " +"их битовой операцией I<ИЛИ>. I<Флаги создания файла>: B<O_CLOEXEC>, " +"B<O_CREAT>, B<O_DIRECTORY>, B<O_EXCL>, B<O_NOCTTY>, B<O_NOFOLLOW>, " +"B<O_TMPFILE> и B<O_TRUNC>. I<Флаги состояния файла> — все оставшиеся, " +"перечислены ниже. Различие между двумя этими группами в том, что флаги " +"создания влияют на работу самой операции открытия, а флаги состояния влияют " +"на работу последующих операций ввода-вывода. Флаги состояния можно запросить " +"и (в некоторых случаях) изменить; смотрите B<fcntl>(2)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The full list of file creation flags and file status flags is as follows:" +msgstr "Полный список флагов создания и флагов состояния файла:" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<O_APPEND>" +msgstr "B<O_APPEND>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The file is opened in append mode. Before each B<write>(2), the file offset " +"is positioned at the end of the file, as if with B<lseek>(2). The " +"modification of the file offset and the write operation are performed as a " +"single atomic step." +msgstr "" +"Файл открывается в режиме добавления. Перед каждым вызовом B<write>(2), " +"файловое смещение устанавливается в конец файла, как если бы это делалось с " +"помощью B<lseek>(2). Изменение файлового смещения и операция записи " +"выполняются атомарно, за один шаг." + +#. For more background, see +#. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=453946 +#. http://nfs.sourceforge.net/ +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<O_APPEND> may lead to corrupted files on NFS filesystems if more than one " +"process appends data to a file at once. This is because NFS does not " +"support appending to a file, so the client kernel has to simulate it, which " +"can't be done without a race condition." +msgstr "" +"Указание флага B<O_APPEND> может приводить к повреждению файлов в файловых " +"системах NFS, если одновременно добавляют данные в файл несколько процессов. " +"Это происходит из-за того, что NFS не поддерживает добавление в файл, " +"поэтому клиентское ядро имитирует такое поведение, но при этом нельзя " +"избежать состязательности процессов." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<O_ASYNC>" +msgstr "B<O_ASYNC>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Enable signal-driven I/O: generate a signal (B<SIGIO> by default, but this " +"can be changed via B<fcntl>(2)) when input or output becomes possible on " +"this file descriptor. This feature is available only for terminals, " +"pseudoterminals, sockets, and (since Linux 2.6) pipes and FIFOs. See " +"B<fcntl>(2) for further details. See also BUGS, below." +msgstr "" +"Включает ввод-вывод, управляемый сигналом: генерирует сигнал (по умолчанию " +"B<SIGIO>, но можно изменить с помощью B<fcntl>(2)), когда становится " +"возможным ввод или вывод для этого файлового дескриптора. Эта возможность " +"доступна только для терминалов, псевдотерминалов, сокетов, каналов (начиная " +"с Linux 2.6) и FIFO. Подробней смотрите B<fcntl>(2). Также смотрите ДЕФЕКТЫ " +"далее." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<O_CLOEXEC> (since Linux 2.6.23)" +msgstr "B<O_CLOEXEC> (начиная с Linux 2.6.23)" + +#. NOTE! several other man pages refer to this text +#. FIXME . for later review when Issue 8 is one day released... +#. POSIX proposes to fix many APIs that provide hidden FDs +#. http://austingroupbugs.net/tag_view_page.php?tag_id=8 +#. http://austingroupbugs.net/view.php?id=368 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Enable the close-on-exec flag for the new file descriptor. Specifying this " +"flag permits a program to avoid additional B<fcntl>(2) B<F_SETFD> " +"operations to set the B<FD_CLOEXEC> flag." +msgstr "" +"Устанавливает флаг close-on-exec на новом файловом дескрипторе. Указание " +"данного флага позволяет программе избежать дополнительной операции " +"B<fcntl>(2) B<F_SETFD> для установки флага B<FD_CLOEXEC>." + +#. This flag fixes only one form of the race condition; +#. The race can also occur with, for example, file descriptors +#. returned by accept(), pipe(), etc. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Note that the use of this flag is essential in some multithreaded programs, " +"because using a separate B<fcntl>(2) B<F_SETFD> operation to set the " +"B<FD_CLOEXEC> flag does not suffice to avoid race conditions where one " +"thread opens a file descriptor and attempts to set its close-on-exec flag " +"using B<fcntl>(2) at the same time as another thread does a B<fork>(2) " +"plus B<execve>(2). Depending on the order of execution, the race may lead " +"to the file descriptor returned by B<open>() being unintentionally leaked " +"to the program executed by the child process created by B<fork>(2). (This " +"kind of race is in principle possible for any system call that creates a " +"file descriptor whose close-on-exec flag should be set, and various other " +"Linux system calls provide an equivalent of the B<O_CLOEXEC> flag to deal " +"with this problem.)" +msgstr "" +"Заметим, что использование этого флага обязательно для некоторых " +"многонитиевых программ, так как использование отдельной операции B<fcntl>(2) " +"B<F_SETFD> для установки флага B<FD_CLOEXEC> недостаточно для избежания " +"состязательности, когда одна нить открывает файловый дескриптор, а в тоже " +"время другая нить может выполнять B<fork>(2) и B<execve>(2). В зависимости " +"от порядка выполнения, состязательность может привести к тому, что файловый " +"дескриптор, возвращённый B<open>(), будет ненамеренно передан программе, " +"выполняющейся в созданном с помощью B<fork>(2) потомке (такого рода " +"состязательность, в принципе, возможна для любых системных вызовов, " +"создающих файловый дескриптор, у которого должен быть установлен флаг close-" +"on-exec, и различные другие системные вызовы Linux предоставляют эквивалент " +"флагу B<O_CLOEXEC>, чтобы избежать этой проблемы)." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<O_CREAT>" +msgstr "B<O_CREAT>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "If I<pathname> does not exist, create it as a regular file." +msgstr "Если I<pathname> не существует, то создать обычный файл." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The owner (user ID) of the new file is set to the effective user ID of the " +"process." +msgstr "" +"Владельцем (ID пользователя) нового файла назначается эффективный " +"идентификатор пользователя процесса." + +#. As at Linux 2.6.25, bsdgroups is supported by ext2, ext3, ext4, and +#. XFS (since Linux 2.6.14). +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The group ownership (group ID) of the new file is set either to the " +"effective group ID of the process (System V semantics) or to the group ID " +"of the parent directory (BSD semantics). On Linux, the behavior depends on " +"whether the set-group-ID mode bit is set on the parent directory: if that " +"bit is set, then BSD semantics apply; otherwise, System V semantics apply. " +"For some filesystems, the behavior also depends on the I<bsdgroups> and " +"I<sysvgroups> mount options described in B<mount>(8)." +msgstr "" +"Группой владельцев (ID группы) нового файла назначается эффективный " +"идентификатор группы процесса (согласно System V) или ID группы " +"родительского каталога (согласно BSD). В Linux это зависит от наличия бита " +"режима set-group-ID на родительском каталоге: если этот бит установлен, то " +"используется правило BSD; в противном случае применяется правило System V. В " +"некоторых файловых системах поведение также зависит от параметров " +"монтирования I<bsdgroups> и I<sysvgroups>, описанных в B<mount>(8)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<mode> argument specifies the file mode bits to be applied when a new " +"file is created. If neither B<O_CREAT> nor B<O_TMPFILE> is specified in " +"I<flags>, then I<mode> is ignored (and can thus be specified as 0, or simply " +"omitted). The I<mode> argument B<must> be supplied if B<O_CREAT> or " +"B<O_TMPFILE> is specified in I<flags>; if it is not supplied, some arbitrary " +"bytes from the stack will be applied as the file mode." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The effective mode is modified by the process's I<umask> in the usual way: " +"in the absence of a default ACL, the mode of the created file is I<(mode\\ " +"&\\ \\[ti]umask)>." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Note that I<mode> applies only to future accesses of the newly created file; " +"the B<open>() call that creates a read-only file may well return a read/" +"write file descriptor." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The following symbolic constants are provided for I<mode>:" +msgstr "Символьные константы, используемые в I<mode>:" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<S_IRWXU>" +msgstr "B<S_IRWXU>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "00700 user (file owner) has read, write, and execute permission" +msgstr "" +"00700 пользователь (владелец файла) имеет права на чтение, запись и " +"выполнение файла" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<S_IRUSR>" +msgstr "B<S_IRUSR>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "00400 user has read permission" +msgstr "00400 пользователь имеет права на чтение файла" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<S_IWUSR>" +msgstr "B<S_IWUSR>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "00200 user has write permission" +msgstr "00200 пользователь имеет права на запись в файл" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<S_IXUSR>" +msgstr "B<S_IXUSR>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "00100 user has execute permission" +msgstr "00100 пользователь имеет права на выполнение файла" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<S_IRWXG>" +msgstr "B<S_IRWXG>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "00070 group has read, write, and execute permission" +msgstr "00070 группа имеет права на чтение, запись и выполнение файла" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<S_IRGRP>" +msgstr "B<S_IRGRP>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "00040 group has read permission" +msgstr "00040 группа имеет права на чтение файла" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<S_IWGRP>" +msgstr "B<S_IWGRP>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "00020 group has write permission" +msgstr "00020 группа имеет права на запись в файл" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<S_IXGRP>" +msgstr "B<S_IXGRP>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "00010 group has execute permission" +msgstr "00010 группа имеет права на выполнение файла" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<S_IRWXO>" +msgstr "B<S_IRWXO>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "00007 others have read, write, and execute permission" +msgstr "00007 все остальные имеют права на чтение, запись и выполнение файла" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<S_IROTH>" +msgstr "B<S_IROTH>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "00004 others have read permission" +msgstr "00004 все остальные имеют права на чтение файла" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<S_IWOTH>" +msgstr "B<S_IWOTH>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "00002 others have write permission" +msgstr "00002 все остальные имеют права на запись в файл" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<S_IXOTH>" +msgstr "B<S_IXOTH>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "00001 others have execute permission" +msgstr "00001 все остальные имеют права на выполнение файла" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"According to POSIX, the effect when other bits are set in I<mode> is " +"unspecified. On Linux, the following bits are also honored in I<mode>:" +msgstr "" +"Согласно POSIX, в случае, если в I<mode> указаны другие биты, их воздействие " +"не определено. В Linux для I<mode> также доступны следующие биты:" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<S_ISUID>" +msgstr "B<S_ISUID>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "0004000 set-user-ID bit" +msgstr "0004000 бит set-user-ID" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<S_ISGID>" +msgstr "B<S_ISGID>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "0002000 set-group-ID bit (see B<inode>(7))." +msgstr "0002000 бит set-group-ID (смотрите B<inode>(7))." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<S_ISVTX>" +msgstr "B<S_ISVTX>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "0001000 sticky bit (see B<inode>(7))." +msgstr "0001000 закрепляющий бит bit (смотрите B<inode>(7))." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<O_DIRECT> (since Linux 2.4.10)" +msgstr "B<O_DIRECT> (начиная с Linux 2.4.10)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Try to minimize cache effects of the I/O to and from this file. In general " +"this will degrade performance, but it is useful in special situations, such " +"as when applications do their own caching. File I/O is done directly to/" +"from user-space buffers. The B<O_DIRECT> flag on its own makes an effort to " +"transfer data synchronously, but does not give the guarantees of the " +"B<O_SYNC> flag that data and necessary metadata are transferred. To " +"guarantee synchronous I/O, B<O_SYNC> must be used in addition to " +"B<O_DIRECT>. See NOTES below for further discussion." +msgstr "" +"Попытаться минимизировать влияние кэширования ввода-вывода при чтении и " +"записи в файл. Обычно, это ухудшает производительность, но полезно для " +"особых случаев, например, когда приложение выполняет кэширование " +"самостоятельно. Файловый ввод-вывод выполняется непосредственно в/из буферов " +"пространства пользователя. При флаге B<O_DIRECT> предпринимаются все усилия " +"для синхронной передачи данных, но это не гарантирует, как с флагом " +"B<O_SYNC>, передачу данных и необходимых метаданных. Чтобы гарантировать " +"синхронный ввод-вывод вместе с B<O_DIRECT> нужно использовать B<O_SYNC>. " +"Дальнейшее описание смотрите далее в разделе ЗАМЕЧАНИЯ." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A semantically similar (but deprecated) interface for block devices is " +"described in B<raw>(8)." +msgstr "" +"Семантически похожий интерфейс (но устаревший) для блочных устройств описан " +"в B<raw>(8)." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<O_DIRECTORY>" +msgstr "B<O_DIRECTORY>" + +#. But see the following and its replies: +#. http://marc.theaimsgroup.com/?t=112748702800001&r=1&w=2 +#. [PATCH] open: O_DIRECTORY and O_CREAT together should fail +#. O_DIRECTORY | O_CREAT causes O_DIRECTORY to be ignored. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "If I<pathname> is not a directory, cause the open to fail. This flag was " +#| "added in kernel version 2.1.126, to avoid denial-of-service problems if " +#| "B<opendir>(3) is called on a FIFO or tape device." +msgid "" +"If I<pathname> is not a directory, cause the open to fail. This flag was " +"added in Linux 2.1.126, to avoid denial-of-service problems if " +"B<opendir>(3) is called on a FIFO or tape device." +msgstr "" +"Если I<pathname> не является каталогом, то завершить вызов с ошибкой. Этот " +"флаг был добавлен в ядро версии 2.1.126, чтобы избежать проблем с «отказом в " +"обслуживании», если B<opendir>(3) был вызван для канала FIFO или ленточного " +"устройства." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<O_DSYNC>" +msgstr "B<O_DSYNC>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Write operations on the file will complete according to the requirements of " +"synchronized I/O I<data> integrity completion." +msgstr "" +"Операции записи файла будут выполнены согласно требованиям целостности " +"синхронизации ввода-вывода I<data>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"By the time B<write>(2) (and similar) return, the output data has been " +"transferred to the underlying hardware, along with any file metadata that " +"would be required to retrieve that data (i.e., as though each B<write>(2) " +"was followed by a call to B<fdatasync>(2)). I<See NOTES below>." +msgstr "" +"К времени возврата из B<write>(2) (и подобных) выходные данные уже переданы " +"в задействованное аппаратное обеспечение вместе со всеми метаданными файла, " +"которые бы потребовались для получения данных (т. е., как если бы за каждым " +"B<write>(2) был выполнен вызов B<fdatasync>(2)). I<Смотрите ЗАМЕЧАНИЯ далее>." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<O_EXCL>" +msgstr "B<O_EXCL>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Ensure that this call creates the file: if this flag is specified in " +"conjunction with B<O_CREAT>, and I<pathname> already exists, then B<open>() " +"fails with the error B<EEXIST>." +msgstr "" +"Гарантирует, что вызов создаст файл: если этот флаг указан вместе с " +"B<O_CREAT> и I<pathname> уже существует, то B<open>() завершается ошибкой " +"B<EEXIST>()." + +#. POSIX.1-2001 explicitly requires this behavior. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"When these two flags are specified, symbolic links are not followed: if " +"I<pathname> is a symbolic link, then B<open>() fails regardless of where " +"the symbolic link points." +msgstr "" +"При использовании обоих флагов символьные ссылки не поддерживаются: если " +"I<pathname> является символьной ссылкой, то B<open>() завершается с ошибкой " +"независимо от того, куда указывает ссылка." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"In general, the behavior of B<O_EXCL> is undefined if it is used without " +"B<O_CREAT>. There is one exception: on Linux 2.6 and later, B<O_EXCL> can " +"be used without B<O_CREAT> if I<pathname> refers to a block device. If the " +"block device is in use by the system (e.g., mounted), B<open>() fails with " +"the error B<EBUSY>." +msgstr "" +"Вообще говоря, поведение с B<O_EXCL> не определено, если этот флаг " +"используется без B<O_CREAT>. Есть одно исключение: в Linux 2.6 и более новых " +"B<O_EXCL> можно использовать без B<O_CREAT>, если I<pathname> указывает на " +"блочное устройство. Если блочное устройство используется в системе " +"(например, смонтировано), то B<open>() завершится с ошибкой B<EBUSY>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"On NFS, B<O_EXCL> is supported only when using NFSv3 or later on kernel 2.6 " +"or later. In NFS environments where B<O_EXCL> support is not provided, " +"programs that rely on it for performing locking tasks will contain a race " +"condition. Portable programs that want to perform atomic file locking using " +"a lockfile, and need to avoid reliance on NFS support for B<O_EXCL>, can " +"create a unique file on the same filesystem (e.g., incorporating hostname " +"and PID), and use B<link>(2) to make a link to the lockfile. If " +"B<link>(2) returns 0, the lock is successful. Otherwise, use B<stat>(2) " +"on the unique file to check if its link count has increased to 2, in which " +"case the lock is also successful." +msgstr "" +"Флаг B<O_EXCL> поддерживается для NFS только, если используется NFSv3 или " +"новее с ядром 2.6 или новее. В средах, где в NFS нет поддержки B<O_EXCL>, " +"программы, которые полагаются на это для выполнения задач блокировок, будут " +"создавать состязательность процессов. Переносимым программам, которым нужно " +"произвести атомарную блокировку файла с помощь файла блокировки, необходимо " +"избегать зависимости от поддержки в NFS флага B<O_EXCL>. В качестве решения " +"можно создать уникальный файл в той же файловой системе (например, добавив " +"имя узла и PID в название), чтобы создать ссылку на файл блокировки с " +"помощью B<link>(2). Если B<link>(2) возвращает 0, то блокировка выполнена. В " +"противном случае используйте B<stat>(2), чтобы убедиться, что количество " +"ссылок на уникальный файл возросло до двух. Это также означает, что " +"блокировка была успешной." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<O_LARGEFILE>" +msgstr "B<O_LARGEFILE>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"(LFS) Allow files whose sizes cannot be represented in an I<off_t> (but can " +"be represented in an I<off64_t>) to be opened. The B<_LARGEFILE64_SOURCE> " +"macro must be defined (before including I<any> header files) in order to " +"obtain this definition. Setting the B<_FILE_OFFSET_BITS> feature test macro " +"to 64 (rather than using B<O_LARGEFILE>) is the preferred method of " +"accessing large files on 32-bit systems (see B<feature_test_macros>(7))." +msgstr "" +"(LFS) Позволяет открывать файлы, чей размер нельзя представить типом " +"I<off_t> (но можно представить типом I<off64_t>). Для получения этого " +"определения должен быть указан макрос B<_LARGEFILE64_SOURCE> (до включения " +"I<какого-либо> заголовочного файла). Установка макроса тестирования " +"возможностей B<_FILE_OFFSET_BITS> в значение 64 (вместо использования " +"B<O_LARGEFILE>) является предпочтительным методом доступа к большим файлам " +"на 32-битных системах (см. B<feature_test_macros>(7))." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<O_NOATIME> (since Linux 2.6.8)" +msgstr "B<O_NOATIME> (начиная с Linux 2.6.8)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Do not update the file last access time (I<st_atime> in the inode) when the " +"file is B<read>(2)." +msgstr "" +"Не обновлять время последнего доступа к файлу (I<st_atime> в иноде) при " +"вызове B<read>(2) для файла." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This flag can be employed only if one of the following conditions is true:" +msgstr "" +"Этот флаг может использоваться только, если удовлетворяется одно из " +"следующих условий:" + +#. type: IP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "\\[bu]" +msgstr "\\[bu]" + +#. Strictly speaking: the filesystem UID +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The effective UID of the process matches the owner UID of the file." +msgstr "" +"Эффективный пользовательский идентификатор процесса совпадает " +"идентификатором владельца файла." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The calling process has the B<CAP_FOWNER> capability in its user namespace " +"and the owner UID of the file has a mapping in the namespace." +msgstr "" +"Вызывающий процесс имеет мандат B<CAP_FOWNER> в своём пользовательском " +"пространстве имён и UID владельца файла отображён в пространстве имён." + +#. The O_NOATIME flag also affects the treatment of st_atime +#. by mmap() and readdir(2), MTK, Dec 04. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This flag is intended for use by indexing or backup programs, where its use " +"can significantly reduce the amount of disk activity. This flag may not be " +"effective on all filesystems. One example is NFS, where the server " +"maintains the access time." +msgstr "" +"Этот флаг предназначен для использования в программах индексирования и " +"резервного копирования; он позволяет значительно сократить количество " +"обращений к диску. Флаг может быть не эффективен на некоторых файловых " +"системах. Например, на NFS, где запись времени доступа выполняется сервером." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<O_NOCTTY>" +msgstr "B<O_NOCTTY>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "If I<pathname> refers to a terminal device\\(emsee B<tty>(4)\\(emit will " +#| "not become the process's controlling terminal even if the process does " +#| "not have one." +msgid "" +"If I<pathname> refers to a terminal device\\[em]see B<tty>(4)\\[em]it will " +"not become the process's controlling terminal even if the process does not " +"have one." +msgstr "" +"Если I<pathname> указывает на терминальное устройство (см. B<tty>(4)), то " +"оно не станет управляющим терминалом процесса, даже если процесс такового не " +"имеет." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<O_NOFOLLOW>" +msgstr "B<O_NOFOLLOW>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "If I<pathname> is a symbolic link, then the open fails, with the error " +#| "B<ELOOP>. Symbolic links in earlier components of the pathname will " +#| "still be followed. (Note that the B<ELOOP> error that can occur in this " +#| "case is indistinguishable from the case where an open fails because there " +#| "are too many symbolic links found while resolving components in the " +#| "prefix part of the pathname.)" +msgid "" +"If the trailing component (i.e., basename) of I<pathname> is a symbolic " +"link, then the open fails, with the error B<ELOOP>. Symbolic links in " +"earlier components of the pathname will still be followed. (Note that the " +"B<ELOOP> error that can occur in this case is indistinguishable from the " +"case where an open fails because there are too many symbolic links found " +"while resolving components in the prefix part of the pathname.)" +msgstr "" +"Если I<pathname> является символьной ссылкой, то открытие завершится с " +"ошибкой B<ELOOP>. Символьные ссылки в ближайших частях имени будут " +"обработаны как обычно (заметим, что ошибка B<ELOOP>, которая может " +"возникнуть в данном случае, неотличима от ошибки, когда открытие завершается " +"из-за обнаружения слишком большого количества символьных ссылок при " +"определении частей в префиксе пути)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "This flag is a FreeBSD extension, which was added to Linux in version " +#| "2.1.126, and has subsequently been standardized in POSIX.1-2008." +msgid "" +"This flag is a FreeBSD extension, which was added in Linux 2.1.126, and has " +"subsequently been standardized in POSIX.1-2008." +msgstr "" +"Данный флаг является расширением FreeBSD, которое было добавлено в Linux " +"версии 2.1.126, и в последствии был стандартизован в POSIX.1-2008." + +#. The headers from glibc 2.0.100 and later include a +#. definition of this flag; \fIkernels before Linux 2.1.126 will ignore it if +#. used\fP. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "See also B<O_PATH> below." +msgstr "Смотрите также далее B<O_PATH>." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<O_NONBLOCK> or B<O_NDELAY>" +msgstr "B<O_NONBLOCK> или B<O_NDELAY>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"When possible, the file is opened in nonblocking mode. Neither the " +"B<open>() nor any subsequent I/O operations on the file descriptor which is " +"returned will cause the calling process to wait." +msgstr "" +"Если возможно, файл открывается в неблокирующем режиме. Ни B<open>(), ни " +"другие последующие операции ввода-вывода над возвращаемым дескриптором файла " +"не заставят вызывающий процесс ждать." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Note that the setting of this flag has no effect on the operation of " +"B<poll>(2), B<select>(2), B<epoll>(7), and similar, since those interfaces " +"merely inform the caller about whether a file descriptor is \"ready\", " +"meaning that an I/O operation performed on the file descriptor with the " +"B<O_NONBLOCK> flag I<clear> would not block." +msgstr "" +"Заметим, что установка этого флага не влияет на операции B<poll>(2), " +"B<select>(2), B<epoll>(7) и подобные, так как их интерфейсы просто " +"информируют вызывающего о том, что файловый дескриптор «ready», то есть " +"операция ввода-вывода, выполняемая над файловым дескриптором с флагом " +"B<O_NONBLOCK>, I<точно> не заблокируется." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Note that this flag has no effect for regular files and block devices; that " +"is, I/O operations will (briefly) block when device activity is required, " +"regardless of whether B<O_NONBLOCK> is set. Since B<O_NONBLOCK> semantics " +"might eventually be implemented, applications should not depend upon " +"blocking behavior when specifying this flag for regular files and block " +"devices." +msgstr "" +"Обратите внимание, что этот флаг не оказывает влияния на обычные файлы и " +"блочные устройства, то есть операции ввода-вывода будут блокироваться на " +"короткое время, если будет запрошено активность устройства, вне зависимости " +"от установки флага B<O_NONBLOCK>. Семантика B<O_NONBLOCK> может быть когда-" +"нибудь реализована, поэтому приложения не должны зависеть от блокировок при " +"указании данного флага для обычных файлов и блочных устройств." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"For the handling of FIFOs (named pipes), see also B<fifo>(7). For a " +"discussion of the effect of B<O_NONBLOCK> in conjunction with mandatory file " +"locks and with file leases, see B<fcntl>(2)." +msgstr "" +"Для работы с каналами FIFO также смотрите B<fifo>(7). Обсуждение влияния " +"B<O_NONBLOCK> в сочетании с обязательной файловой блокировкой или арендой " +"(lease) смотрите в B<fcntl>(2)." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<O_PATH> (since Linux 2.6.39)" +msgstr "B<O_PATH> (начиная с Linux 2.6.39)" + +#. commit 1abf0c718f15a56a0a435588d1b104c7a37dc9bd +#. commit 326be7b484843988afe57566b627fb7a70beac56 +#. commit 65cfc6722361570bfe255698d9cd4dccaf47570d +#. http://thread.gmane.org/gmane.linux.man/2790/focus=3496 +#. Subject: Re: [PATCH] open(2): document O_PATH +#. Newsgroups: gmane.linux.man, gmane.linux.kernel +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Obtain a file descriptor that can be used for two purposes: to indicate a " +"location in the filesystem tree and to perform operations that act purely at " +"the file descriptor level. The file itself is not opened, and other file " +"operations (e.g., B<read>(2), B<write>(2), B<fchmod>(2), B<fchown>(2), " +"B<fgetxattr>(2), B<ioctl>(2), B<mmap>(2)) fail with the error B<EBADF>." +msgstr "" +"Получить файловый дескриптор, который можно использовать для двух целей: для " +"указания положения в дереве файловой системы и для выполнения операций, " +"работающих исключительно на уровне файловых дескрипторов. Сам файл не " +"открывается и другие файловые операции (например, B<read>(2), B<write>(2), " +"B<fchmod>(2), B<fchown>(2), B<fgetxattr>(2), B<ioctl>(2), B<mmap>(2)) " +"завершатся с ошибкой B<EBADF>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The following operations I<can> be performed on the resulting file " +"descriptor:" +msgstr "" +"Следующие операции I<могут> выполняться над полученным файловым дескриптором:" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "B<close>(2)." +msgstr "B<close>(2)." + +#. commit 332a2e1244bd08b9e3ecd378028513396a004a24 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<fchdir>(2), if the file descriptor refers to a directory (since Linux 3.5)." +msgstr "" +"B<fchdir>(2), если файловый дескриптор указывает на каталог (начиная с Linux " +"3.5)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "B<fstat>(2) (since Linux 3.6)." +msgstr "B<fstat>(2) (начиная с Linux 3.6)." + +#. fstat(): commit 55815f70147dcfa3ead5738fd56d3574e2e3c1c2 +#. fstatfs(): commit 9d05746e7b16d8565dddbe3200faa1e669d23bbf +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "B<fstatfs>(2) (since Linux 3.12)." +msgstr "B<fstatfs>(2) (начиная с Linux 3.12)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Duplicating the file descriptor (B<dup>(2), B<fcntl>(2) B<F_DUPFD>, etc.)." +msgstr "" +"Создание дубликата файлового дескриптора (B<dup>(2), B<fcntl>(2) B<F_DUPFD> " +"и т.д.)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Getting and setting file descriptor flags (B<fcntl>(2) B<F_GETFD> and " +"B<F_SETFD>)." +msgstr "" +"Получение и установка флагов файловых дескрипторов (B<fcntl>(2) B<F_GETFD> " +"и B<F_SETFD>)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Retrieving open file status flags using the B<fcntl>(2) B<F_GETFL> " +"operation: the returned flags will include the bit B<O_PATH>." +msgstr "" +"Получение флагов состояния открытого файла с помощью операции B<fcntl>(2) " +"B<F_GETFL>: в возвращаемые флаги будет включён бит B<O_PATH>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Passing the file descriptor as the I<dirfd> argument of B<openat>() and the " +"other \"*at()\" system calls. This includes B<linkat>(2) with " +"B<AT_EMPTY_PATH> (or via procfs using B<AT_SYMLINK_FOLLOW>) even if the " +"file is not a directory." +msgstr "" +"Передача файлового дескриптора в аргументе I<dirfd> для B<openat>() и других " +"системных вызовов «*at()». К ним относится B<linkat>(2) с флагом " +"B<AT_EMPTY_PATH> (или через procfs с помощью B<AT_SYMLINK_FOLLOW>) даже, " +"если файл не является каталогом." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Passing the file descriptor to another process via a UNIX domain socket (see " +"B<SCM_RIGHTS> in B<unix>(7))." +msgstr "" +"Передача файлового дескриптора в другой процесс через доменный сокет UNIX " +"(смотрите B<SCM_RIGHTS> в B<unix>(7))." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"When B<O_PATH> is specified in I<flags>, flag bits other than B<O_CLOEXEC>, " +"B<O_DIRECTORY>, and B<O_NOFOLLOW> are ignored." +msgstr "" +"Если в I<flags> указан B<O_PATH>, то биты флагов, отличные от B<O_CLOEXEC>, " +"B<O_DIRECTORY>и B<O_NOFOLLOW>, игнорируются." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Opening a file or directory with the B<O_PATH> flag requires no permissions " +"on the object itself (but does require execute permission on the directories " +"in the path prefix). Depending on the subsequent operation, a check for " +"suitable file permissions may be performed (e.g., B<fchdir>(2) requires " +"execute permission on the directory referred to by its file descriptor " +"argument). By contrast, obtaining a reference to a filesystem object by " +"opening it with the B<O_RDONLY> flag requires that the caller have read " +"permission on the object, even when the subsequent operation (e.g., " +"B<fchdir>(2), B<fstat>(2)) does not require read permission on the object." +msgstr "" +"Открытие файла или каталога при указании флага B<O_PATH> не требует прав на " +"сам объект (но требует права на выполнение каталогов из префикса пути). В " +"зависимости от последующей операции может выполняться проверка определённых " +"прав на файл (например, B<fchdir>(2) требует права на выполнение у каталога, " +"указанного в аргументе файлового дескриптора). Напротив, для получения " +"ссылки на объект файловой системы при открытии с флагом B<O_RDONLY> от " +"вызывающего требуется право на чтение объекта, даже если для последующей " +"операции (например, B<fchdir>(2), B<fstat>(2)) не требуется права чтения " +"объекта." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If I<pathname> is a symbolic link and the B<O_NOFOLLOW> flag is also " +"specified, then the call returns a file descriptor referring to the symbolic " +"link. This file descriptor can be used as the I<dirfd> argument in calls to " +"B<fchownat>(2), B<fstatat>(2), B<linkat>(2), and B<readlinkat>(2) with an " +"empty pathname to have the calls operate on the symbolic link." +msgstr "" +"Если I<pathname> является символьной ссылкой и также указан флаг " +"B<O_NOFOLLOW>, то вызов возвращает файловый дескриптор, указывающий на " +"символьную ссылку. Этот файловый дескриптор можно использовать в аргументе " +"I<dirfd> для вызовов B<fchownat>(2), B<fstatat>(2), B<linkat>(2) и " +"B<readlinkat>(2) с пустым именем пути, чтобы выполнить операцию над " +"символьной ссылкой." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If I<pathname> refers to an automount point that has not yet been triggered, " +"so no other filesystem is mounted on it, then the call returns a file " +"descriptor referring to the automount directory without triggering a mount. " +"B<fstatfs>(2) can then be used to determine if it is, in fact, an " +"untriggered automount point (B<.f_type == AUTOFS_SUPER_MAGIC>)." +msgstr "" +"Если I<pathname> ссылается на автоматическую точку монтирования, которая ещё " +"не включилась, и поэтому к ней не примонтированы другие файловые системы, то " +"вызов возвращает файловый дескриптор, указывающий на каталог " +"автомонтирования, не вызывая запуск монтирования. Затем можно использовать " +"вызов B<fstatfs>(2) для определения, является ли автоматическая точка " +"монтирования включённой (B<.f_type == AUTOFS_SUPER_MAGIC>)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"One use of B<O_PATH> for regular files is to provide the equivalent of " +"POSIX.1's B<O_EXEC> functionality. This permits us to open a file for which " +"we have execute permission but not read permission, and then execute that " +"file, with steps something like the following:" +msgstr "" +"Одним из вариантов использования флага B<O_PATH> для обычных файлов — " +"предоставление эквивалента функции B<O_EXEC>, описанной POSIX.1. Вызывающий " +"может открыть файл, для которого имеется право на выполнение, но не права на " +"чтение, и затем выполнить этот файл следующими действиями:" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "" +"char buf[PATH_MAX];\n" +"fd = open(\"some_prog\", O_PATH);\n" +"snprintf(buf, PATH_MAX, \"/proc/self/fd/%d\", fd);\n" +"execl(buf, \"some_prog\", (char *) NULL);\n" +msgstr "" +"char buf[PATH_MAX];\n" +"fd = open(\"some_prog\", O_PATH);\n" +"snprintf(buf, PATH_MAX, \"/proc/self/fd/%d\", fd);\n" +"execl(buf, \"some_prog\", (char *) NULL);\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"An B<O_PATH> file descriptor can also be passed as the argument of " +"B<fexecve>(3)." +msgstr "" +"Файловый дескриптор с B<O_PATH> также может быть передан в качестве " +"аргумента B<fexecve>(3)." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<O_SYNC>" +msgstr "B<O_SYNC>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Write operations on the file will complete according to the requirements of " +"synchronized I/O I<file> integrity completion (by contrast with the " +"synchronized I/O I<data> integrity completion provided by B<O_DSYNC>.)" +msgstr "" +"Операции записи файла будут выполнены согласно требованиям целостности " +"синхронизации ввода-вывода I<file> (по сравнению с целостностью " +"синхронизации ввода-вывода I<data>, предоставляемой B<O_DSYNC>)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"By the time B<write>(2) (or similar) returns, the output data and " +"associated file metadata have been transferred to the underlying hardware (i." +"e., as though each B<write>(2) was followed by a call to B<fsync>(2)). " +"I<See NOTES below>." +msgstr "" +"На момент возврата из B<write>(2) (или подобной функции) выходные данные и " +"все метаданные файла уже переданы в задействованное аппаратное обеспечение " +"(т. е., как если бы за каждым B<write>(2) был выполнен вызов B<fsync>(2)). " +"I<Смотрите ЗАМЕЧАНИЯ далее>." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<O_TMPFILE> (since Linux 3.11)" +msgstr "B<O_TMPFILE> (начиная с Linux 3.11)" + +#. commit 60545d0d4610b02e55f65d141c95b18ccf855b6e +#. commit f4e0c30c191f87851c4a53454abb55ee276f4a7e +#. commit bb458c644a59dbba3a1fe59b27106c5e68e1c4bd +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Create an unnamed temporary regular file. The I<pathname> argument " +"specifies a directory; an unnamed inode will be created in that directory's " +"filesystem. Anything written to the resulting file will be lost when the " +"last file descriptor is closed, unless the file is given a name." +msgstr "" +"Создание безымянного временного обычного файла. В аргументе I<pathname> " +"указывается каталог; безымянная inode будет создана в файловой системе этого " +"каталога. Всё записанное в полученный файл будет потеряно при закрытии " +"последнего файлового дескриптора, если файлу не будет назначено имя." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<O_TMPFILE> must be specified with one of B<O_RDWR> or B<O_WRONLY> and, " +"optionally, B<O_EXCL>. If B<O_EXCL> is not specified, then B<linkat>(2) " +"can be used to link the temporary file into the filesystem, making it " +"permanent, using code like the following:" +msgstr "" +"Флаг B<O_TMPFILE> должен быть указан вместе с B<O_RDWR> или B<O_WRONLY> и, " +"необязательно, B<O_EXCL>. Если B<O_EXCL> не указан, то можно использовать " +"B<linkat>(2) для ссылки на временный файл в файловой системе, сделав его " +"постоянным с помощью кода:" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-tumbleweed +#, no-wrap +msgid "" +"char path[PATH_MAX];\n" +"fd = open(\"/path/to/dir\", O_TMPFILE | O_RDWR,\n" +" S_IRUSR | S_IWUSR);\n" +"\\&\n" +"/* File I/O on \\[aq]fd\\[aq]... */\n" +"\\&\n" +"linkat(fd, \"\", AT_FDCWD, \"/path/for/file\", AT_EMPTY_PATH);\n" +"\\&\n" +"/* If the caller doesn\\[aq]t have the CAP_DAC_READ_SEARCH\n" +" capability (needed to use AT_EMPTY_PATH with linkat(2)),\n" +" and there is a proc(5) filesystem mounted, then the\n" +" linkat(2) call above can be replaced with:\n" +"\\&\n" +"snprintf(path, PATH_MAX, \"/proc/self/fd/%d\", fd);\n" +"linkat(AT_FDCWD, path, AT_FDCWD, \"/path/for/file\",\n" +" AT_SYMLINK_FOLLOW);\n" +"*/\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"In this case, the B<open>() I<mode> argument determines the file permission " +"mode, as with B<O_CREAT>." +msgstr "" +"В этом случае аргументом I<mode> у B<open>() определяется режим доступа к " +"файлу как с B<O_CREAT>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Specifying B<O_EXCL> in conjunction with B<O_TMPFILE> prevents a temporary " +"file from being linked into the filesystem in the above manner. (Note that " +"the meaning of B<O_EXCL> in this case is different from the meaning of " +"B<O_EXCL> otherwise.)" +msgstr "" +"Указание B<O_EXCL> вместе с B<O_TMPFILE> отключает возможность создания " +"символьной ссылки в файловой системе указанным ранее способом (заметим, что " +"назначение B<O_EXCL> в этом случае отличается от обычного B<O_EXCL>)." + +#. Inspired by http://lwn.net/Articles/559147/ +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "There are two main use cases for B<O_TMPFILE>:" +msgstr "Есть два основных случая использования B<O_TMPFILE>:" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Improved B<tmpfile>(3) functionality: race-free creation of temporary files " +"that (1) are automatically deleted when closed; (2) can never be reached via " +"any pathname; (3) are not subject to symlink attacks; and (4) do not require " +"the caller to devise unique names." +msgstr "" +"Дополнительное свойство B<tmpfile>(3): свободное от состязательности " +"создание временных файлов, которые: автоматически удаляются при закрытии; " +"недоступны по имени; не подвержены атаке через символьные ссылки; не требуют " +"от вызывающего подбирать уникальное имя." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Creating a file that is initially invisible, which is then populated with " +"data and adjusted to have appropriate filesystem attributes (B<fchown>(2), " +"B<fchmod>(2), B<fsetxattr>(2), etc.) before being atomically linked into " +"the filesystem in a fully formed state (using B<linkat>(2) as described " +"above)." +msgstr "" +"Создание файла, который изначально не видим, и который затем заполняется " +"данными и позволяет изменять атрибуты в файловой системе (B<fchown>(2), " +"B<fchmod>(2), B<fsetxattr>(2) и т. д.) до автоматического встраивания в " +"файловую систему в полностью законченном виде (с помощью B<linkat>(2) как " +"описано ранее)." + +#. To check for support, grep for "tmpfile" in kernel sources +#. commit 99b6436bc29e4f10e4388c27a3e4810191cc4788 +#. commit ab29743117f9f4c22ac44c13c1647fb24fb2bafe +#. commit ef3b9af50bfa6a1f02cd7b3f5124b712b1ba3e3c +#. commit 50732df02eefb39ab414ef655979c2c9b64ad21c +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<O_TMPFILE> requires support by the underlying filesystem; only a subset of " +"Linux filesystems provide that support. In the initial implementation, " +"support was provided in the ext2, ext3, ext4, UDF, Minix, and tmpfs " +"filesystems. Support for other filesystems has subsequently been added as " +"follows: XFS (Linux 3.15); Btrfs (Linux 3.16); F2FS (Linux 3.16); and ubifs " +"(Linux 4.9)" +msgstr "" +"Для B<O_TMPFILE> требуется поддержка в файловой системе; она есть только в " +"нескольких файловых системах Linux. В первой реализации поддержка " +"предоставлялась в файловых системах ext2, ext3, ext4, UDF, Minix и tmpfs. " +"Поддержка других файловых систем появлялась так: XFS (Linux 3.15); Btrfs " +"(Linux 3.16); F2FS (Linux 3.16); ubifs (Linux 4.9)." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<O_TRUNC>" +msgstr "B<O_TRUNC>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If the file already exists and is a regular file and the access mode allows " +"writing (i.e., is B<O_RDWR> or B<O_WRONLY>) it will be truncated to length " +"0. If the file is a FIFO or terminal device file, the B<O_TRUNC> flag is " +"ignored. Otherwise, the effect of B<O_TRUNC> is unspecified." +msgstr "" +"Если файл уже существует и является обычным файлом и режим доступа позволяет " +"писать в этот файл (т.е. установлен флаг B<O_RDWR> или B<O_WRONLY>), то его " +"длина будет урезана до нуля. Если файл является FIFO или терминальным " +"устройством, то этот флаг игнорируется. В других случаях действие флага " +"B<O_TRUNC> не определено." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "creat()" +msgstr "creat()" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A call to B<creat>() is equivalent to calling B<open>() with I<flags> " +"equal to B<O_CREAT|O_WRONLY|O_TRUNC>." +msgstr "" +"Вызов B<creat>() эквивалентен вызову B<open>() с значением I<flags> " +"B<O_CREAT|O_WRONLY|O_TRUNC>." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "openat()" +msgstr "openat()" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<openat>() system call operates in exactly the same way as B<open>(), " +"except for the differences described here." +msgstr "" +"Системный вызов B<openat>() работает также как системный вызов B<open>(), за " +"исключением случаев, описанных здесь." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<dirfd> argument is used in conjunction with the I<pathname> argument " +"as follows:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If the pathname given in I<pathname> is absolute, then I<dirfd> is ignored." +msgstr "Если в I<pathname> задан абсолютный путь, то I<dirfd> игнорируется." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, " +#| "then I<pathname> is interpreted relative to the current working directory " +#| "of the calling process (like B<open>())." +msgid "" +"If the pathname given in I<pathname> is relative and I<dirfd> is the special " +"value B<AT_FDCWD>, then I<pathname> is interpreted relative to the current " +"working directory of the calling process (like B<open>())." +msgstr "" +"Если в I<pathname> задан относительный путь и I<dirfd> равно специальному " +"значению B<AT_FDCWD>, то I<pathname> рассматривается относительно текущего " +"рабочего каталога вызывающего процесса (как B<open>())." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "If the pathname given in I<pathname> is relative, then it is interpreted " +#| "relative to the directory referred to by the file descriptor I<dirfd> " +#| "(rather than relative to the current working directory of the calling " +#| "process, as is done by B<open>() for a relative pathname)." +msgid "" +"If the pathname given in I<pathname> is relative, then it is interpreted " +"relative to the directory referred to by the file descriptor I<dirfd> " +"(rather than relative to the current working directory of the calling " +"process, as is done by B<open>() for a relative pathname). In this case, " +"I<dirfd> must be a directory that was opened for reading (B<O_RDONLY>) or " +"using the B<O_PATH> flag." +msgstr "" +"Если в I<pathname> задан относительный путь, то он считается относительно " +"каталога, на который ссылается файловый дескриптор I<dirfd> (а не " +"относительно текущего рабочего каталога вызывающего процесса, как это " +"делается в B<open>())." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If the pathname given in I<pathname> is relative, and I<dirfd> is not a " +"valid file descriptor, an error (B<EBADF>) results. (Specifying an invalid " +"file descriptor number in I<dirfd> can be used as a means to ensure that " +"I<pathname> is absolute.)" +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "openat2(2)" +msgstr "openat2(2)" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<openat2>(2) system call is an extension of B<openat>(), and provides " +"a superset of the features of B<openat>(). It is documented separately, in " +"B<openat2>(2)." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "RETURN VALUE" +msgstr "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "B<open>(), B<openat>(), and B<creat>() return the new file descriptor, " +#| "or -1 if an error occurred (in which case, I<errno> is set appropriately)." +msgid "" +"On success, B<open>(), B<openat>(), and B<creat>() return the new file " +"descriptor (a nonnegative integer). On error, -1 is returned and I<errno> " +"is set to indicate the error." +msgstr "" +"Вызовы B<open>(), B<openat>() и B<creat>() возвращают новый дескриптор файла " +"или -1 в случае ошибки (в этом случае I<errno> устанавливается в " +"соответствующее значение)." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "ERRORS" +msgstr "ОШИБКИ" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<open>(), B<openat>(), and B<creat>() can fail with the following errors:" +msgstr "" +"Вызовы B<open>(), B<openat>() и B<creat>() могут завершаться со следующими " +"ошибками:" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EACCES>" +msgstr "B<EACCES>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The requested access to the file is not allowed, or search permission is " +"denied for one of the directories in the path prefix of I<pathname>, or the " +"file did not exist yet and write access to the parent directory is not " +"allowed. (See also B<path_resolution>(7).)" +msgstr "" +"Запрошенный доступ к файлу не разрешён, или один из каталогов в I<pathname> " +"не позволяет поиск, файл ещё не существует, или доступ для записи в " +"родительский каталог не разрешён (см. также B<path_resolution>(7))." + +#. commit 30aba6656f61ed44cba445a3c0d38b296fa9e8f5 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Where B<O_CREAT> is specified, the I<protected_fifos> or " +"I<protected_regular> sysctl is enabled, the file already exists and is a " +"FIFO or regular file, the owner of the file is neither the current user nor " +"the owner of the containing directory, and the containing directory is both " +"world- or group-writable and sticky. For details, see the descriptions of " +"I</proc/sys/fs/protected_fifos> and I</proc/sys/fs/protected_regular> in " +"B<proc>(5)." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EBADF>" +msgstr "B<EBADF>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"(B<openat>()) I<pathname> is relative but I<dirfd> is neither B<AT_FDCWD> " +"nor a valid file descriptor." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EBUSY>" +msgstr "B<EBUSY>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<O_EXCL> was specified in I<flags> and I<pathname> refers to a block device " +"that is in use by the system (e.g., it is mounted)." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EDQUOT>" +msgstr "B<EDQUOT>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Where B<O_CREAT> is specified, the file does not exist, and the user's quota " +"of disk blocks or inodes on the filesystem has been exhausted." +msgstr "" +"Если указан флаг B<O_CREAT>, файл не существует и исчерпана пользовательская " +"квота на дисковые блоки или inode файловой системы." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EEXIST>" +msgstr "B<EEXIST>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "I<pathname> already exists and B<O_CREAT> and B<O_EXCL> were used." +msgstr "I<pathname> уже существует, то были указаны B<O_CREAT> и B<O_EXCL>." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EFAULT>" +msgstr "B<EFAULT>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "I<pathname> points outside your accessible address space." +msgstr "" +"Аргумент I<pathname> указывает за пределы доступного адресного пространства." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EFBIG>" +msgstr "B<EFBIG>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "See B<EOVERFLOW>." +msgstr "Смотрите B<EOVERFLOW>." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EINTR>" +msgstr "B<EINTR>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"While blocked waiting to complete an open of a slow device (e.g., a FIFO; " +"see B<fifo>(7)), the call was interrupted by a signal handler; see " +"B<signal>(7)." +msgstr "" +"При блокирующем ожидании завершения открытия медленного устройства " +"(например, FIFO; см. B<fifo>(7)), вызов был прерван обработчиком сигнала; " +"смотрите B<signal>(7)." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EINVAL>" +msgstr "B<EINVAL>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The filesystem does not support the B<O_DIRECT> flag. See B<NOTES> for more " +"information." +msgstr "" +"Файловая система не поддерживает флаг B<O_DIRECT>. Подробности смотрите в " +"B<ЗАМЕЧАНИЯ>." + +#. In particular, __O_TMPFILE instead of O_TMPFILE +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Invalid value in I<flags>." +msgstr "Некорректное значение I<flags>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<O_TMPFILE> was specified in I<flags>, but neither B<O_WRONLY> nor " +"B<O_RDWR> was specified." +msgstr "" +"В I<flags> указан B<O_TMPFILE>, но не указан B<O_WRONLY> или B<O_RDWR>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<O_CREAT> was specified in I<flags> and the final component (\"basename\") " +"of the new file's I<pathname> is invalid (e.g., it contains characters not " +"permitted by the underlying filesystem)." +msgstr "" +"В I<flags> указан B<O_CREAT> и последний компонент («основная " +"часть» (basename)) нового файла I<pathname> некорректен (например, содержит " +"недопустимые в нижележащей файловой системе символы)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "B<O_CREAT> was specified in I<flags> and the final component " +#| "(\"basename\") of the new file's I<pathname> is invalid (e.g., it " +#| "contains characters not permitted by the underlying filesystem)." +msgid "" +"The final component (\"basename\") of I<pathname> is invalid (e.g., it " +"contains characters not permitted by the underlying filesystem)." +msgstr "" +"В I<flags> указан B<O_CREAT> и последний компонент («основная " +"часть» (basename)) нового файла I<pathname> некорректен (например, содержит " +"недопустимые в нижележащей файловой системе символы)." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EISDIR>" +msgstr "B<EISDIR>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<pathname> refers to a directory and the access requested involved writing " +"(that is, B<O_WRONLY> or B<O_RDWR> is set)." +msgstr "" +"I<pathname> указывает на каталог и тип доступа подразумевает запись ( то " +"есть установлен флаг B<O_WRONLY> или B<O_RDWR>)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<pathname> refers to an existing directory, B<O_TMPFILE> and one of " +"B<O_WRONLY> or B<O_RDWR> were specified in I<flags>, but this kernel version " +"does not provide the B<O_TMPFILE> functionality." +msgstr "" +"Значение I<pathname> ссылается на существующий каталог, в I<flags> указан " +"B<O_TMPFILE> и один из B<O_WRONLY> или B<O_RDWR>, но версия ядра не " +"предоставляет свойство B<O_TMPFILE>." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ELOOP>" +msgstr "B<ELOOP>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Too many symbolic links were encountered in resolving I<pathname>." +msgstr "" +"Во время определения I<pathname> встретилось слишком много символьных ссылок." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<pathname> was a symbolic link, and I<flags> specified B<O_NOFOLLOW> but " +"not B<O_PATH>." +msgstr "" +"Значение I<pathname> является символьной ссылкой и в I<flags> установлен " +"B<O_NOFOLLOW>, но отсутствует B<O_PATH>." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EMFILE>" +msgstr "B<EMFILE>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The per-process limit on the number of open file descriptors has been " +"reached (see the description of B<RLIMIT_NOFILE> in B<getrlimit>(2))." +msgstr "" +"Было достигнуто ограничение по количеству открытых файловых дескрипторов на " +"процесс (смотрите описание B<RLIMIT_NOFILE> в B<getrlimit>(2))." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENAMETOOLONG>" +msgstr "B<ENAMETOOLONG>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "I<pathname> was too long." +msgstr "I<pathname> слишком длинен." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENFILE>" +msgstr "B<ENFILE>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The system-wide limit on the total number of open files has been reached." +msgstr "Достигнуто максимальное количество открытых файлов в системе." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENODEV>" +msgstr "B<ENODEV>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<pathname> refers to a device special file and no corresponding device " +"exists. (This is a Linux kernel bug; in this situation B<ENXIO> must be " +"returned.)" +msgstr "" +"I<pathname> ссылается на специальный файл устройства, но соответствующего " +"устройства не существует (это ошибка в ядре Linux: должно возвращаться " +"B<ENXIO>)." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENOENT>" +msgstr "B<ENOENT>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "B<O_CREAT> is not set and the named file does not exist." +msgstr "Не задан B<O_CREAT> и файл с указанным именем не существует." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A directory component in I<pathname> does not exist or is a dangling " +"symbolic link." +msgstr "" +"Один из каталогов в I<pathname> не существует или является повисшей " +"символьной ссылкой." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<pathname> refers to a nonexistent directory, B<O_TMPFILE> and one of " +"B<O_WRONLY> or B<O_RDWR> were specified in I<flags>, but this kernel version " +"does not provide the B<O_TMPFILE> functionality." +msgstr "" +"Значение I<pathname> ссылается на несуществующий каталог, в I<flags> указан " +"B<O_TMPFILE> и один из B<O_WRONLY> или B<O_RDWR>, но версия ядра не " +"предоставляет свойство B<O_TMPFILE>." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENOMEM>" +msgstr "B<ENOMEM>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The named file is a FIFO, but memory for the FIFO buffer can't be allocated " +"because the per-user hard limit on memory allocation for pipes has been " +"reached and the caller is not privileged; see B<pipe>(7)." +msgstr "" +"Типом файла с именем является FIFO, но память для буфера FIFO невозможно " +"выделить, так как достигнуто жёсткое пользовательское ограничение на " +"выделение памяти для каналов и вызывающий не имеет дополнительных прав; " +"смотрите B<pipe>(7)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "Insufficient kernel memory was available." +msgstr "Недостаточное количество памяти ядра." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENOSPC>" +msgstr "B<ENOSPC>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<pathname> was to be created but the device containing I<pathname> has no " +"room for the new file." +msgstr "" +"Файл I<pathname> должен быть создан, но на устройстве его содержащем нет " +"места для нового файла." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENOTDIR>" +msgstr "B<ENOTDIR>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"A component used as a directory in I<pathname> is not, in fact, a directory, " +"or B<O_DIRECTORY> was specified and I<pathname> was not a directory." +msgstr "" +"Компонент, который обозначен как каталог в I<pathname>, таковым не является, " +"или был указан флаг B<O_DIRECTORY>, но I<pathname> не является каталогом." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"(B<openat>()) I<pathname> is a relative pathname and I<dirfd> is a file " +"descriptor referring to a file other than a directory." +msgstr "" +"(B<openat>()) Значение I<pathname> содержит относительный путь и I<dirfd> " +"содержит файловый дескриптор, указывающий на файл, а не на каталог." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ENXIO>" +msgstr "B<ENXIO>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<O_NONBLOCK> | B<O_WRONLY> is set, the named file is a FIFO, and no process " +"has the FIFO open for reading." +msgstr "" +"Установлены B<O_NONBLOCK> | B<O_WRONLY> , именованный файл имеет тип FIFO и " +"ни один процесс не открыл FIFO на чтение." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The file is a device special file and no corresponding device exists." +msgstr "" +"Файл является специальным файлом устройства, но соответствующее устройство " +"не существует." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The file is a UNIX domain socket." +msgstr "Файл является доменным сокетом UNIX." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EOPNOTSUPP>" +msgstr "B<EOPNOTSUPP>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The filesystem containing I<pathname> does not support B<O_TMPFILE>." +msgstr "" +"Файловая система, содержащая I<pathname>, не поддерживает B<O_TMPFILE>." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EOVERFLOW>" +msgstr "B<EOVERFLOW>" + +#. See http://bugzilla.kernel.org/show_bug.cgi?id=7253 +#. "Open of a large file on 32-bit fails with EFBIG, should be EOVERFLOW" +#. Reported 2006-10-03 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "I<pathname> refers to a regular file that is too large to be opened. The " +#| "usual scenario here is that an application compiled on a 32-bit platform " +#| "without I<-D_FILE_OFFSET_BITS=64> tried to open a file whose size exceeds " +#| "I<(1E<lt>E<lt>31)-1> bytes; see also B<O_LARGEFILE> above. This is the " +#| "error specified by POSIX.1; in kernels before 2.6.24, Linux gave the " +#| "error B<EFBIG> for this case." +msgid "" +"I<pathname> refers to a regular file that is too large to be opened. The " +"usual scenario here is that an application compiled on a 32-bit platform " +"without I<-D_FILE_OFFSET_BITS=64> tried to open a file whose size exceeds " +"I<(1E<lt>E<lt>31)-1> bytes; see also B<O_LARGEFILE> above. This is the " +"error specified by POSIX.1; before Linux 2.6.24, Linux gave the error " +"B<EFBIG> for this case." +msgstr "" +"I<pathname> ссылается на обычный файл, который слишком велик для открытия. " +"Обычно, это случается когда приложение, скомпилированное на 31-битной " +"платформе без I<-D_FILE_OFFSET_BITS=64>, пытается открыть файл размером " +"более I<(1E<lt>E<lt>31)-1> байт; смотрите также описание B<O_LARGEFILE> " +"ранее. Эта ошибка определена в POSIX.1; в ядрах до версии 2.6.24 Linux в " +"этом случае выдавал ошибку B<EFBIG>." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EPERM>" +msgstr "B<EPERM>" + +#. Strictly speaking, it's the filesystem UID... (MTK) +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<O_NOATIME> flag was specified, but the effective user ID of the caller " +"did not match the owner of the file and the caller was not privileged." +msgstr "" +"Задан флаг B<O_NOATIME>, но эффективный ID пользователя вызывающего процесса " +"не совпадает с владельцем файла и вызывающий не имеет прав." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "The operation was prevented by a file seal; see B<fcntl>(2)." +msgstr "" +"Выполнение операции предотвращено опечатыванием (file seal); смотрите " +"B<fcntl>(2)." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EROFS>" +msgstr "B<EROFS>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<pathname> refers to a file on a read-only filesystem and write access was " +"requested." +msgstr "" +"I<pathname> указывает на файл на файловой системе, доступной только на " +"чтение, но запрашивается доступ на запись." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<ETXTBSY>" +msgstr "B<ETXTBSY>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<pathname> refers to an executable image which is currently being executed " +"and write access was requested." +msgstr "" +"I<pathname> указывает на исполняемый файл, который запущен в данный момент, " +"но запрашивается доступ на запись." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<pathname> refers to a file that is currently in use as a swap file, and " +"the B<O_TRUNC> flag was specified." +msgstr "" +"I<pathname> указывает на файл, который в данный момент используется как файл " +"подкачки и был указан флаг B<O_TRUNC>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<pathname> refers to a file that is currently being read by the kernel (e." +"g., for module/firmware loading), and write access was requested." +msgstr "" +"I<pathname> указывает на файл, который в данный момент читается ядром " +"(например, для загрузки модуля/микропрограммы) и запрашивается доступ на " +"запись." + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EWOULDBLOCK>" +msgstr "B<EWOULDBLOCK>" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<O_NONBLOCK> flag was specified, and an incompatible lease was held on " +"the file (see B<fcntl>(2))." +msgstr "" +"Указан флаг B<O_NONBLOCK>, но несовместимая аренда (lease) удерживает файл " +"(смотрите B<fcntl>(2))." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "VERSIONS" +msgstr "ВЕРСИИ" + +#. Linux 2.0, 2.5: truncate +#. Solaris 5.7, 5.8: truncate +#. Irix 6.5: truncate +#. Tru64 5.1B: truncate +#. HP-UX 11.22: truncate +#. FreeBSD 4.7: truncate +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The (undefined) effect of B<O_RDONLY | O_TRUNC> varies among " +"implementations. On many systems the file is actually truncated." +msgstr "" +"Результат работы комбинации флагов B<O_RDONLY | O_TRUNC> в разных " +"реализациях разный (нигде не определён). Во многих системах файл усекается." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Synchronized I/O" +msgstr "Синхронизированный ввод-вывод" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The POSIX.1-2008 \"synchronized I/O\" option specifies different variants of " +"synchronized I/O, and specifies the B<open>() flags B<O_SYNC>, B<O_DSYNC>, " +"and B<O_RSYNC> for controlling the behavior. Regardless of whether an " +"implementation supports this option, it must at least support the use of " +"B<O_SYNC> for regular files." +msgstr "" +"В POSIX.1-2008 способность «синхронизированного ввода-вывода» описана в виде " +"различных вариантов синхронизированного ввода-вывода и для B<open>() " +"определяет флаги управления поведением B<O_SYNC>, B<O_DSYNC> и B<O_RSYNC>. " +"Независимо от того, имеется ли в реализации данная способность, она должна, " +"как минимум, поддерживать использование флага B<O_SYNC> для обычных файлов." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Linux implements B<O_SYNC> and B<O_DSYNC>, but not B<O_RSYNC>. Somewhat " +"incorrectly, glibc defines B<O_RSYNC> to have the same value as B<O_SYNC>. " +"(B<O_RSYNC> is defined in the Linux header file I<E<lt>asm/fcntl.hE<gt>> on " +"HP PA-RISC, but it is not used.)" +msgstr "" +"В Linux реализованы B<O_RSYNC> и B<O_DSYNC>, но не B<O_RSYNC>. Несколько " +"некорректно в glibc определён B<O_RSYNC> со значением как у B<O_SYNC> " +"(B<O_RSYNC> определён в заголовочном файле Linux I<E<lt>asm/fcntl.hE<gt>> " +"для HP PA-RISC, но не используется)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<O_SYNC> provides synchronized I/O I<file> integrity completion, meaning " +"write operations will flush data and all associated metadata to the " +"underlying hardware. B<O_DSYNC> provides synchronized I/O I<data> integrity " +"completion, meaning write operations will flush data to the underlying " +"hardware, but will only flush metadata updates that are required to allow a " +"subsequent read operation to complete successfully. Data integrity " +"completion can reduce the number of disk operations that are required for " +"applications that don't need the guarantees of file integrity completion." +msgstr "" +"Флаг B<O_SYNC> предоставляет выполнение целостного синхронизованного ввод-" +"вывода I<file>, то есть операции записи передают данные и все связанные " +"метаданные в задействованное аппаратное обеспечение. Флаг B<O_DSYNC> " +"предоставляет выполнение целостного синхронизованного ввод-вывода I<data>, " +"то есть операции записи передают данные в задействованное аппаратное " +"обеспечение, но обновляются только те метаданные, которые требуются для " +"выполнения последующего чтения. Полнота целостности данных может сократить " +"количество дисковых операций, которые требуются приложениям, не требующим " +"гарантий целостности файлов." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"To understand the difference between the two types of completion, consider " +"two pieces of file metadata: the file last modification timestamp " +"(I<st_mtime>) and the file length. All write operations will update the " +"last file modification timestamp, but only writes that add data to the end " +"of the file will change the file length. The last modification timestamp is " +"not needed to ensure that a read completes successfully, but the file length " +"is. Thus, B<O_DSYNC> would only guarantee to flush updates to the file " +"length metadata (whereas B<O_SYNC> would also always flush the last " +"modification timestamp metadata)." +msgstr "" +"Чтобы понять разницу между двумя типами обеспечения целостности рассмотрим " +"две части метаданных файла: метка времени последнего изменения файла " +"(I<st_mtime>) и длину файла. Все операции записи обновляют метку времени " +"последнего изменения файла, но только при записи, которая добавляет данные в " +"конец файла, будет изменена длина файла. Метка времени последнего изменения " +"файла не требуется для корректного чтения файла, чего не скажешь о длине. " +"Таким образом, B<O_DSYNC> гарантирует только запись обновлений о метаданных " +"длины файла (в то время как B<O_SYNC> также всегда записывает метаданные о " +"метки времени последнего изменения файла)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Before Linux 2.6.33, Linux implemented only the B<O_SYNC> flag for " +"B<open>(). However, when that flag was specified, most filesystems actually " +"provided the equivalent of synchronized I/O I<data> integrity completion (i." +"e., B<O_SYNC> was actually implemented as the equivalent of B<O_DSYNC>)." +msgstr "" +"До Linux версии 2.6.33 в Linux реализован только флаг B<O_SYNC> для " +"B<open>(). Однако, когда этот флаг указан, большинство файловых систем в " +"действительности предоставляют эквивалент выполнения целостности " +"синхронизированного ввода-вывода I<data> (т. е., на самом деле B<O_SYNC> " +"был реализован как эквивалент B<O_DSYNC>)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "Since Linux 2.6.33, proper B<O_SYNC> support is provided. However, to " +#| "ensure backward binary compatibility, B<O_DSYNC> was defined with the " +#| "same value as the historical B<O_SYNC>, and B<O_SYNC> was defined as a " +#| "new (two-bit) flag value that includes the B<O_DSYNC> flag value. This " +#| "ensures that applications compiled against new headers get at least " +#| "B<O_DSYNC> semantics on pre-2.6.33 kernels." +msgid "" +"Since Linux 2.6.33, proper B<O_SYNC> support is provided. However, to " +"ensure backward binary compatibility, B<O_DSYNC> was defined with the same " +"value as the historical B<O_SYNC>, and B<O_SYNC> was defined as a new (two-" +"bit) flag value that includes the B<O_DSYNC> flag value. This ensures that " +"applications compiled against new headers get at least B<O_DSYNC> semantics " +"before Linux 2.6.33." +msgstr "" +"Начиная с Linux 2.6.33, предоставляет корректная поддержка B<O_SYNC>. Однако " +"для обеспечения обратной двоичной совместимости, B<O_DSYNC> был определён с " +"тем же значением что и старый B<O_SYNC>, а B<O_SYNC> был определён как новое " +"значение флага (два бита), которое включает значение флага B<O_DSYNC>. Это " +"позволяет приложениям, скомпилированным с новыми заголовочными файлами " +"получать, по крайней мере, семантику B<O_DSYNC> ядер pre-2.6.33." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "C library/kernel differences" +msgstr "Отличия между библиотекой C и ядром" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "Since version 2.26, the glibc wrapper function for B<open>() employs the " +#| "B<openat>() system call, rather than the kernel's B<open>() system " +#| "call. For certain architectures, this is also true in glibc versions " +#| "before 2.26." +msgid "" +"Since glibc 2.26, the glibc wrapper function for B<open>() employs the " +"B<openat>() system call, rather than the kernel's B<open>() system call. " +"For certain architectures, this is also true before glibc 2.26." +msgstr "" +"Начиная с версии 2.26, обёрточная функция glibc B<open>() используется " +"системный вызов B<openat>(), а не системный вызов ядра B<open>(). На " +"некоторых архитектурах это происходит в glibc с версиями ранее 2.26." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "STANDARDS" +msgstr "СТАНДАРТЫ" + +#. type: TP +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "B<open>(2)" +msgid "B<open>()" +msgstr "B<open>(2)" + +#. type: TQ +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "B<creat>(2)" +msgid "B<creat>()" +msgstr "B<creat>(2)" + +#. type: TP +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "B<openat>():" +msgid "B<openat>()" +msgstr "B<openat>():" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "POSIX.1-2008." +msgstr "POSIX.1-2008." + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "This API is Linux-specific." +msgid "B<openat2>(2) Linux." +msgstr "Данный программный интерфейс существует только в Linux." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<O_DIRECT>, B<O_NOATIME>, B<O_PATH>, and B<O_TMPFILE> flags are Linux-" +"specific. One must define B<_GNU_SOURCE> to obtain their definitions." +msgstr "" +"Флаги B<O_DIRECT>, B<O_NOATIME>, B<O_PATH> и B<O_TMPFILE> есть только в " +"Linux. Для их определения может потребоваться задать B<_GNU_SOURCE>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<O_CLOEXEC>, B<O_DIRECTORY>, and B<O_NOFOLLOW> flags are not specified " +"in POSIX.1-2001, but are specified in POSIX.1-2008. Since glibc 2.12, one " +"can obtain their definitions by defining either B<_POSIX_C_SOURCE> with a " +"value greater than or equal to 200809L or B<_XOPEN_SOURCE> with a value " +"greater than or equal to 700. In glibc 2.11 and earlier, one obtains the " +"definitions by defining B<_GNU_SOURCE>." +msgstr "" +"Флаги B<O_CLOEXEC>, B<O_DIRECTORY> и B<O_NOFOLLOW> не указаны в " +"POSIX.1-2001, но есть в POSIX.1-2008. Начиная с glibc 2.12, их определения " +"можно получить определив или B<_POSIX_C_SOURCE> со значением большим и " +"равным 200809L, или B<_XOPEN_SOURCE> со значением большим и равным 700. В " +"glibc 2.11 и старее их определения можно получить определив B<_GNU_SOURCE>." + +#. type: SH +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "HISTORY" +msgstr "ИСТОРИЯ" + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "SVr4, 4.3BSD, POSIX.1-2001." +msgstr "SVr4, 4.3BSD, POSIX.1-2001." + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +msgid "POSIX.1-2008. Linux 2.6.16, glibc 2.4." +msgstr "" + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NOTES" +msgstr "ЗАМЕЧАНИЯ" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Under Linux, the B<O_NONBLOCK> flag is sometimes used in cases where one " +"wants to open but does not necessarily have the intention to read or write. " +"For example, this may be used to open a device in order to get a file " +"descriptor for use with B<ioctl>(2)." +msgstr "" +"В Linux флаг B<O_NONBLOCK> иногда используется в случаях, когда файл только " +"открыть, и не обязательно будет производиться чтение или запись. Например, " +"он может использоваться для открытия устройства, чтобы получить его файловый " +"дескриптор для использования в B<ioctl>(2)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Note that B<open>() can open device special files, but B<creat>() cannot " +"create them; use B<mknod>(2) instead." +msgstr "" +"Заметим, что B<open>() может открывать специальные файлы устройств, но " +"B<creat>() не может их создавать; вместо этого используйте B<mknod>(2)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If the file is newly created, its I<st_atime>, I<st_ctime>, I<st_mtime> " +"fields (respectively, time of last access, time of last status change, and " +"time of last modification; see B<stat>(2)) are set to the current time, and " +"so are the I<st_ctime> and I<st_mtime> fields of the parent directory. " +"Otherwise, if the file is modified because of the B<O_TRUNC> flag, its " +"I<st_ctime> and I<st_mtime> fields are set to the current time." +msgstr "" +"Если файл только что был создан, его поля I<st_atime>, I<st_ctime>, " +"I<st_mtime> (время последнего доступа, последней смены состояния и " +"последнего изменения, соответственно; см. B<stat>(2)) устанавливаются в " +"значение текущего времени, и оно совпадает с полями I<st_ctime> и " +"I<st_mtime> родительского каталога. Или же, если файл изменяется из-за " +"установленного флага B<O_TRUNC>, то его поля I<st_ctime> и I<st_mtime> " +"устанавливаются в значение текущего времени." + +#. type: Plain text +#: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron +#: opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "The files in the I</proc/[pid]/fd> directory show the open file " +#| "descriptors of the process with the PID I<pid>. The files in the I</proc/" +#| "[pid]/fdinfo> directory show even more information about these file " +#| "descriptors. See B<proc>(5) for further details of both of these " +#| "directories." +msgid "" +"The files in the I</proc/>pidI</fd> directory show the open file descriptors " +"of the process with the PID I<pid>. The files in the I</proc/>pidI</fdinfo> " +"directory show even more information about these file descriptors. See " +"B<proc>(5) for further details of both of these directories." +msgstr "" +"Файлы в каталоге I</proc/[pid]/fd> представляют открытые файловые " +"дескрипторы процесса с PID равным I<pid>. Файлы в каталоге I</proc/[pid]/" +"fdinfo> представляют дополнительную информацию об этих файловых " +"дескрипторах. Подробное описание данных каталогов можно найти в B<proc>(5)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The Linux header file B<E<lt>asm/fcntl.hE<gt>> doesn't define B<O_ASYNC>; " +"the (BSD-derived) B<FASYNC> synonym is defined instead." +msgstr "" +"В заголовочном файле Linux B<E<lt>asm/fcntl.hE<gt>> не определён B<O_ASYNC>; " +"вместо него определён синоним B<FASYNC> (как в BSD)." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Open file descriptions" +msgstr "Открытые файловые описания" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "The term open file description is the one used by POSIX to refer to the " +#| "entries in the system-wide table of open files. In other contexts, this " +#| "object is variously also called an \"open file object\", a \"file " +#| "handle\", an \"open file table entry\", or\\(emin kernel-developer " +#| "parlance\\(ema I<struct file>." +msgid "" +"The term open file description is the one used by POSIX to refer to the " +"entries in the system-wide table of open files. In other contexts, this " +"object is variously also called an \"open file object\", a \"file handle\", " +"an \"open file table entry\", or\\[em]in kernel-developer parlance\\[em]a " +"I<struct file>." +msgstr "" +"Термин «открытое файловое описание» (open file description) используется в " +"POSIX для указания на записи в системной таблице открытых файлов. В других " +"контекстах, этот объект также называется «открытый файловый объект» (open " +"file object), «описатель файла» (file handle), «»табличная запись открытого " +"файла (open file table entry) или I<struct file> (с точки зрения " +"разработчика ядра)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"When a file descriptor is duplicated (using B<dup>(2) or similar), the " +"duplicate refers to the same open file description as the original file " +"descriptor, and the two file descriptors consequently share the file offset " +"and file status flags. Such sharing can also occur between processes: a " +"child process created via B<fork>(2) inherits duplicates of its parent's " +"file descriptors, and those duplicates refer to the same open file " +"descriptions." +msgstr "" +"При создании копии файлового дескриптора (с помощью B<dup>(2) или подобного " +"вызова), копия ссылается на то же открытое файловое описание что и " +"изначальный файловый дескриптор, и, следовательно, два файловых дескриптора " +"имеют общее файловое смещение и флаги состояния файла. Такая общность может " +"также быть у двух процессов: процесс-потомок, создаваемый B<fork>(2), " +"наследует копии файловых дескрипторов своего родителя и эти копии ссылаются " +"на те же открытые файловые описания." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Each B<open>() of a file creates a new open file description; thus, there " +"may be multiple open file descriptions corresponding to a file inode." +msgstr "" +"При каждом B<open>() файла создаётся новое файловое описание; таким " +"образом, может быть несколько открытых файловых описаний, соответствующих " +"inode файла." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"On Linux, one can use the B<kcmp>(2) B<KCMP_FILE> operation to test whether " +"two file descriptors (in the same process or in two different processes) " +"refer to the same open file description." +msgstr "" +"Для проверки того, что два файловых дескриптора (одного процесса или разных) " +"ссылаются на одно файловое описание, в Linux можно использовать вызов " +"B<kcmp>(2) с операцией B<KCMP_FILE>." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "NFS" +msgstr "NFS" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"There are many infelicities in the protocol underlying NFS, affecting " +"amongst others B<O_SYNC> and B<O_NDELAY>." +msgstr "" +"В протоколе, по которому работает NFS, существует множество недоработок, " +"оказывающих влияние на многое, в том числе на работу с B<O_SYNC> и " +"B<O_NDELAY>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"On NFS filesystems with UID mapping enabled, B<open>() may return a file " +"descriptor but, for example, B<read>(2) requests are denied with " +"B<EACCES>. This is because the client performs B<open>() by checking the " +"permissions, but UID mapping is performed by the server upon read and write " +"requests." +msgstr "" +"В файловых системах NFS с включённым проецированием UID, B<open>() может " +"вернуть файловый дескриптор, но, например, запросы B<read>(2) будут " +"отклонены с ошибкой B<EACCES>. Это происходит из-за того, что клиент " +"выполняет B<open>() проверяя одни права, но сервер выполняет проецирование " +"UID только при запросах чтения и записи." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "FIFOs" +msgstr "FIFO" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Opening the read or write end of a FIFO blocks until the other end is also " +"opened (by another process or thread). See B<fifo>(7) for further details." +msgstr "" +"Открытие на чтение или запись конца FIFO приводит к блокировке то тех пор, " +"пока другой конец не также не будет открыт (другим процессом или нитью). " +"Подробности смотрите в B<fifo>(7)." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "File access mode" +msgstr "Режим доступа к файлу" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Unlike the other values that can be specified in I<flags>, the I<access " +"mode> values B<O_RDONLY>, B<O_WRONLY>, and B<O_RDWR> do not specify " +"individual bits. Rather, they define the low order two bits of I<flags>, " +"and are defined respectively as 0, 1, and 2. In other words, the " +"combination B<O_RDONLY | O_WRONLY> is a logical error, and certainly does " +"not have the same meaning as B<O_RDWR>." +msgstr "" +"В отличие от других значений, указываемых в I<flags>, значения I<режима " +"доступа> B<O_RDONLY>, B<O_WRONLY> и B<O_RDWR>, не определяются отдельными " +"битами. Точнее, они задаются двумя первыми битами I<flags>, и имеют значения " +"0, 1 и 2, соответственно. Другими словами, комбинация B<O_RDONLY | O_WRONLY> " +"приводит к логической ошибке и точно не работает как B<O_RDWR>." + +#. See for example util-linux's disk-utils/setfdprm.c +#. For some background on access mode 3, see +#. http://thread.gmane.org/gmane.linux.kernel/653123 +#. "[RFC] correct flags to f_mode conversion in __dentry_open" +#. LKML, 12 Mar 2008 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Linux reserves the special, nonstandard access mode 3 (binary 11) in " +"I<flags> to mean: check for read and write permission on the file and return " +"a file descriptor that can't be used for reading or writing. This " +"nonstandard access mode is used by some Linux drivers to return a file " +"descriptor that is to be used only for device-specific B<ioctl>(2) " +"operations." +msgstr "" +"В Linux зарезервирован специальный нестандартный режим доступа 3 (11 " +"двоичное) в I<flags>, при котором: проверяются права на чтение и запись к " +"файлу и возвращается файловый дескриптор, который не может использоваться " +"для чтения или записи. Данный нестандартный режим доступа используется " +"некоторыми драйверами Linux для получения файлового дескриптора, который " +"будет использоваться в B<ioctl>(2) только для специальных операций с " +"устройством." + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "Rationale for openat() and other directory file descriptor APIs" +msgstr "Обоснование openat() и остального программного интерфейса файлового дескриптора каталога" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "B<openat>() and the other system calls and library functions that take a " +#| "directory file descriptor argument (i.e., B<execveat>(2), " +#| "B<faccessat>(2), B<fanotify_mark>(2), B<fchmodat>(2), B<fchownat>(2), " +#| "B<fstatat>(2), B<futimesat>(2), B<linkat>(2), B<mkdirat>(2), " +#| "B<mknodat>(2), B<name_to_handle_at>(2), B<readlinkat>(2), B<renameat>(2), " +#| "B<statx>(2), B<symlinkat>(2), B<unlinkat>(2), B<utimensat>(2), " +#| "B<mkfifoat>(3), and B<scandirat>(3)) address two problems with the older " +#| "interfaces that preceded them. Here, the explanation is in terms of the " +#| "B<openat>() call, but the rationale is analogous for the other " +#| "interfaces." +msgid "" +"B<openat>() and the other system calls and library functions that take a " +"directory file descriptor argument (i.e., B<execveat>(2), B<faccessat>(2), " +"B<fanotify_mark>(2), B<fchmodat>(2), B<fchownat>(2), B<fspick>(2), " +"B<fstatat>(2), B<futimesat>(2), B<linkat>(2), B<mkdirat>(2), B<mknodat>(2), " +"B<mount_setattr>(2), B<move_mount>(2), B<name_to_handle_at>(2), " +"B<open_tree>(2), B<openat2>(2), B<readlinkat>(2), B<renameat>(2), " +"B<renameat2>(2), B<statx>(2), B<symlinkat>(2), B<unlinkat>(2), " +"B<utimensat>(2), B<mkfifoat>(3), and B<scandirat>(3)) address two problems " +"with the older interfaces that preceded them. Here, the explanation is in " +"terms of the B<openat>() call, but the rationale is analogous for the other " +"interfaces." +msgstr "" +"Вызов B<openat>() и другие системные вызовы и библиотечные функции, " +"использующие файловый дескриптор каталога в качестве аргумента (т. е., " +"B<execveat>(2), B<faccessat>(2), B<fanotify_mark>(2), B<fchmodat>(2), " +"B<fchownat>(2), B<fstatat>(2), B<futimesat>(2), B<linkat>(2), B<mkdirat>(2), " +"B<mknodat>(2), B<name_to_handle_at>(2), B<readlinkat>(2), B<renameat>(2), " +"B<statx>(2), B<symlinkat>(2), B<unlinkat>(2), B<utimensat>(2), " +"B<mkfifoat>(3) и B<scandirat>(3)) решают две проблемы старых интерфейсов, " +"которые были до них. Вот объяснение, применимое к вызову B<openat>(), а " +"объяснение для других интерфейсов аналогично." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"First, B<openat>() allows an application to avoid race conditions that " +"could occur when using B<open>() to open files in directories other than " +"the current working directory. These race conditions result from the fact " +"that some component of the directory prefix given to B<open>() could be " +"changed in parallel with the call to B<open>(). Suppose, for example, that " +"we wish to create the file I<dir1/dir2/xxx.dep> if the file I<dir1/dir2/xxx> " +"exists. The problem is that between the existence check and the file-" +"creation step, I<dir1> or I<dir2> (which might be symbolic links) could be " +"modified to point to a different location. Such races can be avoided by " +"opening a file descriptor for the target directory, and then specifying that " +"file descriptor as the I<dirfd> argument of (say) B<fstatat>(2) and " +"B<openat>(). The use of the I<dirfd> file descriptor also has other " +"benefits:" +msgstr "" +"Во-первых, B<openat>() позволяет приложению избежать условий " +"состязательности, которые могут возникнуть, когда B<open>() открывает файлы " +"в каталогах, отличных от текущего рабочего каталога. Состязательность " +"возникает из-за того, что один из компонентов префикса каталога, указанного " +"B<open>(), может измениться одновременно с вызовом B<open>(). Например, " +"предположим, что мы хотим создать файл I<dir1/dir2/xxx.dep> и существует " +"файл I<dir1/dir2/xxx>. Проблема находится между шагами проверки " +"существования и созданием файла, указываемые I<dir1> или I<dir2> (которые " +"могут быть символическими ссылками) места могут измениться. Этой " +"состязательности можно избежать открыв файловый дескриптор каталога " +"назначения, и затем указав этот файловый дескриптор в аргументе I<dirfd> " +"вызова (скажем) B<fstatat>(2) и B<openat>(). Также, использование файлового " +"дескриптора I<dirfd> имеет другие преимущества:" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"the file descriptor is a stable reference to the directory, even if the " +"directory is renamed; and" +msgstr "" +"файловый дескриптор — это стабильная ссылка на каталог, даже если каталог " +"будет переименован; и" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"the open file descriptor prevents the underlying filesystem from being " +"dismounted, just as when a process has a current working directory on a " +"filesystem." +msgstr "" +"открытый файловый дескриптор предотвращает размонтирование нижележащей " +"файловой системы также, как если бы каталог являлся текущим рабочим " +"каталогом процесса в файловой системе." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Second, B<openat>() allows the implementation of a per-thread \"current " +"working directory\", via file descriptor(s) maintained by the application. " +"(This functionality can also be obtained by tricks based on the use of I</" +"proc/self/fd/>dirfd, but less efficiently.)" +msgstr "" +"Во-вторых, B<openat>() позволяет реализовать отдельный «текущий рабочий " +"каталог» для каждой нити посредством файлового дескриптора, сопровождаемого " +"приложением. Эта возможность также может быть получена с использованием I</" +"proc/self/fd/>dirfd, но менее эффективно." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<dirfd> argument for these APIs can be obtained by using B<open>() or " +"B<openat>() to open a directory (with either the B<O_RDONLY> or the " +"B<O_PATH> flag). Alternatively, such a file descriptor can be obtained by " +"applying B<dirfd>(3) to a directory stream created using B<opendir>(3)." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"When these APIs are given a I<dirfd> argument of B<AT_FDCWD> or the " +"specified pathname is absolute, then they handle their pathname argument in " +"the same way as the corresponding conventional APIs. However, in this case, " +"several of the APIs have a I<flags> argument that provides access to " +"functionality that is not available with the corresponding conventional APIs." +msgstr "" + +#. type: SS +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "O_DIRECT" +msgstr "O_DIRECT" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "The B<O_DIRECT> flag may impose alignment restrictions on the length and " +#| "address of user-space buffers and the file offset of I/Os. In Linux " +#| "alignment restrictions vary by filesystem and kernel version and might be " +#| "absent entirely. However there is currently no filesystem-independent " +#| "interface for an application to discover these restrictions for a given " +#| "file or filesystem. Some filesystems provide their own interfaces for " +#| "doing so, for example the B<XFS_IOC_DIOINFO> operation in B<xfsctl>(3)." +msgid "" +"The B<O_DIRECT> flag may impose alignment restrictions on the length and " +"address of user-space buffers and the file offset of I/Os. In Linux " +"alignment restrictions vary by filesystem and kernel version and might be " +"absent entirely. The handling of misaligned B<O_DIRECT> I/Os also varies; " +"they can either fail with B<EINVAL> or fall back to buffered I/O." +msgstr "" +"Флаг B<O_DIRECT> может накладывать ограничения по выравниванию на длину и " +"адрес буфера пользовательского пространства и смещения файла при вводе-" +"выводе. В Linux ограничения по выравниванию различны у разных файловых " +"систем и версий ядра, и даже могут отсутствовать. Однако сейчас не " +"существует независимого от файловой системы интерфейса приложения для " +"выявления этих ограничений на определённый файл или файловую систему. " +"Некоторые файловые системы предоставляют свои собственные интерфейсы для " +"этого, например, операция B<XFS_IOC_DIOINFO> в B<xfsctl>(3)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Since Linux 6.1, B<O_DIRECT> support and alignment restrictions for a file " +"can be queried using B<statx>(2), using the B<STATX_DIOALIGN> flag. Support " +"for B<STATX_DIOALIGN> varies by filesystem; see B<statx>(2)." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Some filesystems provide their own interfaces for querying B<O_DIRECT> " +"alignment restrictions, for example the B<XFS_IOC_DIOINFO> operation in " +"B<xfsctl>(3). B<STATX_DIOALIGN> should be used instead when it is available." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If none of the above is available, then direct I/O support and alignment " +"restrictions can only be assumed from known characteristics of the " +"filesystem, the individual file, the underlying storage device(s), and the " +"kernel version. In Linux 2.4, most filesystems based on block devices " +"require that the file offset and the length and memory address of all I/O " +"segments be multiples of the filesystem block size (typically 4096 bytes). " +"In Linux 2.6.0, this was relaxed to the logical block size of the block " +"device (typically 512 bytes). A block device's logical block size can be " +"determined using the B<ioctl>(2) B<BLKSSZGET> operation or from the shell " +"using the command:" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "blockdev --getss\n" +msgstr "blockdev --getss\n" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<O_DIRECT> I/Os should never be run concurrently with the B<fork>(2) " +"system call, if the memory buffer is a private mapping (i.e., any mapping " +"created with the B<mmap>(2) B<MAP_PRIVATE> flag; this includes memory " +"allocated on the heap and statically allocated buffers). Any such I/Os, " +"whether submitted via an asynchronous I/O interface or from another thread " +"in the process, should be completed before B<fork>(2) is called. Failure " +"to do so can result in data corruption and undefined behavior in parent and " +"child processes. This restriction does not apply when the memory buffer for " +"the B<O_DIRECT> I/Os was created using B<shmat>(2) or B<mmap>(2) with the " +"B<MAP_SHARED> flag. Nor does this restriction apply when the memory buffer " +"has been advised as B<MADV_DONTFORK> with B<madvise>(2), ensuring that it " +"will not be available to the child after B<fork>(2)." +msgstr "" +"Ввод-вывод с B<O_DIRECT> никогда не должен запускаться одновременно с " +"системным вызовом B<fork>(2), если буфер памяти является закрытым " +"отображением (т. е., любым отображениям, созданным с помощью B<mmap>(2) с " +"флагом B<MAP_PRIVATE>; к ним относится память, выделенная под кучу и " +"статически выделенные буферы). Любой подобный ввод-вывод, предоставленный " +"через асинхронный интерфейс или из другой нити процесса, должен выполниться " +"полностью до вызова B<fork>(2). В противном случае, может произойти " +"повреждение данных и непредсказуемое поведение в процессе родителя и потомка." +"Данное ограничение не действует, если буфер памяти для ввода-вывода с " +"B<O_DIRECT> был создан с помощью B<shmat>(2) или B<mmap>(2) с флагом " +"B<MAP_SHARED>. И при этом это ограничение не действует, когда буфер памяти " +"был помечен (advised) как B<MADV_DONTFORK> с помощью B<madvise>(2), если " +"точно известно, что он не будет доступен потомку после B<fork>(2)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The B<O_DIRECT> flag was introduced in SGI IRIX, where it has alignment " +"restrictions similar to those of Linux 2.4. IRIX has also a B<fcntl>(2) " +"call to query appropriate alignments, and sizes. FreeBSD 4.x introduced a " +"flag of the same name, but without alignment restrictions." +msgstr "" +"Флаг B<O_DIRECT> появился в SGI IRIX, где ограничения на выравнивание " +"подобны Linux 2.4. В IRIX также есть вызов B<fcntl>(2) для запроса значений " +"соответствующего выравнивания и размеров. В FreeBSD 4.x появился флаг с " +"таким же именем, но без ограничений на выравнивание." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "B<O_DIRECT> support was added under Linux in kernel version 2.4.10. " +#| "Older Linux kernels simply ignore this flag. Some filesystems may not " +#| "implement the flag, in which case B<open>() fails with the error " +#| "B<EINVAL> if it is used." +msgid "" +"B<O_DIRECT> support was added in Linux 2.4.10. Older Linux kernels simply " +"ignore this flag. Some filesystems may not implement the flag, in which " +"case B<open>() fails with the error B<EINVAL> if it is used." +msgstr "" +"Поддержка B<O_DIRECT> добавлена в ядро Linux версии 2.4.10. Более старые " +"ядра Linux просто игнорируют этот флаг. В некоторых файловых системах этот " +"флаг может быть не реализован и B<open>() завершается ошибкой B<EINVAL> при " +"его использовании." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Applications should avoid mixing B<O_DIRECT> and normal I/O to the same " +"file, and especially to overlapping byte regions in the same file. Even " +"when the filesystem correctly handles the coherency issues in this " +"situation, overall I/O throughput is likely to be slower than using either " +"mode alone. Likewise, applications should avoid mixing B<mmap>(2) of files " +"with direct I/O to the same files." +msgstr "" +"Приложения должны избегать смешивания B<O_DIRECT> и обычных операций ввода-" +"вывода в один файл и особенно перекрывать байтовые области. Даже когда " +"файловая система правильно обрабатывает проблемы с когерентностью в такой " +"ситуации, общая пропускная способность ввода-вывода, вероятно, будет " +"медленнее чем при использовании какого-то одного из этих режимов отдельно. " +"Аналогично приложения должны избегать смешивания B<mmap>(2) и прямого ввода-" +"вывода для одинаковых файлов." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The behavior of B<O_DIRECT> with NFS will differ from local filesystems. " +"Older kernels, or kernels configured in certain ways, may not support this " +"combination. The NFS protocol does not support passing the flag to the " +"server, so B<O_DIRECT> I/O will bypass the page cache only on the client; " +"the server may still cache the I/O. The client asks the server to make the " +"I/O synchronous to preserve the synchronous semantics of B<O_DIRECT>. Some " +"servers will perform poorly under these circumstances, especially if the I/O " +"size is small. Some servers may also be configured to lie to clients about " +"the I/O having reached stable storage; this will avoid the performance " +"penalty at some risk to data integrity in the event of server power " +"failure. The Linux NFS client places no alignment restrictions on " +"B<O_DIRECT> I/O." +msgstr "" +"Поведение B<O_DIRECT> на NFS отличается от локальных файловых систем. Старые " +"ядра и ядра, настроенные определёнными способами, могут не поддерживать " +"такую комбинацию. Протокол NFS не поддерживает передачу флага на сервер, " +"поэтому ввод-вывод с B<O_DIRECT> будет пропускать кэширование страниц только " +"на клиенте; сервер всё равно может выполнить кэширование ввода-вывода. " +"Клиент просит сервер выполнять операции ввода-вывода синхронно для " +"сохранения синхронной семантики B<O_DIRECT>. Некоторые серверы будут " +"выполнять это плохо при определённых условиях, особенно если размер данных " +"ввода-вывода невелик. Некоторые серверы также могут быть настроены на " +"отправку ложного ответа клиентам о том, что ввод-вывод произведён на " +"носитель; это позволяет избежать потери производительности, но есть риск " +"потери целостности данных в случае проблем с электропитанием сервера. В " +"Linux клиент NFS не устанавливает ограничений по выравниванию при вводе-" +"выводе с B<O_DIRECT>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"In summary, B<O_DIRECT> is a potentially powerful tool that should be used " +"with caution. It is recommended that applications treat use of B<O_DIRECT> " +"as a performance option which is disabled by default." +msgstr "" +"Флаг B<O_DIRECT> является потенциально мощным инструментом, который нужно " +"использовать с осторожностью. Рекомендуется, чтобы приложения считали " +"использование B<O_DIRECT> как параметр производительности, который по " +"умолчанию выключен." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "BUGS" +msgstr "ДЕФЕКТЫ" + +#. FIXME . Check bugzilla report on open(O_ASYNC) +#. See http://bugzilla.kernel.org/show_bug.cgi?id=5993 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Currently, it is not possible to enable signal-driven I/O by specifying " +"B<O_ASYNC> when calling B<open>(); use B<fcntl>(2) to enable this flag." +msgstr "" +"На данный момент невозможно включить сигнальное управление вводом-выводом, " +"указав B<O_ASYNC> при вызове B<open>(); чтобы установить этот флаг " +"используйте B<fcntl>(2)." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"One must check for two different error codes, B<EISDIR> and B<ENOENT>, when " +"trying to determine whether the kernel supports B<O_TMPFILE> functionality." +msgstr "" +"Для определения поддержки ядром B<O_TMPFILE> нужно проверять два различных " +"кода ошибок — B<EISDIR> и B<ENOENT>." + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"When both B<O_CREAT> and B<O_DIRECTORY> are specified in I<flags> and the " +"file specified by I<pathname> does not exist, B<open>() will create a " +"regular file (i.e., B<O_DIRECTORY> is ignored)." +msgstr "" +"При указании флагов B<O_CREAT> и B<O_DIRECTORY> в I<flags>, и при этом " +"указанный в I<pathname> файл не существует, B<open>() создаст обычный файл " +"(то есть флаг B<O_DIRECTORY> будет проигнорирован)." + +#. type: SH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "SEE ALSO" +msgstr "СМ. ТАКЖЕ" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<chmod>(2), B<chown>(2), B<close>(2), B<dup>(2), B<fcntl>(2), B<link>(2), " +"B<lseek>(2), B<mknod>(2), B<mmap>(2), B<mount>(2), B<open_by_handle_at>(2), " +"B<openat2>(2), B<read>(2), B<socket>(2), B<stat>(2), B<umask>(2), " +"B<unlink>(2), B<write>(2), B<fopen>(3), B<acl>(5), B<fifo>(7), B<inode>(7), " +"B<path_resolution>(7), B<symlink>(7)" +msgstr "" +"B<chmod>(2), B<chown>(2), B<close>(2), B<dup>(2), B<fcntl>(2), B<link>(2), " +"B<lseek>(2), B<mknod>(2), B<mmap>(2), B<mount>(2), B<open_by_handle_at>(2), " +"B<openat2>(2), B<read>(2), B<socket>(2), B<stat>(2), B<umask>(2), " +"B<unlink>(2), B<write>(2), B<fopen>(3), B<acl>(5), B<fifo>(7), B<inode>(7), " +"B<path_resolution>(7), B<symlink>(7)" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "2023-02-05" +msgstr "5 февраля 2023 г." + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "Linux man-pages 6.03" +msgstr "Linux man-pages 6.03" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"B<int open(const char *>I<pathname>B<, int >I<flags>B<);>\n" +"B<int open(const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n" +msgstr "" +"B<int open(const char *>I<pathname>B<, int >I<flags>B<);>\n" +"B<int open(const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<);>\n" +"B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n" +msgstr "" +"B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<);>\n" +"B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "" +#| "B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<);>\n" +#| "B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n" +msgid "" +"/* Documented separately, in B<openat2>(2): */\n" +"B<int openat2(int >I<dirfd>B<, const char *>I<pathname>B<,>\n" +"B< const struct open_how *>I<how>B<, size_t >I<size>B<);>\n" +msgstr "" +"B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<);>\n" +"B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n" + +#. type: Plain text +#: debian-bookworm debian-unstable opensuse-leap-15-6 opensuse-tumbleweed +#, fuzzy +#| msgid "" +#| "The return value of B<open>() is a file descriptor, a small, nonnegative " +#| "integer that is used in subsequent system calls (B<read>(2), B<write>(2), " +#| "B<lseek>(2), B<fcntl>(2), etc.) to refer to the open file. The file " +#| "descriptor returned by a successful call will be the lowest-numbered file " +#| "descriptor not currently open for the process." +msgid "" +"The return value of B<open>() is a file descriptor, a small, nonnegative " +"integer that is an index to an entry in the process's table of open file " +"descriptors. The file descriptor is used in subsequent system calls " +"(B<read>(2), B<write>(2), B<lseek>(2), B<fcntl>(2), etc.) to refer to the " +"open file. The file descriptor returned by a successful call will be the " +"lowest-numbered file descriptor not currently open for the process." +msgstr "" +"Возвращаемым значением B<open>() является файловый дескриптор, указывающий " +"на открытый файл — небольшое неотрицательное целое, которое используется в " +"последующих системных вызовах (B<read>(2), B<write>(2), B<lseek>(2), " +"B<fcntl>(2) и т. д.). Файловый дескриптор, возвращаемый при успешном " +"выполнении вызова, будет самым маленьким числом из файловых дескрипторов, " +"которые ещё не открыты процессом." + +#. SUSv4 divides the flags into: +#. * Access mode +#. * File creation +#. * File status +#. * Other (O_CLOEXEC, O_DIRECTORY, O_NOFOLLOW) +#. though it's not clear what the difference between "other" and +#. "File creation" flags is. I raised an Aardvark to see if this +#. can be clarified in SUSv4; 10 Oct 2008. +#. http://thread.gmane.org/gmane.comp.standards.posix.austin.general/64/focus=67 +#. TC1 (balloted in 2013), resolved this, so that those three constants +#. are also categorized" as file status flags. +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +msgid "" +"In addition, zero or more file creation flags and file status flags can be " +"bitwise-I<or>'d in I<flags>. The I<file creation flags> are B<O_CLOEXEC>, " +"B<O_CREAT>, B<O_DIRECTORY>, B<O_EXCL>, B<O_NOCTTY>, B<O_NOFOLLOW>, " +"B<O_TMPFILE>, and B<O_TRUNC>. The I<file status flags> are all of the " +"remaining flags listed below. The distinction between these two groups of " +"flags is that the file creation flags affect the semantics of the open " +"operation itself, while the file status flags affect the semantics of " +"subsequent I/O operations. The file status flags can be retrieved and (in " +"some cases) modified; see B<fcntl>(2) for details." +msgstr "" +"Также в I<flags> можно указывать флаги создания и состояния файла, объединяя " +"их битовой операцией I<ИЛИ>. I<Флаги создания файла>: B<O_CLOEXEC>, " +"B<O_CREAT>, B<O_DIRECTORY>, B<O_EXCL>, B<O_NOCTTY>, B<O_NOFOLLOW>, " +"B<O_TMPFILE> и B<O_TRUNC>. I<Флаги состояния файла> — все оставшиеся, " +"перечислены ниже. Различие между двумя этими группами в том, что флаги " +"создания влияют на работу самой операции открытия, а флаги состояния влияют " +"на работу последующих операций ввода-вывода. Флаги состояния можно запросить " +"и (в некоторых случаях) изменить; смотрите B<fcntl>(2)." + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"char path[PATH_MAX];\n" +"fd = open(\"/path/to/dir\", O_TMPFILE | O_RDWR,\n" +" S_IRUSR | S_IWUSR);\n" +msgstr "" +"char path[PATH_MAX];\n" +"fd = open(\"/path/to/dir\", O_TMPFILE | O_RDWR,\n" +" S_IRUSR | S_IWUSR);\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, fuzzy, no-wrap +#| msgid "/* File I/O on 'fd'... */\n" +msgid "/* File I/O on \\[aq]fd\\[aq]... */\n" +msgstr "/* Файловый ввод-вывод в «fd»… */\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "linkat(fd, \"\", AT_FDCWD, \"/path/for/file\", AT_EMPTY_PATH);\n" +msgstr "linkat(fd, \"\", AT_FDCWD, \"/path/for/file\", AT_EMPTY_PATH);\n" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"/* If the caller doesn\\[aq]t have the CAP_DAC_READ_SEARCH\n" +" capability (needed to use AT_EMPTY_PATH with linkat(2)),\n" +" and there is a proc(5) filesystem mounted, then the\n" +" linkat(2) call above can be replaced with:\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"snprintf(path, PATH_MAX, \"/proc/self/fd/%d\", fd);\n" +"linkat(AT_FDCWD, path, AT_FDCWD, \"/path/for/file\",\n" +" AT_SYMLINK_FOLLOW);\n" +"*/\n" +msgstr "" +"snprintf(path, PATH_MAX, \"/proc/self/fd/%d\", fd);\n" +"linkat(AT_FDCWD, path, AT_FDCWD, \"/path/for/file\",\n" +" AT_SYMLINK_FOLLOW);\n" +"*/\n" + +#. type: Plain text +#: debian-bookworm +#, fuzzy +#| msgid "" +#| "B<openat>() was added to Linux in kernel 2.6.16; library support was " +#| "added to glibc in version 2.4." +msgid "" +"B<openat>() was added in Linux 2.6.16; library support was added in glibc " +"2.4." +msgstr "" +"Вызов B<openat>() был добавлен в ядро Linux версии 2.6.16; поддержка в glibc " +"доступна с версии 2.4." + +#. type: Plain text +#: debian-bookworm +msgid "B<open>(), B<creat>() SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008." +msgstr "B<open>(), B<creat>() SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008." + +#. type: Plain text +#: debian-bookworm +msgid "B<openat>(): POSIX.1-2008." +msgstr "B<openat>(): POSIX.1-2008." + +#. type: Plain text +#: debian-bookworm +#, fuzzy +#| msgid "This API is Linux-specific." +msgid "B<openat2>(2) is Linux-specific." +msgstr "Данный программный интерфейс существует только в Linux." + +#. type: Plain text +#: debian-bookworm +msgid "" +"As noted in B<feature_test_macros>(7), feature test macros such as " +"B<_POSIX_C_SOURCE>, B<_XOPEN_SOURCE>, and B<_GNU_SOURCE> must be defined " +"before including I<any> header files." +msgstr "" +"Как было отмечено в B<feature_test_macros>(7), такие макросы тестирования " +"свойств как B<_POSIX_C_SOURCE>, B<_XOPEN_SOURCE> и B<_GNU_SOURCE>, должны " +"быть определены до включения I<любых> заголовочных файлов." + +#. type: Plain text +#: debian-bookworm +msgid "" +"The files in the I</proc/[pid]/fd> directory show the open file descriptors " +"of the process with the PID I<pid>. The files in the I</proc/[pid]/fdinfo> " +"directory show even more information about these file descriptors. See " +"B<proc>(5) for further details of both of these directories." +msgstr "" +"Файлы в каталоге I</proc/[pid]/fd> представляют открытые файловые " +"дескрипторы процесса с PID равным I<pid>. Файлы в каталоге I</proc/[pid]/" +"fdinfo> представляют дополнительную информацию об этих файловых " +"дескрипторах. Подробное описание данных каталогов можно найти в B<proc>(5)." + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "2023-05-20" +msgstr "20 мая 2023 г." + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "Linux man-pages 6.05.01" +msgstr "Linux man-pages 6.05.01" + +#. type: Plain text +#: debian-unstable opensuse-tumbleweed +#, fuzzy, no-wrap +#| msgid "" +#| "B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<);>\n" +#| "B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n" +msgid "" +"/* Documented separately, in B<openat2>(2): */\n" +"B<int openat2(int >I<dirfd>B<, const char *>I<pathname>B<,>\n" +"B< const struct open_how *>I<how>B<, size_t >I<size>B<);>\n" +msgstr "" +"B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<);>\n" +"B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "2023-04-03" +msgstr "3 апреля 2023 г." + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "Linux man-pages 6.04" +msgstr "Linux man-pages 6.04" |