systemd-mount(1) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXIT STATUS | THE UDEV DATABASE | EXAMPLE | SEE ALSO | COLOPHON

SYSTEMD-MOUNT(1)              systemd-mount             SYSTEMD-MOUNT(1)

NAME         top

       systemd-mount, systemd-umount - Establish and destroy transient
       mount or auto-mount points

SYNOPSIS         top


       systemd-mount [OPTIONS...] WHAT [WHERE]

       systemd-mount [OPTIONS...] --tmpfs [NAME] WHERE

       systemd-mount [OPTIONS...] --list

       systemd-mount [OPTIONS...] --umount WHAT|WHERE...

DESCRIPTION         top

       systemd-mount may be used to create and start a transient .mount
       or .automount unit of the file system WHAT on the mount point
       WHERE.

       In many ways, systemd-mount is similar to the lower-level
       mount(8) command, however instead of executing the mount
       operation directly and immediately, systemd-mount schedules it
       through the service manager job queue, so that it may pull in
       further dependencies (such as parent mounts, or a file system
       checker to execute a priori), and may make use of the
       auto-mounting logic.

       The command takes either one or two arguments. If only one
       argument is specified it should refer to a block device or
       regular file containing a file system (e.g.  "/dev/sdb1" or
       "/path/to/disk.img"). The block device or image file is then
       probed for a file system label and other metadata, and is mounted
       to a directory below /run/media/system/ whose name is generated
       from the file system label. In this mode the block device or
       image file must exist at the time of invocation of the command,
       so that it may be probed. If the device is found to be a
       removable block device (e.g. a USB stick), an automount point is
       created instead of a regular mount point (i.e. the --automount=
       option is implied, see below). If the option --tmpfs is
       specified, then the argument is interpreted as the path where the
       new temporary file system shall be mounted.

       If two arguments are specified, the first indicates the mount
       source (the WHAT) and the second indicates the path to mount it
       on (the WHERE). In this mode no probing of the source is
       attempted, and a backing device node doesn't have to exist.
       However, if this mode is combined with --discover, device node
       probing for additional metadata is enabled, and – much like in
       the single-argument case discussed above – the specified device
       has to exist at the time of invocation of the command.

       Use the --list command to show a terse table of all local, known
       block devices with file systems that may be mounted with this
       command.

       systemd-umount can be used to unmount a mount or automount point.
       It is the same as systemd-mount --umount.

