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 /upstream/debian-bookworm/man5/systemd.nspawn.5 | |
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 'upstream/debian-bookworm/man5/systemd.nspawn.5')
-rw-r--r-- | upstream/debian-bookworm/man5/systemd.nspawn.5 | 510 |
1 files changed, 510 insertions, 0 deletions
diff --git a/upstream/debian-bookworm/man5/systemd.nspawn.5 b/upstream/debian-bookworm/man5/systemd.nspawn.5 new file mode 100644 index 00000000..40a2ad9b --- /dev/null +++ b/upstream/debian-bookworm/man5/systemd.nspawn.5 @@ -0,0 +1,510 @@ +'\" t +.TH "SYSTEMD\&.NSPAWN" "5" "" "systemd 254" "systemd.nspawn" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +systemd.nspawn \- Container settings +.SH "SYNOPSIS" +.PP +/etc/systemd/nspawn/\fImachine\fR\&.nspawn +.PP +/run/systemd/nspawn/\fImachine\fR\&.nspawn +.PP +/var/lib/machines/\fImachine\fR\&.nspawn +.SH "DESCRIPTION" +.PP +An nspawn container settings file (suffix +\&.nspawn) contains runtime configuration for a local container, and is used by +\fBsystemd-nspawn\fR(1)\&. Files of this type are named after the containers they define settings for\&. They are optional, and only required for containers whose execution environment shall differ from the defaults\&. Files of this type mostly contain settings that may also be set on the +\fBsystemd\-nspawn\fR +command line, and make it easier to persistently attach specific settings to specific containers\&. The syntax of these files is inspired by +\&.desktop +files, similarly to other configuration files supported by the systemd project\&. See +\fBsystemd.syntax\fR(7) +for an overview\&. +.SH "\&.NSPAWN FILE DISCOVERY" +.PP +Files are searched for by appending the +\&.nspawn +suffix to the machine name of the container, as specified with the +\fB\-\-machine=\fR +switch of +\fBsystemd\-nspawn\fR, or derived from the directory or image file name\&. This file is first searched for in +/etc/systemd/nspawn/ +and +/run/systemd/nspawn/\&. If found there, the settings are read and all of them take full effect (but may still be overridden by corresponding command line arguments)\&. Otherwise, the file will then be searched for next to the image file or in the immediate parent of the root directory of the container\&. If the file is found there, only a subset of the settings will take effect however\&. All settings that possibly elevate privileges or grant additional access to resources of the host (such as files or directories) are ignored\&. To which options this applies is documented below\&. +.PP +Persistent settings files created and maintained by the administrator (and thus trusted) should be placed in +/etc/systemd/nspawn/, while automatically downloaded (and thus potentially untrusted) settings files are placed in +/var/lib/machines/ +instead (next to the container images), where their security impact is limited\&. In order to add privileged settings to +\&.nspawn +files acquired from the image vendor, it is recommended to copy the settings files into +/etc/systemd/nspawn/ +and edit them there, so that the privileged options become available\&. The precise algorithm for how the files are searched and interpreted may be configured with +\fBsystemd\-nspawn\fR\*(Aqs +\fB\-\-settings=\fR +switch, see +\fBsystemd-nspawn\fR(1) +for details\&. +.SH "[EXEC] SECTION OPTIONS" +.PP +Settings files may include an [Exec] section, which carries various execution parameters: +.PP +\fIBoot=\fR +.RS 4 +Takes a boolean argument, which defaults to off\&. If enabled, +\fBsystemd\-nspawn\fR +will automatically search for an +init +executable and invoke it\&. In this case, the specified parameters using +\fIParameters=\fR +are passed as additional arguments to the +init +process\&. This setting corresponds to the +\fB\-\-boot\fR +switch on the +\fBsystemd\-nspawn\fR +command line\&. This option may not be combined with +\fIProcessTwo=yes\fR\&. This option is specified by default in the +systemd\-nspawn@\&.service +template unit\&. +.RE +.PP +\fIEphemeral=\fR +.RS 4 +Takes a boolean argument, which defaults to off, If enabled, the container is run with a temporary snapshot of its file system that is removed immediately when the container terminates\&. This is equivalent to the +\fB\-\-ephemeral\fR +command line switch\&. See +\fBsystemd-nspawn\fR(1) +for details about the specific options supported\&. +.RE +.PP +\fIProcessTwo=\fR +.RS 4 +Takes a boolean argument, which defaults to off\&. If enabled, the specified program is run as PID 2\&. A stub init process is run as PID 1\&. This setting corresponds to the +\fB\-\-as\-pid2\fR +switch on the +\fBsystemd\-nspawn\fR +command line\&. This option may not be combined with +\fIBoot=yes\fR\&. +.RE +.PP +\fIParameters=\fR +.RS 4 +Takes a whitespace\-separated list of arguments\&. Single ("\*(Aq") and double (""") quotes may be used around arguments with whitespace\&. This is either a command line, beginning with the binary name to execute, or \(en if +\fIBoot=\fR +is enabled \(en the list of arguments to pass to the init process\&. This setting corresponds to the command line parameters passed on the +\fBsystemd\-nspawn\fR +command line\&. +.sp +Note: +\fBBoot=no\fR, +\fBParameters=a b "c c"\fR +is the same as +\fBsystemd\-nspawn a b "c c"\fR, and +\fBBoot=yes\fR, +\fBParameters=b \*(Aqc c\*(Aq\fR +is the same as +\fBsystemd\-nspawn \-\-boot b \*(Aqc c\*(Aq\fR\&. +.RE +.PP +\fIEnvironment=\fR +.RS 4 +Takes an environment variable assignment consisting of key and value, separated by +"="\&. Sets an environment variable for the main process invoked in the container\&. This setting may be used multiple times to set multiple environment variables\&. It corresponds to the +\fB\-\-setenv=\fR +command line switch\&. +.RE +.PP +\fIUser=\fR +.RS 4 +Takes a UNIX user name\&. Specifies the user name to invoke the main process of the container as\&. This user must be known in the container\*(Aqs user database\&. This corresponds to the +\fB\-\-user=\fR +command line switch\&. +.RE +.PP +\fIWorkingDirectory=\fR +.RS 4 +Selects the working directory for the process invoked in the container\&. Expects an absolute path in the container\*(Aqs file system namespace\&. This corresponds to the +\fB\-\-chdir=\fR +command line switch\&. +.RE +.PP +\fIPivotRoot=\fR +.RS 4 +Selects a directory to pivot to +/ +inside the container when starting up\&. Takes a single path, or a pair of two paths separated by a colon\&. Both paths must be absolute, and are resolved in the container\*(Aqs file system namespace\&. This corresponds to the +\fB\-\-pivot\-root=\fR +command line switch\&. +.RE +.PP +\fICapability=\fR, \fIDropCapability=\fR +.RS 4 +Takes a space\-separated list of Linux process capabilities (see +\fBcapabilities\fR(7) +for details)\&. The +\fICapability=\fR +setting specifies additional capabilities to pass on top of the default set of capabilities\&. The +\fIDropCapability=\fR +setting specifies capabilities to drop from the default set\&. These settings correspond to the +\fB\-\-capability=\fR +and +\fB\-\-drop\-capability=\fR +command line switches\&. Note that +\fICapability=\fR +is a privileged setting, and only takes effect in +\&.nspawn +files in +/etc/systemd/nspawn/ +and +/run/system/nspawn/ +(see above)\&. On the other hand, +\fIDropCapability=\fR +takes effect in all cases\&. If the special value +"all" +is passed, all capabilities are retained (or dropped)\&. +.sp +These settings change the bounding set of capabilities which also limits the ambient capabilities as given with the +\fIAmbientCapability=\fR\&. +.RE +.PP +\fIAmbientCapability=\fR +.RS 4 +Takes a space\-separated list of Linux process capabilities (see +\fBcapabilities\fR(7) +for details)\&. The +\fIAmbientCapability=\fR +setting specifies capabilities which will be passed to the started program in the inheritable and ambient capability sets\&. This will grant these capabilities to this process\&. This setting correspond to the +\fB\-\-ambient\-capability=\fR +command line switch\&. +.sp +The value +"all" +is not supported for this setting\&. +.sp +The setting of +\fIAmbientCapability=\fR +must be covered by the bounding set settings which were established by +\fICapability=\fR +and +\fIDropCapability=\fR\&. +.sp +Note that +\fIAmbientCapability=\fR +is a privileged setting (see above)\&. +.RE +.PP +\fINoNewPrivileges=\fR +.RS 4 +Takes a boolean argument that controls the +\fBPR_SET_NO_NEW_PRIVS\fR +flag for the container payload\&. This is equivalent to the +\fB\-\-no\-new\-privileges=\fR +command line switch\&. See +\fBsystemd-nspawn\fR(1) +for details\&. +.RE +.PP +\fIKillSignal=\fR +.RS 4 +Specify the process signal to send to the container\*(Aqs PID 1 when nspawn itself receives SIGTERM, in order to trigger an orderly shutdown of the container\&. Defaults to SIGRTMIN+3 if +\fBBoot=\fR +is used (on systemd\-compatible init systems SIGRTMIN+3 triggers an orderly shutdown)\&. For a list of valid signals, see +\fBsignal\fR(7)\&. +.RE +.PP +\fIPersonality=\fR +.RS 4 +Configures the kernel personality for the container\&. This is equivalent to the +\fB\-\-personality=\fR +switch\&. +.RE +.PP +\fIMachineID=\fR +.RS 4 +Configures the 128\-bit machine ID (UUID) to pass to the container\&. This is equivalent to the +\fB\-\-uuid=\fR +command line switch\&. This option is privileged (see above)\&. +.RE +.PP +\fIPrivateUsers=\fR +.RS 4 +Configures support for usernamespacing\&. This is equivalent to the +\fB\-\-private\-users=\fR +command line switch, and takes the same options\&. This option is privileged (see above)\&. This option is the default if the +systemd\-nspawn@\&.service +template unit file is used\&. +.RE +.PP +\fINotifyReady=\fR +.RS 4 +Configures support for notifications from the container\*(Aqs init process\&. This is equivalent to the +\fB\-\-notify\-ready=\fR +command line switch, and takes the same parameters\&. See +\fBsystemd-nspawn\fR(1) +for details about the specific options supported\&. +.RE +.PP +\fISystemCallFilter=\fR +.RS 4 +Configures the system call filter applied to containers\&. This is equivalent to the +\fB\-\-system\-call\-filter=\fR +command line switch, and takes the same list parameter\&. See +\fBsystemd-nspawn\fR(1) +for details\&. +.RE +.PP +\fILimitCPU=\fR, \fILimitFSIZE=\fR, \fILimitDATA=\fR, \fILimitSTACK=\fR, \fILimitCORE=\fR, \fILimitRSS=\fR, \fILimitNOFILE=\fR, \fILimitAS=\fR, \fILimitNPROC=\fR, \fILimitMEMLOCK=\fR, \fILimitLOCKS=\fR, \fILimitSIGPENDING=\fR, \fILimitMSGQUEUE=\fR, \fILimitNICE=\fR, \fILimitRTPRIO=\fR, \fILimitRTTIME=\fR +.RS 4 +Configures various types of resource limits applied to containers\&. This is equivalent to the +\fB\-\-rlimit=\fR +command line switch, and takes the same arguments\&. See +\fBsystemd-nspawn\fR(1) +for details\&. +.RE +.PP +\fIOOMScoreAdjust=\fR +.RS 4 +Configures the OOM score adjustment value\&. This is equivalent to the +\fB\-\-oom\-score\-adjust=\fR +command line switch, and takes the same argument\&. See +\fBsystemd-nspawn\fR(1) +for details\&. +.RE +.PP +\fICPUAffinity=\fR +.RS 4 +Configures the CPU affinity\&. This is equivalent to the +\fB\-\-cpu\-affinity=\fR +command line switch, and takes the same argument\&. See +\fBsystemd-nspawn\fR(1) +for details\&. +.RE +.PP +\fIHostname=\fR +.RS 4 +Configures the kernel hostname set for the container\&. This is equivalent to the +\fB\-\-hostname=\fR +command line switch, and takes the same argument\&. See +\fBsystemd-nspawn\fR(1) +for details\&. +.RE +.PP +\fIResolvConf=\fR +.RS 4 +Configures how +/etc/resolv\&.conf +in the container shall be handled\&. This is equivalent to the +\fB\-\-resolv\-conf=\fR +command line switch, and takes the same argument\&. See +\fBsystemd-nspawn\fR(1) +for details\&. +.RE +.PP +\fITimezone=\fR +.RS 4 +Configures how +/etc/localtime +in the container shall be handled\&. This is equivalent to the +\fB\-\-timezone=\fR +command line switch, and takes the same argument\&. See +\fBsystemd-nspawn\fR(1) +for details\&. +.RE +.PP +\fILinkJournal=\fR +.RS 4 +Configures how to link host and container journal setups\&. This is equivalent to the +\fB\-\-link\-journal=\fR +command line switch, and takes the same parameter\&. See +\fBsystemd-nspawn\fR(1) +for details\&. +.RE +.PP +\fISuppressSync=\fR +.RS 4 +Configures whether to suppress disk synchronization for the container payload\&. This is equivalent to the +\fB\-\-suppress\-sync=\fR +command line switch, and takes the same parameter\&. See +\fBsystemd-nspawn\fR(1) +for details\&. +.RE +.SH "[FILES] SECTION OPTIONS" +.PP +Settings files may include a [Files] section, which carries various parameters configuring the file system of the container: +.PP +\fIReadOnly=\fR +.RS 4 +Takes a boolean argument, which defaults to off\&. If specified, the container will be run with a read\-only file system\&. This setting corresponds to the +\fB\-\-read\-only\fR +command line switch\&. +.RE +.PP +\fIVolatile=\fR +.RS 4 +Takes a boolean argument, or the special value +"state"\&. This configures whether to run the container with volatile state and/or configuration\&. This option is equivalent to +\fB\-\-volatile=\fR, see +\fBsystemd-nspawn\fR(1) +for details about the specific options supported\&. +.RE +.PP +\fIBind=\fR, \fIBindReadOnly=\fR +.RS 4 +Adds a bind mount from the host into the container\&. Takes a single path, a pair of two paths separated by a colon, or a triplet of two paths plus an option string separated by colons\&. This option may be used multiple times to configure multiple bind mounts\&. This option is equivalent to the command line switches +\fB\-\-bind=\fR +and +\fB\-\-bind\-ro=\fR, see +\fBsystemd-nspawn\fR(1) +for details about the specific options supported\&. This setting is privileged (see above)\&. +.RE +.PP +\fIBindUser=\fR +.RS 4 +Binds a user from the host into the container\&. This option is equivalent to the command line switch +\fB\-\-bind\-user=\fR, see +\fBsystemd-nspawn\fR(1) +for details about the specific options supported\&. This setting is privileged (see above)\&. +.RE +.PP +\fITemporaryFileSystem=\fR +.RS 4 +Adds a +"tmpfs" +mount to the container\&. Takes a path or a pair of path and option string, separated by a colon\&. This option may be used multiple times to configure multiple +"tmpfs" +mounts\&. This option is equivalent to the command line switch +\fB\-\-tmpfs=\fR, see +\fBsystemd-nspawn\fR(1) +for details about the specific options supported\&. This setting is privileged (see above)\&. +.RE +.PP +\fIInaccessible=\fR +.RS 4 +Masks the specified file or directory in the container, by over\-mounting it with an empty file node of the same type with the most restrictive access mode\&. Takes a file system path as argument\&. This option may be used multiple times to mask multiple files or directories\&. This option is equivalent to the command line switch +\fB\-\-inaccessible=\fR, see +\fBsystemd-nspawn\fR(1) +for details about the specific options supported\&. This setting is privileged (see above)\&. +.RE +.PP +\fIOverlay=\fR, \fIOverlayReadOnly=\fR +.RS 4 +Adds an overlay mount point\&. Takes a colon\-separated list of paths\&. This option may be used multiple times to configure multiple overlay mounts\&. This option is equivalent to the command line switches +\fB\-\-overlay=\fR +and +\fB\-\-overlay\-ro=\fR, see +\fBsystemd-nspawn\fR(1) +for details about the specific options supported\&. This setting is privileged (see above)\&. +.RE +.PP +\fIPrivateUsersOwnership=\fR +.RS 4 +Configures whether the ownership of the files and directories in the container tree shall be adjusted to the UID/GID range used, if necessary and user namespacing is enabled\&. This is equivalent to the +\fB\-\-private\-users\-ownership=\fR +command line switch\&. This option is privileged (see above)\&. +.RE +.SH "[NETWORK] SECTION OPTIONS" +.PP +Settings files may include a [Network] section, which carries various parameters configuring the network connectivity of the container: +.PP +\fIPrivate=\fR +.RS 4 +Takes a boolean argument, which defaults to off\&. If enabled, the container will run in its own network namespace and not share network interfaces and configuration with the host\&. This setting corresponds to the +\fB\-\-private\-network\fR +command line switch\&. +.RE +.PP +\fIVirtualEthernet=\fR +.RS 4 +Takes a boolean argument\&. Configures whether to create a virtual Ethernet connection ("veth") between host and the container\&. This setting implies +\fIPrivate=yes\fR\&. This setting corresponds to the +\fB\-\-network\-veth\fR +command line switch\&. This option is privileged (see above)\&. This option is the default if the +systemd\-nspawn@\&.service +template unit file is used\&. +.RE +.PP +\fIVirtualEthernetExtra=\fR +.RS 4 +Takes a colon\-separated pair of interface names\&. Configures an additional virtual Ethernet connection ("veth") between host and the container\&. The first specified name is the interface name on the host, the second the interface name in the container\&. The latter may be omitted in which case it is set to the same name as the host side interface\&. This setting implies +\fIPrivate=yes\fR\&. This setting corresponds to the +\fB\-\-network\-veth\-extra=\fR +command line switch, and may be used multiple times\&. It is independent of +\fIVirtualEthernet=\fR\&. Note that this option is unrelated to the +\fIBridge=\fR +setting below, and thus any connections created this way are not automatically added to any bridge device on the host side\&. This option is privileged (see above)\&. +.RE +.PP +\fIInterface=\fR +.RS 4 +Takes a space\-separated list of interfaces to add to the container\&. The interface object is defined either by a single interface name, referencing the name on the host, or a colon\-separated pair of interfaces, in which case the first one references the name on the host, and the second one the name in the container\&. This option corresponds to the +\fB\-\-network\-interface=\fR +command line switch and implies +\fIPrivate=yes\fR\&. This option is privileged (see above)\&. +.RE +.PP +\fIMACVLAN=\fR, \fIIPVLAN=\fR +.RS 4 +Takes a space\-separated list of interfaces to add MACLVAN or IPVLAN interfaces to, which are then added to the container\&. The interface object is defined either by a single interface name, referencing the name on the host, or a colon\-separated pair of interfaces, in which case the first one references the name on the host, and the second one the name in the container\&. These options correspond to the +\fB\-\-network\-macvlan=\fR +and +\fB\-\-network\-ipvlan=\fR +command line switches and imply +\fIPrivate=yes\fR\&. These options are privileged (see above)\&. +.RE +.PP +\fIBridge=\fR +.RS 4 +Takes an interface name\&. This setting implies +\fIVirtualEthernet=yes\fR +and +\fIPrivate=yes\fR +and has the effect that the host side of the created virtual Ethernet link is connected to the specified bridge interface\&. This option corresponds to the +\fB\-\-network\-bridge=\fR +command line switch\&. This option is privileged (see above)\&. +.RE +.PP +\fIZone=\fR +.RS 4 +Takes a network zone name\&. This setting implies +\fIVirtualEthernet=yes\fR +and +\fIPrivate=yes\fR +and has the effect that the host side of the created virtual Ethernet link is connected to an automatically managed bridge interface named after the passed argument, prefixed with +"vz\-"\&. This option corresponds to the +\fB\-\-network\-zone=\fR +command line switch\&. This option is privileged (see above)\&. +.RE +.PP +\fIPort=\fR +.RS 4 +Exposes a TCP or UDP port of the container on the host\&. This option corresponds to the +\fB\-\-port=\fR +command line switch, see +\fBsystemd-nspawn\fR(1) +for the precise syntax of the argument this option takes\&. This option is privileged (see above)\&. +.RE +.SH "SEE ALSO" +.PP +\fBsystemd\fR(1), +\fBsystemd-nspawn\fR(1), +\fBsystemd.directives\fR(7) |