# Russian translation of manpages # This file is distributed under the same license as the manpages-l10n package. # Copyright © of this file: # Azamat Hackimov , 2013-2014, 2017. # Dmitriy S. Seregin , 2013. # Yuri Kozlov , 2011-2019. # Иван Павлов , 2017, 2019. msgid "" msgstr "" "Project-Id-Version: manpages-l10n\n" "POT-Creation-Date: 2024-06-01 05:57+0200\n" "PO-Revision-Date: 2019-10-05 08:17+0300\n" "Last-Translator: Yuri Kozlov \n" "Language-Team: Russian \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 "ioctl_ns" msgstr "ioctl_ns" #. type: TH #: archlinux debian-unstable opensuse-tumbleweed #, no-wrap msgid "2024-05-02" msgstr "2 мая 2024 г." #. type: TH #: archlinux debian-unstable #, fuzzy, no-wrap #| msgid "Linux man-pages 6.7" msgid "Linux man-pages 6.8" msgstr "Linux man-pages 6.7" #. 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 "ioctl_ns - ioctl() operations for Linux namespaces" msgstr "ioctl_ns - операции ioctl() для пространств имён Linux" #. 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: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Discovering namespace relationships" msgstr "Определение отношений между пространствами имён" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The following B(2) operations are provided to allow discovery of " "namespace relationships (see B(7) and " "B(7)). The form of the calls is:" msgstr "" "Следующие операции B(2) позволяют определить порядок отношений между " "пространствами имён (смотрите B(7) и B(7)). " "Форма вызовов:" #. type: Plain text #: archlinux debian-unstable fedora-rawhide opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "new_fd = ioctl(fd, request);\n" msgid "new_fd = ioctl(fd, op);\n" msgstr "new_fd = ioctl(fd, request);\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In each case, I refers to a IpidI file. Both operations " "return a new file descriptor on success." msgstr "" "Здесь в каждом случае I ссылается на файл IpidI. При " "успешном выполнении обе операции возвращают новый файловый дескриптор." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 4.9)" msgstr "B (начиная с Linux 4.9)" #. commit bcac25a58bfc6bd79191ac5d7afb49bea96da8c9 #. commit 6786741dbf99e44fb0c0ed85a37582b8a26f1c3b #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Returns a file descriptor that refers to the owning user namespace for the " "namespace referred to by I." msgstr "" "Возвращает файловый дескриптор, ссылающийся на пространство имён " "пользователя, которое владеет пространством имён, на которое ссылается I." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B (since Linux 4.9)" msgstr "B (начиная с Linux 4.9)" #. commit a7306ed8d94af729ecef8b6e37506a1c6fc14788 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Returns a file descriptor that refers to the parent namespace of the " "namespace referred to by I. This operation is valid only for " "hierarchical namespaces (i.e., PID and user namespaces). For user " "namespaces, B is synonymous with B." msgstr "" "Возвращает файловый дескриптор, который ссылается на родительское " "пространство имён для пространства имён, на которое ссылается I. Эта " "операция допускается только, для иерархических пространств имён (т. е., PID " "и пространства имён пользователя). Для пространств имён пользователя " "B является синонимом B." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The new file descriptor returned by these operations is opened with the " "B and B (close-on-exec; see B(2)) flags." msgstr "" "Новый файловый дескриптор, возвращаемый этими операциями, открывается с " "флагами B и B (close-on-exec; смотрите B(2))." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "By applying B(2) to the returned file descriptor, one obtains a " "I structure whose I (resident device) and I (inode " "number) fields together identify the owning/parent namespace. This inode " "number can be matched with the inode number of another IpidI{I,I} file to determine whether that is the owning/parent " "namespace." msgstr "" "Применив B(2) к возвращаемому файловому дескриптору, можно получить " "структуру I, в которой поля I (подлежащее устройство) и " "I (номер иноды) вместе отождествляют владельческое/родительское " "пространство имён. Этот номер иноды можно сравнить с номером иноды другого " "файла IpidI/{I,I}, чтобы определить то же ли это " "владельческое/родительское пространство имён. " #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Either of these B(2) operations can fail with the following errors:" msgstr "Эти операции B(2) могут завершаться со следующими ошибками:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The requested namespace is outside of the caller's namespace scope. This " "error can occur if, for example, the owning user namespace is an ancestor of " "the caller's current user namespace. It can also occur on attempts to " "obtain the parent of the initial user or PID namespace." msgstr "" "Запрошенное пространство имён лежит вне области пространств имён " "вызывающего. Эта ошибка может случиться, если, например, владельческое " "пространство имён является предком текущего пространства имён пользователя " "вызывающего. Также она может возникнуть при попытке получить родителя " "первоначального пространства имён пользователя или PID." #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The operation is not supported by this kernel version." msgstr "Операция не поддерживается в этой версии ядра." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Additionally, the B operation can fail with the following " "error:" msgstr "" "Также, операция B может завершиться со следующей ошибкой:" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "B" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I refers to a nonhierarchical namespace." msgstr "Значение I ссылается на не иерархическое пространство имён." #. ============================================================ #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "See the EXAMPLES section for an example of the use of these operations." msgstr "Использование этих операций смотрите в разделе ПРИМЕРЫ." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Discovering the namespace type" msgstr "Определение типа пространства имён" #. commit e5ff5ce6e20ee22511398bb31fb912466cf82a36 #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B operation (available since Linux 4.11) can be used to " "discover the type of namespace referred to by the file descriptor I:" msgstr "" "Операция B (доступна, начиная с Linux 4.11) позволяет " "определять тип пространства имён, на которое ссылается файловый дескриптор " "I:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "nstype = ioctl(fd, NS_GET_NSTYPE);\n" msgstr "nstype = ioctl(fd, NS_GET_NSTYPE);\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I refers to a IpidI file." msgstr "Значение I ссылается на файл IpidI." #. ============================================================ #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The return value is one of the B values that can be specified to " "B(2) or B(2) in order to create a namespace." msgstr "" "Возвращаемым значением является одно из B, которое может " "указываться B(2) или B(2) для создания пространства имён." #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Discovering the owner of a user namespace" msgstr "Определение владельца пространства имён пользователя" #. commit 015bb305b8ebe8d601a238ab70ebdc394c7a19ba #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The B operation (available since Linux 4.11) can be used " "to discover the owner user ID of a user namespace (i.e., the effective user " "ID of the process that created the user namespace). The form of the call is:" msgstr "" "Операция B (доступна, начиная с Linux 4.11) позволяет " "определять пользовательский ID владельца пространства имён пользователя (т. " "е., эффективный пользовательский ID процесса, который создал пространство " "имён пользователя). Формат вызова:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "uid_t uid;\n" "ioctl(fd, NS_GET_OWNER_UID, &uid);\n" msgstr "" "uid_t uid;\n" "ioctl(fd, NS_GET_OWNER_UID, &uid);\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I refers to a IpidI file." msgstr "Значение I ссылается на файл IpidI." #. 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 is returned in the I pointed to by the third " "argument." msgstr "" "Возвращаемый пользовательский ID владельца находится в третьем аргументе с " "типом I." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "This operation can fail with the following error:" msgstr "Данная операция может завершиться со следующей ошибкой:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "I does not refer to a user namespace." msgstr "Значение I не ссылается на пространство имён пользователя." #. 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 "" "Any of the above B() operations can return the following errors:" msgstr "" "Любая из этих операций B() может завершаться со следующими ошибками:" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, fuzzy #| msgid "I does not refer to a I file." msgid "I does not refer to a IpidI* file." msgstr "Значение I не ссылается на файл I." #. 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: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "Linux." msgstr "Linux." #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "EXAMPLES" msgstr "ПРИМЕРЫ" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The example shown below uses the B(2) operations described above to " "perform simple discovery of namespace relationships. The following shell " "sessions show various examples of the use of this program." msgstr "" "В примере, показанном ниже, используются описанные выше операции " "B(2), с помощью которых определяются отношения между пространствами " "имён. Далее показаны сценарии запуска этой программы." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Trying to get the parent of the initial user namespace fails, since it has " "no parent:" 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<./ns_show /proc/self/ns/user p>\n" "The parent namespace is outside your namespace scope\n" msgstr "" "$ B<./ns_show /proc/self/ns/user p>\n" "Родительское пространство имён находится вне области вашего пространства имён\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Create a process running B(1) that resides in new user and UTS " "namespaces, and show that the new UTS namespace is associated with the new " "user namespace:" msgstr "" "Создаётся процесс, выполняющий B(1), который располагается в новом " "пространстве имён пользователя и UTS, и показывается, что новое пространство " "имён UTS связано с новым пространством имён пользователя:" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "$ B\n" "[1] 23235\n" "$ B<./ns_show /proc/23235/ns/uts u>\n" "Device/Inode of owning user namespace is: [0,3] / 4026532448\n" "$ B\n" "user:[4026532448]\n" msgstr "" "$ B\n" "[1] 23235\n" "$ B<./ns_show /proc/23235/ns/uts u>\n" "Устройство/инода, владеющая пространством имён пользователя: [0,3] / 4026532448\n" "$ B\n" "user:[4026532448]\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Then show that the parent of the new user namespace in the preceding example " "is the initial user namespace:" 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\n" "user:[4026531837]\n" "$ B<./ns_show /proc/23235/ns/user p>\n" "Device/Inode of parent namespace is: [0,3] / 4026531837\n" msgstr "" "$ B\n" "user:[4026531837]\n" "$ B<./ns_show /proc/23235/ns/user p>\n" "Устройство/инода родительского пространства имён: [0,3] / 4026531837\n" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Start a shell in a new user namespace, and show that from within this shell, " "the parent user namespace can't be discovered. Similarly, the UTS namespace " "(which is associated with the initial user namespace) can't be discovered." msgstr "" "Запустим оболочку в новом пространстве имён пользователя и покажем, что " "внутри оболочки родительское пространство имён пользователя невозможно " "определить. Также невозможно определить пространство имён UTS (которое " "связано с изначальным пространством имён пользователя)." #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "$ B\n" "sh2$ B<./ns_show /proc/self/ns/user p>\n" "The parent namespace is outside your namespace scope\n" "sh2$ B<./ns_show /proc/self/ns/uts u>\n" "The owning user namespace is outside your namespace scope\n" msgstr "" "$ B\n" "sh2$ B<./ns_show /proc/self/ns/user p>\n" "Родительское пространство имён находится вне области вашего пространства имён\n" "sh2$ B<./ns_show /proc/self/ns/uts u>\n" "Владеющее пространство имён пользователя находится вне области вашего пространства имён\n" #. type: SS #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Program source" msgstr "Исходный код программы" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-tumbleweed #, no-wrap msgid "" "/* ns_show.c\n" "\\&\n" " Licensed under the GNU General Public License v2 or later.\n" "*/\n" "#include Eerrno.hE\n" "#include Efcntl.hE\n" "#include Elinux/nsfs.hE\n" "#include Estdint.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/ioctl.hE\n" "#include Esys/stat.hE\n" "#include Esys/sysmacros.hE\n" "#include Eunistd.hE\n" "\\&\n" "int\n" "main(int argc, char *argv[])\n" "{\n" " int fd, userns_fd, parent_fd;\n" " struct stat sb;\n" "\\&\n" " if (argc E 2) {\n" " fprintf(stderr, \"Usage: %s /proc/[pid]/ns/[file] [p|u]\\en\",\n" " argv[0]);\n" " fprintf(stderr, \"\\enDisplay the result of one or both \"\n" " \"of NS_GET_USERNS (u) or NS_GET_PARENT (p)\\en\"\n" " \"for the specified /proc/[pid]/ns/[file]. If neither \"\n" " \"\\[aq]p\\[aq] nor \\[aq]u\\[aq] is specified,\\en\"\n" " \"NS_GET_USERNS is the default.\\en\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* Obtain a file descriptor for the \\[aq]ns\\[aq] file specified\n" " in argv[1]. */\n" "\\&\n" " fd = open(argv[1], O_RDONLY);\n" " if (fd == -1) {\n" " perror(\"open\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " /* Obtain a file descriptor for the owning user namespace and\n" " then obtain and display the inode number of that namespace. */\n" "\\&\n" " if (argc E 3 || strchr(argv[2], \\[aq]u\\[aq])) {\n" " userns_fd = ioctl(fd, NS_GET_USERNS);\n" "\\&\n" " if (userns_fd == -1) {\n" " if (errno == EPERM)\n" " printf(\"The owning user namespace is outside \"\n" " \"your namespace scope\\en\");\n" " else\n" " perror(\"ioctl-NS_GET_USERNS\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " if (fstat(userns_fd, &sb) == -1) {\n" " perror(\"fstat-userns\");\n" " exit(EXIT_FAILURE);\n" " }\n" " printf(\"Device/Inode of owning user namespace is: \"\n" " \"[%x,%x] / %ju\\en\",\n" " major(sb.st_dev),\n" " minor(sb.st_dev),\n" " (uintmax_t) sb.st_ino);\n" "\\&\n" " close(userns_fd);\n" " }\n" "\\&\n" " /* Obtain a file descriptor for the parent namespace and\n" " then obtain and display the inode number of that namespace. */\n" "\\&\n" " if (argc E 2 && strchr(argv[2], \\[aq]p\\[aq])) {\n" " parent_fd = ioctl(fd, NS_GET_PARENT);\n" "\\&\n" " if (parent_fd == -1) {\n" " if (errno == EINVAL)\n" " printf(\"Can\\[aq] get parent namespace of a \"\n" " \"nonhierarchical namespace\\en\");\n" " else if (errno == EPERM)\n" " printf(\"The parent namespace is outside \"\n" " \"your namespace scope\\en\");\n" " else\n" " perror(\"ioctl-NS_GET_PARENT\");\n" " exit(EXIT_FAILURE);\n" " }\n" "\\&\n" " if (fstat(parent_fd, &sb) == -1) {\n" " perror(\"fstat-parentns\");\n" " exit(EXIT_FAILURE);\n" " }\n" " printf(\"Device/Inode of parent namespace is: [%x,%x] / %ju\\en\",\n" " major(sb.st_dev),\n" " minor(sb.st_dev),\n" " (uintmax_t) sb.st_ino);\n" "\\&\n" " close(parent_fd);\n" " }\n" "\\&\n" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" #. SRC END #. 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(2), B(2), B(5), B(7)" msgstr "B(2), B(2), B(5), B(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 fedora-40 mageia-cauldron opensuse-leap-15-6 #, no-wrap msgid "new_fd = ioctl(fd, request);\n" msgstr "new_fd = ioctl(fd, request);\n" #. type: Plain text #: debian-bookworm msgid "I does not refer to a I file." msgstr "Значение I не ссылается на файл I." #. type: Plain text #: debian-bookworm msgid "" "Namespaces and the operations described on this page are a Linux-specific." msgstr "Пространства имён и операции, описанные здесь, есть только в Linux." #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "/* ns_show.c\n" msgstr "/* ns_show.c\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " Licensed under the GNU General Public License v2 or later.\n" "*/\n" "#include Eerrno.hE\n" "#include Efcntl.hE\n" "#include Elinux/nsfs.hE\n" "#include Estdint.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/ioctl.hE\n" "#include Esys/stat.hE\n" "#include Esys/sysmacros.hE\n" "#include Eunistd.hE\n" msgstr "" " Лицензируется под GNU General Public License v2 или новее.\n" "*/\n" "#include Eerrno.hE\n" "#include Efcntl.hE\n" "#include Elinux/nsfs.hE\n" "#include Estdint.hE\n" "#include Estdio.hE\n" "#include Estdlib.hE\n" "#include Estring.hE\n" "#include Esys/ioctl.hE\n" "#include Esys/stat.hE\n" "#include Esys/sysmacros.hE\n" "#include Eunistd.hE\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" "int\n" "main(int argc, char *argv[])\n" "{\n" " int fd, userns_fd, parent_fd;\n" " struct stat sb;\n" msgstr "" "int\n" "main(int argc, char *argv[])\n" "{\n" " int fd, userns_fd, parent_fd;\n" " struct stat sb;\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " if (argc E 2) {\n" #| " fprintf(stderr, \"Usage: %s /proc/[pid]/ns/[file] [p|u]\\en\",\n" #| " argv[0]);\n" #| " fprintf(stderr, \"\\enDisplay the result of one or both \"\n" #| " \"of NS_GET_USERNS (u) or NS_GET_PARENT (p)\\en\"\n" #| " \"for the specified /proc/[pid]/ns/[file]. If neither \"\n" #| " \"\\(aqp\\(aq nor \\(aqu\\(aq is specified,\\en\"\n" #| " \"NS_GET_USERNS is the default.\\en\");\n" #| " exit(EXIT_FAILURE);\n" #| " }\n" msgid "" " if (argc E 2) {\n" " fprintf(stderr, \"Usage: %s /proc/[pid]/ns/[file] [p|u]\\en\",\n" " argv[0]);\n" " fprintf(stderr, \"\\enDisplay the result of one or both \"\n" " \"of NS_GET_USERNS (u) or NS_GET_PARENT (p)\\en\"\n" " \"for the specified /proc/[pid]/ns/[file]. If neither \"\n" " \"\\[aq]p\\[aq] nor \\[aq]u\\[aq] is specified,\\en\"\n" " \"NS_GET_USERNS is the default.\\en\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " if (argc E 2) {\n" " fprintf(stderr, \"Использование: %s /proc/[pid]/ns/[файл] [p|u]\\en\",\n" " argv[0]);\n" " fprintf(stderr, \"\\enПоказывает результат одной или обеих\"\n" " \"операций NS_GET_USERNS (u) и NS_GET_PARENT (p)\\en\"\n" " \"для заданного /proc/[pid]/ns/[файла]. Если не указано\"\n" " \"\\(aqp\\(aq или \\(aqu\\(aq, то\\en\"\n" " \"используется NS_GET_USERNS.\\en\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " /* Obtain a file descriptor for the \\(aqns\\(aq file specified\n" #| " in argv[1]. */\n" msgid "" " /* Obtain a file descriptor for the \\[aq]ns\\[aq] file specified\n" " in argv[1]. */\n" msgstr "" " /* получаем файловый дескриптор для файла \\(aqns\\(aq, указанного\n" " в argv[1]. */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " fd = open(argv[1], O_RDONLY);\n" " if (fd == -1) {\n" " perror(\"open\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " fd = open(argv[1], O_RDONLY);\n" " if (fd == -1) {\n" " perror(\"open\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " /* Obtain a file descriptor for the owning user namespace and\n" " then obtain and display the inode number of that namespace. */\n" msgstr "" " /* получаем файловый дескриптор владельческого пространства\n" " имён пользователя и затем показываем номер иноды\n" " этого пространства имён */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " if (argc E 3 || strchr(argv[2], \\(aqu\\(aq)) {\n" #| " userns_fd = ioctl(fd, NS_GET_USERNS);\n" msgid "" " if (argc E 3 || strchr(argv[2], \\[aq]u\\[aq])) {\n" " userns_fd = ioctl(fd, NS_GET_USERNS);\n" msgstr "" " if (argc E 3 || strchr(argv[2], \\(aqu\\(aq)) {\n" " userns_fd = ioctl(fd, NS_GET_USERNS);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (userns_fd == -1) {\n" " if (errno == EPERM)\n" " printf(\"The owning user namespace is outside \"\n" " \"your namespace scope\\en\");\n" " else\n" " perror(\"ioctl-NS_GET_USERNS\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " if (userns_fd == -1) {\n" " if (errno == EPERM)\n" " printf(\"Родительское пространство имён находится \"\n" " \"вне области вашего пространства имён\\en\");\n" " else\n" " perror(\"ioctl-NS_GET_USERNS\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (fstat(userns_fd, &sb) == -1) {\n" " perror(\"fstat-userns\");\n" " exit(EXIT_FAILURE);\n" " }\n" " printf(\"Device/Inode of owning user namespace is: \"\n" " \"[%x,%x] / %ju\\en\",\n" " major(sb.st_dev),\n" " minor(sb.st_dev),\n" " (uintmax_t) sb.st_ino);\n" msgstr "" " if (fstat(userns_fd, &sb) == -1) {\n" " perror(\"fstat-userns\");\n" " exit(EXIT_FAILURE);\n" " }\n" " printf(\"Устройство/инода, владеющая пространством имён пользователя: \"\n" " \"[%x,%x] / %ju\\en\",\n" " major(sb.st_dev),\n" " minor(sb.st_dev),\n" " (uintmax_t) sb.st_ino);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " close(userns_fd);\n" " }\n" msgstr "" " close(userns_fd);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " /* Obtain a file descriptor for the parent namespace and\n" " then obtain and display the inode number of that namespace. */\n" msgstr "" " /* получаем файловый дескриптор родительского пространства\n" " имён пользователя и затем показываем номер иноды\n" " этого пространства имён */\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " if (argc E 2 && strchr(argv[2], \\(aqp\\(aq)) {\n" #| " parent_fd = ioctl(fd, NS_GET_PARENT);\n" msgid "" " if (argc E 2 && strchr(argv[2], \\[aq]p\\[aq])) {\n" " parent_fd = ioctl(fd, NS_GET_PARENT);\n" msgstr "" " if (argc E 2 && strchr(argv[2], \\(aqp\\(aq)) {\n" " parent_fd = ioctl(fd, NS_GET_PARENT);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, fuzzy, no-wrap #| msgid "" #| " if (parent_fd == -1) {\n" #| " if (errno == EINVAL)\n" #| " printf(\"Can\\(aq get parent namespace of a \"\n" #| " \"nonhierarchical namespace\\en\");\n" #| " else if (errno == EPERM)\n" #| " printf(\"The parent namespace is outside \"\n" #| " \"your namespace scope\\en\");\n" #| " else\n" #| " perror(\"ioctl-NS_GET_PARENT\");\n" #| " exit(EXIT_FAILURE);\n" #| " }\n" msgid "" " if (parent_fd == -1) {\n" " if (errno == EINVAL)\n" " printf(\"Can\\[aq] get parent namespace of a \"\n" " \"nonhierarchical namespace\\en\");\n" " else if (errno == EPERM)\n" " printf(\"The parent namespace is outside \"\n" " \"your namespace scope\\en\");\n" " else\n" " perror(\"ioctl-NS_GET_PARENT\");\n" " exit(EXIT_FAILURE);\n" " }\n" msgstr "" " if (parent_fd == -1) {\n" " if (errno == EINVAL)\n" " printf(\"Невозможно получить родительское пространство имён\"\n" " \"не иерархического пространства имён\\en\");\n" " else if (errno == EPERM)\n" " printf(\"Родительское пространство имён находится\"\n" " \"вне области вашего пространства имён\\en\");\n" " else\n" " perror(\"ioctl-NS_GET_PARENT\");\n" " exit(EXIT_FAILURE);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " if (fstat(parent_fd, &sb) == -1) {\n" " perror(\"fstat-parentns\");\n" " exit(EXIT_FAILURE);\n" " }\n" " printf(\"Device/Inode of parent namespace is: [%x,%x] / %ju\\en\",\n" " major(sb.st_dev),\n" " minor(sb.st_dev),\n" " (uintmax_t) sb.st_ino);\n" msgstr "" " if (fstat(parent_fd, &sb) == -1) {\n" " perror(\"fstat-parentns\");\n" " exit(EXIT_FAILURE);\n" " }\n" " printf(\"Устройство/инода родительского пространства имён: [%x,%x] / %ju\\en\",\n" " major(sb.st_dev),\n" " minor(sb.st_dev),\n" " (uintmax_t) sb.st_ino);\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " close(parent_fd);\n" " }\n" msgstr "" " close(parent_fd);\n" " }\n" #. type: Plain text #: debian-bookworm opensuse-leap-15-6 #, no-wrap msgid "" " exit(EXIT_SUCCESS);\n" "}\n" msgstr "" " exit(EXIT_SUCCESS);\n" "}\n" #. type: TH #: fedora-40 mageia-cauldron #, no-wrap msgid "2023-10-31" msgstr "31 октября 2023 г." #. type: TH #: fedora-40 mageia-cauldron #, no-wrap msgid "Linux man-pages 6.06" msgstr "Linux man-pages 6.06" #. type: TH #: fedora-rawhide #, no-wrap msgid "2024-03-03" msgstr "3 марта 2024 г." #. type: TH #: fedora-rawhide #, no-wrap msgid "Linux man-pages 6.7" msgstr "Linux man-pages 6.7" #. 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" #. type: TH #: opensuse-tumbleweed #, fuzzy, no-wrap #| msgid "Linux man-pages 6.7" msgid "Linux man-pages (unreleased)" msgstr "Linux man-pages 6.7"