OPTIONS         top

       The following options are understood:

       --no-block
           Do not synchronously wait for the requested operation to
           finish. If this is not specified, the job will be verified,
           enqueued and systemd-mount will wait until the mount or
           automount unit's start-up is completed. By passing this
           argument, it is only verified and enqueued.

           Added in version 232.

       -l, --full
           Do not ellipsize the output when --list is specified.

           Added in version 245.

       --no-pager
           Do not pipe output into a pager.

       --no-legend
           Do not print the legend, i.e. column headers and the footer
           with hints.

       --no-ask-password
           Do not query the user for authentication for privileged
           operations.

       --quiet, -q
           Suppresses additional informational output while running.

           Added in version 232.

       --discover
           Enable probing of the mount source. This switch is implied if
           a single argument is specified on the command line. If
           passed, additional metadata is read from the device to
           enhance the unit to create. For example, a descriptive string
           for the transient units is generated from the file system
           label and device model. Moreover if a removable block device
           (e.g. USB stick) is detected an automount unit instead of a
           regular mount unit is created, with a short idle timeout, in
           order to ensure the file-system is placed in a clean state
           quickly after each access.

           Added in version 232.

       --type=, -t
           Specifies the file system type to mount (e.g.  "vfat" or
           "ext4"). If omitted or set to "auto", the file system type is
           determined automatically.

           Added in version 232.

       --options=, -o
           Additional mount options for the mount point.

           Added in version 232.

       --owner=USER
           Let the specified user USER own the mounted file system. This
           is done by appending uid= and gid= options to the list of
           mount options. Only certain file systems support this option.

           Added in version 237.

       --fsck=
           Takes a boolean argument, defaults to on. Controls whether to
           run a file system check immediately before the mount
           operation. In the automount case (see --automount= below) the
           check will be run the moment the first access to the device
           is made, which might slightly delay the access.

           Added in version 232.

       --description=
           Provide a description for the mount or automount unit. See
           Description= in systemd.unit(5).

           Added in version 232.

       --property=, -p
           Sets a unit property for the mount unit that is created. This
           takes an assignment in the same format as systemctl(1)'s
           set-property command.

           Added in version 232.

       --automount=
           Takes a boolean argument. Controls whether to create an
           automount point or a regular mount point. If true an
           automount point is created that is backed by the actual file
           system at the time of first access. If false a plain mount
           point is created that is backed by the actual file system
           immediately. Automount points have the benefit that the file
           system stays unmounted and hence in clean state until it is
           first accessed. In automount mode the --timeout-idle-sec=
           switch (see below) may be used to ensure the mount point is
           unmounted automatically after the last access and an idle
           period passed.

           If this switch is not specified it defaults to false. If not
           specified and --discover is used (or only a single argument
           passed, which implies --discover, see above), and the file
           system block device is detected to be removable, it is set to
           true, in order to increase the chance that the file system is
           in a fully clean state if the device is unplugged abruptly.

           Added in version 232.

       -A
           Equivalent to --automount=yes.

           Added in version 232.

       --timeout-idle-sec=
           Takes a time value that controls the idle timeout in
           automount mode. If set to "infinity" (the default) no
           automatic unmounts are done. Otherwise the file system
           backing the automount point is detached after the last access
           and the idle timeout passed. See systemd.time(7) for details
           on the time syntax supported. This option has no effect if
           only a regular mount is established, and automounting is not
           used.

           Note that if --discover is used (or only a single argument
           passed, which implies --discover, see above), and the file
           system block device is detected to be removable,
           --timeout-idle-sec=1s is implied.

           Added in version 232.

       --automount-property=
           Similar to --property=, but applies additional properties to
           the automount unit created, instead of the mount unit.

           Added in version 232.

       --bind-device
           This option only has an effect in automount mode, and
           controls whether the automount unit shall be bound to the
           backing device's lifetime. If set, the automount unit will be
           stopped automatically when the backing device vanishes. By
           default the automount unit stays around, and subsequent
           accesses will block until backing device is replugged. This
           option has no effect in case of non-device mounts, such as
           network or virtual file system mounts.

           Note that if --discover is used (or only a single argument
           passed, which implies --discover, see above), and the file
           system block device is detected to be removable, this option
           is implied.

           Added in version 232.

       --list
           Instead of establishing a mount or automount point, print a
           terse list of block devices containing file systems that may
           be mounted with "systemd-mount", along with useful metadata
           such as labels, etc.

           Added in version 232.

       -u, --umount
           Stop the mount and automount units corresponding to the
           specified mount points WHERE or the devices WHAT.
           systemd-mount with this option or systemd-umount can take
           multiple arguments which can be mount points, devices,
           /etc/fstab style node names, or backing files corresponding
           to loop devices, like systemd-mount --umount /path/to/umount
           /dev/sda1 UUID=xxxxxx-xxxx LABEL=xxxxx /path/to/disk.img.
           Note that when -H or -M is specified, only absolute paths to
           mount points are supported.

           Added in version 233.

       -G, --collect
           Unload the transient unit after it completed, even if it
           failed. Normally, without this option, all mount units that
           mount and failed are kept in memory until the user explicitly
           resets their failure state with systemctl reset-failed or an
           equivalent command. On the other hand, units that stopped
           successfully are unloaded immediately. If this option is
           turned on the "garbage collection" of units is more
           aggressive, and unloads units regardless if they exited
           successfully or failed. This option is a shortcut for
           --property=CollectMode=inactive-or-failed, see the
           explanation for CollectMode= in systemd.unit(5) for further
           information.

           Added in version 236.

       -T, --tmpfs
           Create and mount a new tmpfs file system on WHERE, with an
           optional NAME that defaults to "tmpfs".

           The file system is mounted with the top-level directory mode
           determined by the umask(2) setting of the caller, i.e.
           rwxrwxrwx masked by the umask of the caller. This matches
           what mkdir(1) does, but is different from the kernel default
           of "rwxrwxrwxt", i.e. a world-writable directory with the
           sticky bit set.

           Added in version 255.

       --user
           Talk to the service manager of the calling user, rather than
           the service manager of the system.

       --system
           Talk to the service manager of the system. This is the
           implied default.

       -H, --host=
           Execute the operation remotely. Specify a hostname, or a
           username and hostname separated by "@", to connect to. The
           hostname may optionally be suffixed by a port ssh is
           listening on, separated by ":", and then a container name,
           separated by "/", which connects directly to a specific
           container on the specified host. This will use SSH to talk to
           the remote machine manager instance. Container names may be
           enumerated with machinectl -H HOST. Put IPv6 addresses in
           brackets.

       -M, --machine=
           Execute operation on a local container. Specify a container
           name to connect to, optionally prefixed by a user name to
           connect as and a separating "@" character. If the special
           string ".host" is used in place of the container name, a
           connection to the local system is made (which is useful to
           connect to a specific user's user bus: "--user
           --machine=lennart@.host"). If the "@" syntax is not used, the
           connection is made as root user. If the "@" syntax is used
           either the left hand side or the right hand side may be
           omitted (but not both) in which case the local user name and
           ".host" are implied.

       -h, --help
           Print a short help text and exit.

       --version
           Print a short version string and exit.

EXIT STATUS         top

       On success, 0 is returned, a non-zero failure code otherwise.

THE UDEV DATABASE         top

       If --discover is used, systemd-mount honors a couple of
       additional udev properties of block devices:

       SYSTEMD_MOUNT_OPTIONS=
           The mount options to use, if --options= is not used.

           Added in version 232.

       SYSTEMD_MOUNT_WHERE=
           The file system path to place the mount point at, instead of
           the automatically generated one.

           Added in version 232.

EXAMPLE         top

       Use a udev rule like the following to automatically mount all USB
       storage plugged in:

           ACTION=="add", SUBSYSTEMS=="usb", SUBSYSTEM=="block", ENV{ID_FS_USAGE}=="filesystem", \
                   RUN{program}+="/usr/bin/systemd-mount --no-block --automount=yes --collect $devnode"

SEE ALSO         top

       systemd(1), mount(8), systemctl(1), systemd.unit(5),
       systemd.mount(5), systemd.automount(5), systemd-run(1)

COLOPHON         top

       This page is part of the systemd (systemd system and service
       manager) project.  Information about the project can be found at
       ⟨http://www.freedesktop.org/wiki/Software/systemd⟩.  If you have
       a bug report for this manual page, see
       ⟨http://www.freedesktop.org/wiki/Software/systemd/#bugreports⟩.
       This page was obtained from the project's upstream Git repository
       ⟨https://github.com/systemd/systemd.git⟩ on 2024-06-14.  (At that
       time, the date of the most recent commit that was found in the
       repository was 2024-06-13.)  If you discover any rendering
       problems in this HTML version of the page, or you believe there
       is a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to
       man-pages@man7.org

systemd 257~devel                                       SYSTEMD-MOUNT(1)

Pages that refer to this page: systemd-run(1)systemd.mount(5)systemd.directives(7)systemd.index(7)