diff options
Diffstat (limited to '')
-rw-r--r-- | templates/man2/unshare.2.pot | 954 |
1 files changed, 954 insertions, 0 deletions
diff --git a/templates/man2/unshare.2.pot b/templates/man2/unshare.2.pot new file mode 100644 index 00000000..9c9ae775 --- /dev/null +++ b/templates/man2/unshare.2.pot @@ -0,0 +1,954 @@ +# SOME DESCRIPTIVE TITLE +# Copyright (C) YEAR Free Software Foundation, Inc. +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2024-03-01 17:12+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: LANGUAGE <LL@li.org>\n" +"Language: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. type: TH +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "unshare" +msgstr "" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "2023-10-31" +msgstr "" + +#. type: TH +#: archlinux fedora-40 fedora-rawhide mageia-cauldron +#, no-wrap +msgid "Linux man-pages 6.06" +msgstr "" + +#. 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 "unshare - disassociate parts of the process execution context" +msgstr "" + +#. 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<#define _GNU_SOURCE>\n" +"B<#include E<lt>sched.hE<gt>>\n" +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<int unshare(int >I<flags>B<);>\n" +msgstr "" + +#. 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 "" +"B<unshare>() allows a process (or thread) to disassociate parts of its " +"execution context that are currently being shared with other processes (or " +"threads). Part of the execution context, such as the mount namespace, is " +"shared implicitly when a new process is created using B<fork>(2) or " +"B<vfork>(2), while other parts, such as virtual memory, may be shared by " +"explicit request when creating a process or thread using B<clone>(2)." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The main use of B<unshare>() is to allow a process to control its shared " +"execution context without creating a new process." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The I<flags> argument is a bit mask that specifies which parts of the " +"execution context should be unshared. This argument is specified by ORing " +"together zero or more of the following constants:" +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<CLONE_FILES>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Reverse the effect of the B<clone>(2) B<CLONE_FILES> flag. Unshare the " +"file descriptor table, so that the calling process no longer shares its file " +"descriptors with any other process." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<CLONE_FS>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Reverse the effect of the B<clone>(2) B<CLONE_FS> flag. Unshare filesystem " +"attributes, so that the calling process no longer shares its root directory " +"(B<chroot>(2)), current directory (B<chdir>(2)), or umask (B<umask>(2)) " +"attributes with any other process." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<CLONE_NEWCGROUP> (since Linux 4.6)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This flag has the same effect as the B<clone>(2) B<CLONE_NEWCGROUP> flag. " +"Unshare the cgroup namespace. Use of B<CLONE_NEWCGROUP> requires the " +"B<CAP_SYS_ADMIN> capability." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<CLONE_NEWIPC> (since Linux 2.6.19)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This flag has the same effect as the B<clone>(2) B<CLONE_NEWIPC> flag. " +"Unshare the IPC namespace, so that the calling process has a private copy of " +"the IPC namespace which is not shared with any other process. Specifying " +"this flag automatically implies B<CLONE_SYSVSEM> as well. Use of " +"B<CLONE_NEWIPC> requires the B<CAP_SYS_ADMIN> capability." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<CLONE_NEWNET> (since Linux 2.6.24)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This flag has the same effect as the B<clone>(2) B<CLONE_NEWNET> flag. " +"Unshare the network namespace, so that the calling process is moved into a " +"new network namespace which is not shared with any previously existing " +"process. Use of B<CLONE_NEWNET> requires the B<CAP_SYS_ADMIN> capability." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<CLONE_NEWNS>" +msgstr "" + +#. These flag name are inconsistent: +#. CLONE_NEWNS does the same thing in clone(), but CLONE_VM, +#. CLONE_FS, and CLONE_FILES reverse the action of the clone() +#. flags of the same name. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This flag has the same effect as the B<clone>(2) B<CLONE_NEWNS> flag. " +"Unshare the mount namespace, so that the calling process has a private copy " +"of its namespace which is not shared with any other process. Specifying " +"this flag automatically implies B<CLONE_FS> as well. Use of B<CLONE_NEWNS> " +"requires the B<CAP_SYS_ADMIN> capability. For further information, see " +"B<mount_namespaces>(7)." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<CLONE_NEWPID> (since Linux 3.8)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This flag has the same effect as the B<clone>(2) B<CLONE_NEWPID> flag. " +"Unshare the PID namespace, so that the calling process has a new PID " +"namespace for its children which is not shared with any previously existing " +"process. The calling process is I<not> moved into the new namespace. The " +"first child created by the calling process will have the process ID 1 and " +"will assume the role of B<init>(1) in the new namespace. B<CLONE_NEWPID> " +"automatically implies B<CLONE_THREAD> as well. Use of B<CLONE_NEWPID> " +"requires the B<CAP_SYS_ADMIN> capability. For further information, see " +"B<pid_namespaces>(7)." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<CLONE_NEWTIME> (since Linux 5.6)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Unshare the time namespace, so that the calling process has a new time " +"namespace for its children which is not shared with any previously existing " +"process. The calling process is I<not> moved into the new namespace. Use " +"of B<CLONE_NEWTIME> requires the B<CAP_SYS_ADMIN> capability. For further " +"information, see B<time_namespaces>(7)." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<CLONE_NEWUSER> (since Linux 3.8)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This flag has the same effect as the B<clone>(2) B<CLONE_NEWUSER> flag. " +"Unshare the user namespace, so that the calling process is moved into a new " +"user namespace which is not shared with any previously existing process. As " +"with the child process created by B<clone>(2) with the B<CLONE_NEWUSER> " +"flag, the caller obtains a full set of capabilities in the new namespace." +msgstr "" + +#. commit e66eded8309ebf679d3d3c1f5820d1f2ca332c71 +#. https://lwn.net/Articles/543273/ +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<CLONE_NEWUSER> requires that the calling process is not threaded; " +"specifying B<CLONE_NEWUSER> automatically implies B<CLONE_THREAD>. Since " +"Linux 3.9, B<CLONE_NEWUSER> also automatically implies B<CLONE_FS>. " +"B<CLONE_NEWUSER> requires that the user ID and group ID of the calling " +"process are mapped to user IDs and group IDs in the user namespace of the " +"calling process at the time of the call." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "For further information on user namespaces, see B<user_namespaces>(7)." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<CLONE_NEWUTS> (since Linux 2.6.19)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This flag has the same effect as the B<clone>(2) B<CLONE_NEWUTS> flag. " +"Unshare the UTS IPC namespace, so that the calling process has a private " +"copy of the UTS namespace which is not shared with any other process. Use " +"of B<CLONE_NEWUTS> requires the B<CAP_SYS_ADMIN> capability." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<CLONE_SYSVSEM> (since Linux 2.6.26)" +msgstr "" + +#. commit 9edff4ab1f8d82675277a04e359d0ed8bf14a7b7 +#. CLONE_NEWNS If CLONE_SIGHAND is set and signals are also being shared +#. (i.e., current->signal->count > 1), force CLONE_THREAD. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"This flag reverses the effect of the B<clone>(2) B<CLONE_SYSVSEM> flag. " +"Unshare System\\ V semaphore adjustment (I<semadj>) values, so that the " +"calling process has a new empty I<semadj> list that is not shared with any " +"other process. If this is the last process that has a reference to the " +"process's current I<semadj> list, then the adjustments in that list are " +"applied to the corresponding semaphores, as described in B<semop>(2)." +msgstr "" + +# +#. As at 3.9, the following forced implications also apply, +#. although the relevant flags are not yet implemented. +#. If CLONE_THREAD is set force CLONE_VM. +#. If CLONE_VM is set, force CLONE_SIGHAND. +#. See kernel/fork.c::check_unshare_flags() +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"In addition, B<CLONE_THREAD>, B<CLONE_SIGHAND>, and B<CLONE_VM> can be " +"specified in I<flags> if the caller is single threaded (i.e., it is not " +"sharing its address space with another process or thread). In this case, " +"these flags have no effect. (Note also that specifying B<CLONE_THREAD> " +"automatically implies B<CLONE_VM>, and specifying B<CLONE_VM> automatically " +"implies B<CLONE_SIGHAND>.) If the process is multithreaded, then the use of " +"these flags results in an error." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"If I<flags> is specified as zero, then B<unshare>() is a no-op; no changes " +"are made to the calling process's execution context." +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 +msgid "" +"On success, zero returned. On failure, -1 is returned and I<errno> is set " +"to indicate the error." +msgstr "" + +#. 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: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EINVAL>" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "An invalid bit was specified in I<flags>." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<CLONE_THREAD>, B<CLONE_SIGHAND>, or B<CLONE_VM> was specified in I<flags>, " +"and the caller is multithreaded." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<CLONE_NEWIPC> was specified in I<flags>, but the kernel was not configured " +"with the B<CONFIG_SYSVIPC> and B<CONFIG_IPC_NS> options." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<CLONE_NEWNET> was specified in I<flags>, but the kernel was not configured " +"with the B<CONFIG_NET_NS> option." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<CLONE_NEWPID> was specified in I<flags>, but the kernel was not configured " +"with the B<CONFIG_PID_NS> option." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<CLONE_NEWUSER> was specified in I<flags>, but the kernel was not " +"configured with the B<CONFIG_USER_NS> option." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<CLONE_NEWUTS> was specified in I<flags>, but the kernel was not configured " +"with the B<CONFIG_UTS_NS> option." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<CLONE_NEWPID> was specified in I<flags>, but the process has previously " +"called B<unshare>() with the B<CLONE_NEWPID> flag." +msgstr "" + +#. 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 "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Cannot allocate sufficient memory to copy parts of caller's context that " +"need to be unshared." +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> (since Linux 3.7)" +msgstr "" + +#. commit f2302505775fd13ba93f034206f1e2a587017929 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<CLONE_NEWPID> was specified in flags, but the limit on the nesting depth " +"of PID namespaces would have been exceeded; see B<pid_namespaces>(7)." +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> (since Linux 4.9; beforehand B<EUSERS>)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<CLONE_NEWUSER> was specified in I<flags>, and the call would cause the " +"limit on the number of nested user namespaces to be exceeded. See " +"B<user_namespaces>(7)." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"From Linux 3.11 to Linux 4.8, the error diagnosed in this case was B<EUSERS>." +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> (since Linux 4.9)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"One of the values in I<flags> specified the creation of a new user " +"namespace, but doing so would have caused the limit defined by the " +"corresponding file in I</proc/sys/user> to be exceeded. For further " +"details, see B<namespaces>(7)." +msgstr "" + +#. 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 "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The calling process did not have the required privileges for this operation." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<CLONE_NEWUSER> was specified in I<flags>, but either the effective user ID " +"or the effective group ID of the caller does not have a mapping in the " +"parent namespace (see B<user_namespaces>(7))." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EPERM> (since Linux 3.9)" +msgstr "" + +#. commit 3151527ee007b73a0ebd296010f1c0454a919c7d +#. FIXME What is the rationale for this restriction? +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<CLONE_NEWUSER> was specified in I<flags> and the caller is in a chroot " +"environment (i.e., the caller's root directory does not match the root " +"directory of the mount namespace in which it resides)." +msgstr "" + +#. type: TP +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +#, no-wrap +msgid "B<EUSERS> (from Linux 3.11 to Linux 4.8)" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"B<CLONE_NEWUSER> was specified in I<flags>, and the limit on the number of " +"nested user namespaces would be exceeded. See the discussion of the " +"B<ENOSPC> error above." +msgstr "" + +#. 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 "" + +#. 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 "Linux 2.6.16." +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 "" + +# +#. FIXME all of the following needs to be reviewed for the current kernel +#. However, we can do unshare(CLONE_SIGHAND) if CLONE_SIGHAND +#. was not specified when doing clone(); i.e., unsharing +#. signal handlers is permitted if we are not actually +#. sharing signal handlers. mtk +#. However, we can do unshare(CLONE_VM) if CLONE_VM +#. was not specified when doing clone(); i.e., unsharing +#. virtual memory is permitted if we are not actually +#. sharing virtual memory. mtk +#. 9) Future Work +#. -------------- +#. The current implementation of unshare does not allow unsharing of +#. signals and signal handlers. Signals are complex to begin with and +#. to unshare signals and/or signal handlers of a currently running +#. process is even more complex. If in the future there is a specific +#. need to allow unsharing of signals and/or signal handlers, it can +#. be incrementally added to unshare without affecting legacy +#. applications using unshare. +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Not all of the process attributes that can be shared when a new process is " +"created using B<clone>(2) can be unshared using B<unshare>(). In " +"particular, as at kernel 3.8, B<unshare>() does not implement flags that " +"reverse the effects of B<CLONE_SIGHAND>, B<CLONE_THREAD>, or B<CLONE_VM>. " +"Such functionality may be added in the future, if required." +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"Creating all kinds of namespace, except user namespaces, requires the " +"B<CAP_SYS_ADMIN> capability. However, since creating a user namespace " +"automatically confers a full set of capabilities, creating both a user " +"namespace and any other type of namespace in the same B<unshare>() call " +"does not require the B<CAP_SYS_ADMIN> capability in the original namespace." +msgstr "" + +#. 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 program below provides a simple implementation of the B<unshare>(1) " +"command, which unshares one or more namespaces and executes the command " +"supplied in its command-line arguments. Here's an example of the use of " +"this program, running a shell in a new mount namespace, and verifying that " +"the original shell and the new shell are in separate mount namespaces:" +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<readlink /proc/$$/ns/mnt>\n" +"mnt:[4026531840]\n" +"$ B<sudo ./unshare -m /bin/bash>\n" +"# B<readlink /proc/$$/ns/mnt>\n" +"mnt:[4026532325]\n" +msgstr "" + +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"The differing output of the two B<readlink>(1) commands shows that the two " +"shells are in different mount namespaces." +msgstr "" + +#. 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 "" +"/* unshare.c\n" +"\\&\n" +" A simple implementation of the unshare(1) command: unshare\n" +" namespaces and execute a command.\n" +"*/\n" +"#define _GNU_SOURCE\n" +"#include E<lt>err.hE<gt>\n" +"#include E<lt>sched.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +"\\&\n" +"static void\n" +"usage(char *pname)\n" +"{\n" +" fprintf(stderr, \"Usage: %s [options] program [arg...]\\en\", pname);\n" +" fprintf(stderr, \"Options can be:\\en\");\n" +" fprintf(stderr, \" -C unshare cgroup namespace\\en\");\n" +" fprintf(stderr, \" -i unshare IPC namespace\\en\");\n" +" fprintf(stderr, \" -m unshare mount namespace\\en\");\n" +" fprintf(stderr, \" -n unshare network namespace\\en\");\n" +" fprintf(stderr, \" -p unshare PID namespace\\en\");\n" +" fprintf(stderr, \" -t unshare time namespace\\en\");\n" +" fprintf(stderr, \" -u unshare UTS namespace\\en\");\n" +" fprintf(stderr, \" -U unshare user namespace\\en\");\n" +" exit(EXIT_FAILURE);\n" +"}\n" +"\\&\n" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" int flags, opt;\n" +"\\&\n" +" flags = 0;\n" +"\\&\n" +" while ((opt = getopt(argc, argv, \"CimnptuU\")) != -1) {\n" +" switch (opt) {\n" +" case \\[aq]C\\[aq]: flags |= CLONE_NEWCGROUP; break;\n" +" case \\[aq]i\\[aq]: flags |= CLONE_NEWIPC; break;\n" +" case \\[aq]m\\[aq]: flags |= CLONE_NEWNS; break;\n" +" case \\[aq]n\\[aq]: flags |= CLONE_NEWNET; break;\n" +" case \\[aq]p\\[aq]: flags |= CLONE_NEWPID; break;\n" +" case \\[aq]t\\[aq]: flags |= CLONE_NEWTIME; break;\n" +" case \\[aq]u\\[aq]: flags |= CLONE_NEWUTS; break;\n" +" case \\[aq]U\\[aq]: flags |= CLONE_NEWUSER; break;\n" +" default: usage(argv[0]);\n" +" }\n" +" }\n" +"\\&\n" +" if (optind E<gt>= argc)\n" +" usage(argv[0]);\n" +"\\&\n" +" if (unshare(flags) == -1)\n" +" err(EXIT_FAILURE, \"unshare\");\n" +"\\&\n" +" execvp(argv[optind], &argv[optind]);\n" +" err(EXIT_FAILURE, \"execvp\");\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<unshare>(1), B<clone>(2), B<fork>(2), B<kcmp>(2), B<setns>(2), " +"B<vfork>(2), B<namespaces>(7)" +msgstr "" + +#. commit f504d47be5e8fa7ecf2bf660b18b42e6960c0eb2 +#. type: Plain text +#: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide +#: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed +msgid "" +"I<Documentation/userspace-api/unshare.rst> in the Linux kernel source tree " +"(or I<Documentation/unshare.txt> before Linux 4.12)" +msgstr "" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "2023-02-05" +msgstr "" + +#. type: TH +#: debian-bookworm +#, no-wrap +msgid "Linux man-pages 6.03" +msgstr "" + +#. type: SH +#: debian-bookworm +#, no-wrap +msgid "VERSIONS" +msgstr "" + +#. type: Plain text +#: debian-bookworm +msgid "The B<unshare>() system call was added in Linux 2.6.16." +msgstr "" + +#. type: Plain text +#: debian-bookworm +msgid "The B<unshare>() system call is Linux-specific." +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "/* unshare.c\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" A simple implementation of the unshare(1) command: unshare\n" +" namespaces and execute a command.\n" +"*/\n" +"#define _GNU_SOURCE\n" +"#include E<lt>err.hE<gt>\n" +"#include E<lt>sched.hE<gt>\n" +"#include E<lt>stdio.hE<gt>\n" +"#include E<lt>stdlib.hE<gt>\n" +"#include E<lt>unistd.hE<gt>\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"static void\n" +"usage(char *pname)\n" +"{\n" +" fprintf(stderr, \"Usage: %s [options] program [arg...]\\en\", pname);\n" +" fprintf(stderr, \"Options can be:\\en\");\n" +" fprintf(stderr, \" -C unshare cgroup namespace\\en\");\n" +" fprintf(stderr, \" -i unshare IPC namespace\\en\");\n" +" fprintf(stderr, \" -m unshare mount namespace\\en\");\n" +" fprintf(stderr, \" -n unshare network namespace\\en\");\n" +" fprintf(stderr, \" -p unshare PID namespace\\en\");\n" +" fprintf(stderr, \" -t unshare time namespace\\en\");\n" +" fprintf(stderr, \" -u unshare UTS namespace\\en\");\n" +" fprintf(stderr, \" -U unshare user namespace\\en\");\n" +" exit(EXIT_FAILURE);\n" +"}\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +"int\n" +"main(int argc, char *argv[])\n" +"{\n" +" int flags, opt;\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid " flags = 0;\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" while ((opt = getopt(argc, argv, \"CimnptuU\")) != -1) {\n" +" switch (opt) {\n" +" case \\[aq]C\\[aq]: flags |= CLONE_NEWCGROUP; break;\n" +" case \\[aq]i\\[aq]: flags |= CLONE_NEWIPC; break;\n" +" case \\[aq]m\\[aq]: flags |= CLONE_NEWNS; break;\n" +" case \\[aq]n\\[aq]: flags |= CLONE_NEWNET; break;\n" +" case \\[aq]p\\[aq]: flags |= CLONE_NEWPID; break;\n" +" case \\[aq]t\\[aq]: flags |= CLONE_NEWTIME; break;\n" +" case \\[aq]u\\[aq]: flags |= CLONE_NEWUTS; break;\n" +" case \\[aq]U\\[aq]: flags |= CLONE_NEWUSER; break;\n" +" default: usage(argv[0]);\n" +" }\n" +" }\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (optind E<gt>= argc)\n" +" usage(argv[0]);\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" if (unshare(flags) == -1)\n" +" err(EXIT_FAILURE, \"unshare\");\n" +msgstr "" + +#. type: Plain text +#: debian-bookworm opensuse-leap-15-6 +#, no-wrap +msgid "" +" execvp(argv[optind], &argv[optind]);\n" +" err(EXIT_FAILURE, \"execvp\");\n" +"}\n" +msgstr "" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "2023-05-26" +msgstr "" + +#. type: TH +#: debian-unstable opensuse-tumbleweed +#, no-wrap +msgid "Linux man-pages 6.05.01" +msgstr "" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "2023-03-30" +msgstr "" + +#. type: TH +#: opensuse-leap-15-6 +#, no-wrap +msgid "Linux man-pages 6.04" +msgstr "" |