# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , 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 \n" "Language-Team: LANGUAGE \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 "time_namespaces" 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 "time_namespaces - overview of Linux time namespaces" 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 "Time namespaces virtualize the values of two system clocks:" 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 "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B (and likewise B and " "B), a nonsettable clock that represents monotonic time " "since\\[em]as described by POSIX\\[em]\"some unspecified point in the past\"." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B (and likewise B), a nonsettable " "clock that is identical to B, except that it also includes " "any time that the system is suspended." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Thus, the processes in a time namespace share per-namespace values for these " "clocks. This affects various APIs that measure against these clocks, " "including: B(2), B(2), B(2), " "B(2), B(2), and I." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Currently, the only way to create a time namespace is by calling " "B(2) with the B flag. This call creates a new time " "namespace but does I place the calling process in the new namespace. " "Instead, the calling process's subsequently created children are placed in " "the new namespace. This allows clock offsets (see below) for the new " "namespace to be set before the first process is placed in the namespace. " "The IpidI symbolic link shows the time " "namespace in which the children of a process will be created. (A process " "can use a file descriptor opened on this symbolic link in a call to " "B(2) in order to move into the namespace.)" msgstr "" #. type: SS #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "IpidI" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #: opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Associated with each time namespace are offsets, expressed with respect to " "the initial time namespace, that define the values of the monotonic and boot-" "time clocks in that namespace. These offsets are exposed via the file IpidI. Within this file, the offsets are expressed as " "lines consisting of three space-delimited fields:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "Eclock-idE Eoffset-secsE Eoffset-nanosecsE\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The I is a string that identifies the clock whose offsets are " "being shown. This field is either I, for B, or " "I, for B. The remaining fields express the offset " "(seconds plus nanoseconds) for the clock in this time namespace. These " "offsets are expressed relative to the clock values in the initial time " "namespace. The I value can be negative, subject to " "restrictions noted below; I is an unsigned value." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In the initial time namespace, the contents of the I file " "are as follows:" 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" "monotonic 0 0\n" "boottime 0 0\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In a new time namespace that has had no member processes, the clock offsets " "can be modified by writing newline-terminated records of the same form to " "the I file. The file can be written to multiple times, but " "after the first process has been created in or has entered the namespace, " "B(2)s on this file fail with the error B. In order to write " "to the I file, a process must have the B " "capability in the user namespace that owns the time namespace." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Writes to the I file can fail with the following 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" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "An I value is greater than 999,999,999." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "A I value is not valid." msgstr "" #. type: TP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "B" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "The caller does not have the B 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" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "An I value is out of range. In particular;" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I can't be set to a value which would make the current time on " "the corresponding clock inside the namespace a negative value; and" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "I can't be set to a value such that the time on the " "corresponding clock inside the namespace would exceed half of the value of " "the kernel constant B (this limits the clock value to a " "maximum of approximately 146 years)." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "In a new time namespace created by B(2), the contents of the " "I file are inherited from the time namespace of the creating " "process." 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 "" "Use of time namespaces requires a kernel that is configured with the " "B option." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Note that time namespaces do not virtualize the B clock. " "Virtualization of this clock was avoided for reasons of complexity and " "overhead within the kernel." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "For compatibility with the initial implementation, when writing a I to the IpidI file, the numerical values of the " "IDs can be written instead of the symbolic names show above; i.e., 1 instead " "of I, and 7 instead of I. For readability, the use of " "the symbolic names over the numbers is preferred." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "The motivation for adding time namespaces was to allow the monotonic and " "boot-time clocks to maintain consistent values during container migration " "and checkpoint/restore." 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 following shell session demonstrates the operation of time namespaces. " "We begin by displaying the inode number of the time namespace of a shell in " "the initial time 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" "time:[4026531834]\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Continuing in the initial time namespace, we display the system uptime using " "B(1) and use the I example program shown in " "B(2) to display the values of various clocks:" 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" "up 21 hours, 17 minutes\n" "$ B<./clock_times>\n" "CLOCK_REALTIME : 1585989401.971 (18356 days + 8h 36m 41s)\n" "CLOCK_TAI : 1585989438.972 (18356 days + 8h 37m 18s)\n" "CLOCK_MONOTONIC: 56338.247 (15h 38m 58s)\n" "CLOCK_BOOTTIME : 76633.544 (21h 17m 13s)\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "We then use B(1) to create a time namespace and execute a " "B(1) shell. From the new shell, we use the built-in B command " "to write records to the I file adjusting the offset for the " "B clock forward 2 days and the offset for the " "B clock forward 7 days:" 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" "ns2# B /proc/$$/timens_offsets>\n" "ns2# B /proc/$$/timens_offsets>\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Above, we started the B(1) shell with the B<--norc> option so that no " "start-up scripts were executed. This ensures that no child processes are " "created from the shell before we have a chance to update the " "I file." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "We then use B(1) to display the contents of the I " "file. The execution of B(1) creates the first process in the new time " "namespace, after which further attempts to update the I file " "produce an error." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "ns2# B\n" "monotonic 172800 0\n" "boottime 604800 0\n" "ns2# B /proc/$$/timens_offsets>\n" "bash: echo: write error: Permission denied\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Continuing in the new namespace, we execute B(1) and the " "I example program:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed #, no-wrap msgid "" "ns2# B\n" "up 1 week, 21 hours, 18 minutes\n" "ns2# B<./clock_times>\n" "CLOCK_REALTIME : 1585989457.056 (18356 days + 8h 37m 37s)\n" "CLOCK_TAI : 1585989494.057 (18356 days + 8h 38m 14s)\n" "CLOCK_MONOTONIC: 229193.332 (2 days + 15h 39m 53s)\n" "CLOCK_BOOTTIME : 681488.629 (7 days + 21h 18m 8s)\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "From the above output, we can see that the monotonic and boot-time clocks " "have different values in the new time namespace." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Examining the IpidI and IpidI symbolic links, we see that the shell is a member of the " "initial time namespace, but its children are created in the new 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 "" "ns2# B\n" "time:[4026531834]\n" "ns2# B\n" "time:[4026532900]\n" "ns2# B # Creates a child process\n" "time:[4026532900]\n" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "Returning to the shell in the initial time namespace, we see that the " "monotonic and boot-time clocks are unaffected by the I " "changes that were made in the other time 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" "up 21 hours, 19 minutes\n" "$ B<./clock_times>\n" "CLOCK_REALTIME : 1585989401.971 (18356 days + 8h 38m 51s)\n" "CLOCK_TAI : 1585989438.972 (18356 days + 8h 39m 28s)\n" "CLOCK_MONOTONIC: 56338.247 (15h 41m 8s)\n" "CLOCK_BOOTTIME : 76633.544 (21h 19m 23s)\n" msgstr "" #. 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 "" #. clone3() support for time namespaces is a work in progress #. .BR clone3 (2), #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron opensuse-leap-15-6 opensuse-tumbleweed msgid "" "B(1), B(1), B(2), B(2), " "B(2), B(7), B