NetBSD/sbin/mount/mount.8

588 lines
16 KiB
Groff

.\" $NetBSD: mount.8,v 1.88 2020/10/24 10:51:34 nia Exp $
.\"
.\" Copyright (c) 1980, 1989, 1991, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" @(#)mount.8 8.8 (Berkeley) 6/16/94
.\"
.Dd October 24, 2020
.Dt MOUNT 8
.Os
.Sh NAME
.Nm mount
.Nd mount file systems
.Sh SYNOPSIS
.Nm
.Op Fl Aadfruvw
.Op Fl t Ar type
.Nm
.Op Fl dfruvw
.Brq Ar special | Ar node
.Nm
.Op Fl dfruvw
.Op Fl o Ar options
.Op Fl t Ar type
.Ar special node
.Sh DESCRIPTION
The
.Nm
command invokes a file system-specific program to prepare and graft the
.Ar special
device on to the file system tree at the point
.Ar node ,
or to update options for an already-mounted file system.
.Pp
These programs are named
.Dq mount_<fstype>
where
.Dq <fstype>
refers to the file system-specific type; for example
for NFS the mount program is called
.Xr mount_nfs 8 .
.Pp
The
.Ar node
argument is always interpreted as a directory in the name space of
currently mounted file systems.
The
.Ar special
argument is interpreted in different ways
by the programs that handle different file system types;
for example,
.Xr mount_ffs 8
interprets it as a device node,
.Xr mount_null 8
interprets it as a directory name,
.Xr mount_nfs 8
interprets it as reference to a remote host and a directory on that host,
and
.Xr mount_tmpfs 8
ignores it.
.Pp
The system maintains a list of currently mounted file systems.
This list is printed if
.Nm
is invoked with no arguments, and with no options that require some
other behaviour.
.Pp
If exactly one of
.Ar special
or
.Ar node
is provided, then the missing information
(including the file system type)
is taken from the
.Xr fstab 5
file.
The provided argument is looked up first in the
.Dq fs_file ,
then in the
.Dq fs_spec
column.
If the matching entry in
.Xr fstab 5
has the string
.Dq Li from_mount
as its
.Dq fs_spec
field, the device or remote file system already mounted at
the location specified by
.Dq fs_spec
will be used.
.\" XXX The above paragraph doesn't address the use of "-u"
.Pp
If both
.Ar special
and
.Ar node
are provided, then
.Xr fstab 5
is not used.
In this case, if the file system type is not specified
via the
.Fl t
flag, then
.Nm
may determine the type from the disk label (see
.Xr disklabel 8 ) .
In addition, if
.Ar special
contains a colon
.Pq Ql \&:
or at sign
.Pq Ql \&@ ,
then the
.Li nfs
type is inferred, but this behaviour is deprecated, and will be
removed in a future version of
.Nm .
.Pp
In
.Nx ,
the file-system mounting policy is dictated by the running security models.
The default security model may allow unprivileged mounting; see
.Xr secmodel_suser 9
and
.Xr secmodel_extensions 9
for details.
.Pp
The options are as follows:
.Bl -tag -width indent
.It Fl A
Causes
.Nm
to try to mount all of the file systems listed in the
.Xr fstab 5
file except those for which the
.Dq noauto
option is specified.
.It Fl a
Similar to the
.Fl A
flag, except that if a file system (other than the root file system)
appears to be already mounted,
.Nm
will not try to mount it again.
.Nm
assumes that a file system is already mounted if a file system with
the same type is mounted on the given mount point.
More stringent checks are not possible because some file system types
report strange values for the mounted-from device for mounted file
systems.
.It Fl d
Causes everything to be done except for the invocation of
the file system-specific program.
This option is useful in conjunction with the
.Fl v
flag to determine what the
.Nm
command is trying to do.
.It Fl f
Forces the revocation of write access when trying to downgrade
a file system mount status from read-write to read-only.
.It Fl o
Options are specified with a
.Fl o
flag followed by a comma separated string of options.
The following options are available:
.Bl -tag -width nocoredump
.It Cm async
All I/O to the file system should be done asynchronously.
In the event of a crash,
.Em "it is impossible for the system to verify the integrity of data on a file system mounted with this option" .
You should only use this option if you have an application-specific data
recovery mechanism, or are willing to recreate the file system from scratch.
.It Cm noasync
Clear
.Cm async
mode.
.It Cm automounted
This flag indicates that the file system was mounted by
.Xr automountd 8 .
Automounted file systems are automatically unmounted by
.Xr autounmountd 8 .
.It Cm discard
Use DISCARD/TRIM commands if disk and driver support it.
.Pp
.Em EXPERIMENTAL
- negatively influences filesystem performance by increasing fragmentation,
causes free block map inconsistency on unclean shutdown,
and is incompatible with
.Cm log .
If
.Cm log
option is also used,
.Cm discard
is automatically disabled.
.It Cm extattr
Enable extended attributes, if the filesystem supports them and
does not enable them by default.
Currently this is only the case for UFS1.
.It Cm force
The same as
.Fl f ;
forces the revocation of write access when trying to downgrade
a file system mount status from read-write to read-only.
.It Cm getargs
Retrieves the file system specific mount arguments for the given
mounted file system and prints them.
.It Cm hidden
By setting the
.Dv MNT_IGNORE
flag,
causes the mount point to be excluded from the
list of file systems shown by default with
.Xr df 1 .
.It Cm noatime
Never update the access time field for files.
This option is useful for optimizing read performance on file systems,
and avoiding excess writes on flash-based file systems.
.It Cm noauto
This file system should be skipped when mount is run with the
.Fl a
flag.
.It Cm nocoredump
Do not allow programs to create crash dumps (core files) on the file system.
This option can be used to help protect sensitive
data by keeping core files (which may contain sensitive data)
from being created on insecure file systems.
Only core files that would be created by program crashes are
prevented by use of this flag; the behavior of
.Xr savecore 8
is not affected.
.It Cm nodev
Do not interpret character or block special devices on the file system.
This option is useful for a server that has file systems containing
special devices for architectures other than its own.
.It Cm nodevmtime
Do not update modification times on device special files.
This option is useful on laptops
or other systems that perform power management.
.It Cm noexec
Do not allow execution of any binaries on the mounted file system.
This option is useful for a server that has file systems containing
binaries for architectures other than its own.
.It Cm nosuid
Do not allow set-user-identifier or set-group-identifier bits to take effect.
.It Cm port
(NFS only) Use the specified NFS port.
.It Cm rdonly
The same as
.Fl r ;
mount the file system read-only (even the super-user may not write it).
.It Cm reload
Reload all incore data for a file system.
This is used mainly after running
.Xr fsck 8
on the root file system and finding things to fix.
The file system must be mounted read-only.
All cached meta-data are invalidated, superblock and summary information
is re-read from disk, all cached inactive vnodes and file data are
invalidated and all inode data are re-read for all active vnodes.
.It Cm rump
Instead of running
.Dq mount_<fstype>
to mount the file system, run
.Dq rump_<fstype> .
This uses a userspace server to mount the file system and does not
require kernel support for the specific file system type.
See the
.Fl t
flag and respective rump_type manual page for more information.
.It Cm log
(FFS only)
Mount the file system with
.Xr wapbl 4
meta-data journaling, also known simply as logging.
It provides rapid metadata updates and eliminates the need to check
file system consistency after a system outage.
It requires the
.Dv WAPBL
option to be enabled in the running kernel.
See
.Xr wapbl 4
for more information.
This option requires the
.Dq UFS2
.Pq level 4
superblock layout, which is the default for newly created FFSv1 and
FFSv2 file systems.
To update an old file system with an earlier superblock format,
use the
.Fl c
option of
.Xr fsck_ffs 8 .
.Pp
.Cm log
cannot be used together with
.Cm discard .
.Pp
A file system mounted with
.Cm log
can be mounted also with
.Cm async ,
but such filesystem behaves the same as if
.Cm async
was not specified - meta-data writes use the log, hence its integrity
is still guaranteed.
.It Cm symperm
Recognize permission of symbolic link when reading or traversing link.
.It Cm sync
All I/O to the file system should be done synchronously.
This is not equivalent to the normal mode in which only
metadata is written synchronously.
.It Cm nosync
Clear
.Cm sync
mode.
.It Cm union
Causes the namespace at the mount point to appear as the union
of the mounted file system root
(referred to as the
.Em upper
layer), and the existing directory
(referred to as the
.Em lower
layer).
Name lookups will be done in the upper layer first.
If a name does not exist in the upper layer, then the name
will be looked up in the lower layer.
If a name exists in both the upper and lower layers, then only
the upper instance is accessible.
Creation of new files is done in the upper layer,
except in the case of the fdesc file system (see
.Xr mount_fdesc 8 ) .
.Pp
Note that the
.Cm union
option can be applied to any type of file system,
and is fundamentally different from
.Xr mount_union 8 ,
which is a particular type of file system.
Also note that the
.Cm union
option affects the file system name space only at the mount point
itself; it does not apply recursively to subdirectories.
.It Cm update
The same as
.Fl u ;
indicate that the status of an already mounted file system should be changed.
.El
.Pp
Any additional options specific to a given file system type (see the
.Fl t
option) may be passed as a comma separated list; these options are
distinguished by a leading
.Dq \&-
(dash).
Options that take a value are specified using the syntax -option=value.
For example, the mount command:
.Bd -literal -offset indent
mount -t mfs -o nosuid,-N,-s=32m swap /tmp
.Ed
.Pp
causes
.Nm
to execute the equivalent of:
.Bd -literal -offset indent
/sbin/mount_mfs -o nosuid -N -s 32m swap /tmp
.Ed
.It Fl r
The file system is to be mounted read-only.
Mount the file system read-only (even the super-user may not write it).
The same as the
.Dq rdonly
argument to the
.Fl o
option.
.It Fl t Ar type
The argument following the
.Fl t
is used to indicate the file system type.
The type
.Ar ffs
is the default.
The
.Fl t
option can be used to indicate that the actions
should only be taken on file systems of the specified type.
More than one type may be specified in a comma separated list.
The list of file system types can be prefixed with
.Dq no
to specify the file system types for which action should
.Em not
be taken.
For example, the
.Nm
command:
.Bd -literal -offset indent
mount -a -t nonfs,mfs
.Ed
.Pp
mounts all file systems except those of type NFS and MFS.
.Pp
.Nm
will attempt to execute a program in
.Pa /sbin/mount_ Ns Em XXX
where
.Em XXX
is replaced by the type name.
For example, nfs file systems are mounted by the program
.Pa /sbin/mount_nfs .
.It Fl u
The
.Fl u
flag indicates that the status of an already mounted file
system should be changed.
Any of the options discussed above (the
.Fl o
option)
may be changed;
also a file system can be changed from read-only to read-write
or vice versa.
An attempt to change from read-write to read-only will fail if any
files on the file system are currently open for writing unless the
.Fl f
flag is also specified.
The set of options is determined by first extracting the options
for the file system from the
.Xr fstab 5
file, then applying any options specified by the
.Fl o
argument,
and finally applying the
.Fl r
or
.Fl w
option.
.It Fl v
Verbose mode.
If this flag is specified more than once, then the
file system-specific mount arguments are printed for the given mounted
file system.
.It Fl w
The file system object is to be read and write.
.El
.Pp
The options specific to the various file system types are
described in the manual pages for those file systems'
.Dq mount_<fstype>
commands;
for instance, the options specific to Berkeley
Fast File System (FFS) are described in the
.Xr mount_ffs 8
manual page.
.Pp
The particular type of file system in each partition of a disk can
be found by examining the disk label with the
.Xr disklabel 8
command.
.Sh FILES
.Bl -tag -width /etc/fstab -compact
.It Pa /etc/fstab
file system table
.El
.Sh EXAMPLES
Some useful examples:
.Bl -tag -offset indent -width "MS-DOS"
.It CD-ROM
mount -t cd9660 -r /dev/cd0a /cdrom
.It MS-DOS
mount -t msdos /dev/fd0a /floppy
.It NFS
mount -t nfs nfs-server-host:/directory/path /mount-point
.It MFS (32 megabyte)
mount -t mfs -o nosuid,-s=32m swap /tmp
.El
.Pp
The
.Dq noauto
directive in
.Pa /etc/fstab
can be used to make it easy to manually mount and unmount removable
media using just the mountpoint filename, with an entry like this:
.Pp
.Dl /dev/cd0a /cdrom cd9660 ro,noauto 0 0
.Pp
That would allow a simple command like
.Qq mount /cdrom
or
.Qq umount /cdrom
for media using the ISO-9660 file system format in the first
CD-ROM drive.
.Sh DIAGNOSTICS
The error
.Dq Operation not supported by device
indicates that the mount for the specified file-system type cannot be
completed because the kernel lacks support for the said file-system.
See
.Xr options 4 .
.Pp
The error
.Dq Operation not permitted
may indicate that the mount options include privileged options and/or
do not include options that exclude privileged options.
One should try using at least
.Dq nodev
and
.Dq nosuid
in such cases:
.Bd -literal -offset indent
mount -t cd9660 -o nodev,nosuid /dev/cd0a /mnt
.Ed
.Sh SEE ALSO
.Xr df 1 ,
.Xr mount 2 ,
.Xr options 4 ,
.Xr wapbl 4 ,
.Xr fstab 5 ,
.Xr automount 8 ,
.Xr automountd 8 ,
.Xr autounmountd 8 ,
.Xr disklabel 8 ,
.Xr fsck 8 ,
.Xr mount_ados 8 ,
.Xr mount_cd9660 8 ,
.Xr mount_chfs 8 ,
.Xr mount_ext2fs 8 ,
.Xr mount_fdesc 8 ,
.Xr mount_ffs 8 ,
.Xr mount_filecore 8 ,
.Xr mount_kernfs 8 ,
.Xr mount_lfs 8 ,
.Xr mount_mfs 8 ,
.Xr mount_msdos 8 ,
.Xr mount_nfs 8 ,
.Xr mount_ntfs 8 ,
.Xr mount_null 8 ,
.Xr mount_overlay 8 ,
.Xr mount_portal 8 ,
.Xr mount_procfs 8 ,
.Xr mount_tmpfs 8 ,
.Xr mount_udf 8 ,
.Xr mount_umap 8 ,
.Xr mount_union 8 ,
.Xr rump_cd9660 8 ,
.Xr rump_efs 8 ,
.Xr rump_ext2fs 8 ,
.Xr rump_ffs 8 ,
.Xr rump_hfs 8 ,
.Xr rump_lfs 8 ,
.Xr rump_msdos 8 ,
.Xr rump_nfs 8 ,
.Xr rump_ntfs 8 ,
.Xr rump_smbfs 8 ,
.Xr rump_sysvbfs 8 ,
.Xr rump_tmpfs 8 ,
.Xr rump_udf 8 ,
.Xr umount 8
.Sh HISTORY
A
.Nm
command appeared in
.At v1 .