382 lines
9.5 KiB
Groff
382 lines
9.5 KiB
Groff
.\" $NetBSD: fstab.5,v 1.47 2020/04/19 19:20:32 gutteridge 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.
|
|
.\"
|
|
.\" @(#)fstab.5 8.1 (Berkeley) 6/5/93
|
|
.\"
|
|
.Dd April 19, 2020
|
|
.Dt FSTAB 5
|
|
.Os
|
|
.Sh NAME
|
|
.Nm fstab
|
|
.Nd file system table for devices, types, and mount points
|
|
.Sh SYNOPSIS
|
|
.In fstab.h
|
|
.Sh DESCRIPTION
|
|
The file
|
|
.Nm
|
|
contains descriptive information about the various file systems.
|
|
.Nm
|
|
is only read by programs, and not written;
|
|
it is the duty of the system administrator to properly create
|
|
and maintain this file.
|
|
Each file system is described on a separate line;
|
|
fields on each line are separated by tabs or spaces.
|
|
Lines beginning
|
|
with
|
|
.Dq #
|
|
are comments.
|
|
The order of records in
|
|
.Nm
|
|
is important because
|
|
.Xr fsck 8 ,
|
|
.Xr mount 8 ,
|
|
and
|
|
.Xr umount 8
|
|
sequentially iterate through
|
|
.Nm
|
|
doing their respective tasks.
|
|
.Pp
|
|
Each configuration line/record in
|
|
.Nm
|
|
has the format:
|
|
.Dl fs_spec fs_file fs_vfstype fs_mntops fs_freq fs_passno
|
|
.Pp
|
|
The first field,
|
|
.Pq Fa fs_spec ,
|
|
describes the block special device or
|
|
remote file system to be mounted.
|
|
For file systems of type
|
|
.Em ffs ,
|
|
the special file name is the block special file name,
|
|
and not the character special file name.
|
|
If a program needs the character special file name,
|
|
the program must create it by appending a
|
|
.Dq r
|
|
after the last
|
|
.Dq /
|
|
in the special file name.
|
|
(Note that for some file systems, e.g.,
|
|
.Em kernfs ,
|
|
.Em procfs ,
|
|
and
|
|
.Em tmpfs ,
|
|
this field has no applicable use, and any string may be supplied as a
|
|
placeholder.
|
|
It is present simply for consistency of argument number and order.)
|
|
.Pp
|
|
If the first field is of the form
|
|
.Dq NAME=<value>
|
|
then all the
|
|
.Xr dk 4
|
|
wedge partitions are searched for one that has a wedge name equal to
|
|
.Ar <value>
|
|
and the device corresponding to it is selected.
|
|
.Pp
|
|
If the first field starts with the prefix
|
|
.Dq ROOT.
|
|
the prefix is replaced with
|
|
.Dq /dev/[root_device] ,
|
|
where
|
|
.Bq root_device
|
|
is the value of the
|
|
.Dq kern.root_device
|
|
sysctl.
|
|
.Pp
|
|
The second field,
|
|
.Pq Fa fs_file ,
|
|
describes the mount point for the file system.
|
|
For swap and dump partitions, this field should be specified as
|
|
.Dq none .
|
|
.Pp
|
|
The third field,
|
|
.Pq Fa fs_vfstype ,
|
|
describes the type of the file system.
|
|
The system currently supports these file systems:
|
|
.Bl -tag -width filecore -offset indent
|
|
.It Em adosfs
|
|
an
|
|
.Tn AmigaDOS
|
|
file system.
|
|
.It Em cd9660
|
|
an
|
|
.Tn ISO
|
|
9660 CD-ROM file system.
|
|
.It Em ext2fs
|
|
an implementation of the Linux
|
|
.Dq Second Extended File-system .
|
|
.It Em fdesc
|
|
an implementation of
|
|
.Pa /dev/fd .
|
|
.It Em ffs
|
|
a local
|
|
.Ux
|
|
file system.
|
|
.It Em filecore
|
|
a file system for
|
|
.Tn RISC\ OS .
|
|
.It Em kernfs
|
|
various and sundry kernel statistics.
|
|
.It Em lfs
|
|
a log-structured file-system.
|
|
.It Em mfs
|
|
a local memory-based
|
|
.Ux
|
|
file system.
|
|
.It Em msdos
|
|
an
|
|
.Tn MS-DOS
|
|
.Dq FAT file system .
|
|
.It Em nfs
|
|
a Sun Microsystems compatible
|
|
.Dq Network File System .
|
|
.It Em ntfs
|
|
a file system used by
|
|
.Tn Windows NT .
|
|
Still experimental.
|
|
.It Em null
|
|
a loop-back file system, allowing parts of the system to be viewed
|
|
elsewhere.
|
|
.It Em overlay
|
|
a demonstration of layered file systems.
|
|
.It Em portal
|
|
a general file system interface, currently supports TCP and FS mounts.
|
|
.It Em procfs
|
|
a local file system of process information.
|
|
.It Em ptyfs
|
|
a pseudo-terminal device file system.
|
|
.It Em swap
|
|
a disk partition to be used for swapping and paging.
|
|
.It Em tmpfs
|
|
an efficient memory file system.
|
|
.It Em umap
|
|
a user and group re-mapping file system.
|
|
.It Em union
|
|
a translucent file system.
|
|
.It Em zfs
|
|
a ZFS file system.
|
|
.El
|
|
.Pp
|
|
The fourth field,
|
|
.Pq Fa fs_mntops ,
|
|
describes the mount options associated with the file system.
|
|
It is formatted as a comma separated list of options.
|
|
It contains at least the type of mount (see
|
|
.Fa fs_type
|
|
below) plus any additional options
|
|
appropriate to the file system type.
|
|
.Pp
|
|
The option
|
|
.Dq auto
|
|
can be used in the
|
|
.Dq noauto
|
|
form to cause
|
|
a file system not to be mounted automatically (with
|
|
.Dq mount -a
|
|
,
|
|
or system boot time).
|
|
.Pp
|
|
If the options
|
|
.Dq userquota
|
|
and/or
|
|
.Dq groupquota
|
|
are specified,
|
|
the file system is automatically processed by the
|
|
.Xr quotacheck 8
|
|
command, and legacy user and/or group disk quotas are enabled with
|
|
.Xr quotaon 8 .
|
|
By default,
|
|
file system quotas are maintained in files named
|
|
.Pa quota.user
|
|
and
|
|
.Pa quota.group
|
|
which are located at the root of the associated file system.
|
|
These defaults may be overridden by putting an equal sign
|
|
and an alternative absolute pathname following the quota option.
|
|
Thus, if the user quota file for
|
|
.Pa /tmp
|
|
is stored in
|
|
.Pa /var/quotas/tmp.user ,
|
|
this location can be specified as:
|
|
.Bd -literal -offset indent
|
|
userquota=/var/quotas/tmp.user
|
|
.Ed
|
|
.Pp
|
|
It is recommended to turn on the new, in-file system quota with
|
|
.Xr tunefs 8
|
|
or at
|
|
.Xr newfs 8
|
|
time, and to not use the
|
|
.Dq userquota
|
|
or
|
|
.Dq groupquota
|
|
options.
|
|
Migration of limits to the new in-file system quota can be handled
|
|
via
|
|
.Xr quotadump 8
|
|
and
|
|
.Xr quotarestore 8 .
|
|
.Pp
|
|
The option
|
|
.Dq rump
|
|
is used to mount the file system using a
|
|
.Xr rump 3
|
|
userspace server instead of the kernel server.
|
|
.Pp
|
|
The type of the mount is extracted from the
|
|
.Fa fs_mntops
|
|
field and stored separately in the
|
|
.Fa fs_type
|
|
field (it is not deleted from the
|
|
.Fa fs_mntops
|
|
field).
|
|
If
|
|
.Fa fs_type
|
|
is
|
|
.Dq rw
|
|
or
|
|
.Dq ro
|
|
then the file system whose name is given in the
|
|
.Fa fs_file
|
|
field is normally mounted read-write or read-only on the
|
|
specified special file.
|
|
If
|
|
.Fa fs_type
|
|
is
|
|
.Dq sw
|
|
or
|
|
.Dq dp
|
|
then the special file is made available as a piece of swap
|
|
or dump
|
|
space by the
|
|
.Xr swapctl 8
|
|
command towards the beginning of the system reboot procedure.
|
|
See
|
|
.Xr swapctl 8
|
|
for more information on configuring swap and dump devices.
|
|
The fields other than
|
|
.Fa fs_spec
|
|
and
|
|
.Fa fs_type
|
|
are unused.
|
|
If
|
|
.Fa fs_type
|
|
is specified as
|
|
.Dq xx
|
|
the entry is ignored.
|
|
This is useful to show disk partitions which are currently unused.
|
|
.Pp
|
|
The fifth field,
|
|
.Pq Fa fs_freq ,
|
|
is used for these file systems by the
|
|
.Xr dump 8
|
|
command to determine which file systems need to be dumped.
|
|
If the fifth field is not present, a value of zero is returned and
|
|
.Xr dump 8
|
|
will assume that the file system does not need to be dumped.
|
|
.Pp
|
|
The sixth field,
|
|
.Pq Fa fs_passno ,
|
|
is used by the
|
|
.Xr fsck 8
|
|
program to determine the order in which file system checks are done
|
|
at reboot time.
|
|
The root file system should be specified with a
|
|
.Fa fs_passno
|
|
of 1, and other file systems should have a
|
|
.Fa fs_passno
|
|
of 2.
|
|
Filesystems within a drive will be checked sequentially,
|
|
but file systems on different drives will be checked at the
|
|
same time to use parallelism available in the hardware.
|
|
If the sixth field is not present or zero,
|
|
a value of zero is returned and
|
|
.Xr fsck 8
|
|
will assume that the file system does not need to be checked.
|
|
.Bd -literal
|
|
#define FSTAB_RW "rw" /* read-write device */
|
|
#define FSTAB_RQ "rq" /* read/write with quotas */
|
|
#define FSTAB_RO "ro" /* read-only device */
|
|
#define FSTAB_SW "sw" /* swap device */
|
|
#define FSTAB_DP "dp" /* dump device */
|
|
#define FSTAB_XX "xx" /* ignore totally */
|
|
|
|
struct fstab {
|
|
char *fs_spec; /* block special device name */
|
|
char *fs_file; /* file system path prefix */
|
|
char *fs_vfstype; /* type of file system */
|
|
char *fs_mntops; /* comma separated mount options */
|
|
char *fs_type; /* rw, ro, sw, or xx */
|
|
int fs_freq; /* dump frequency, in days */
|
|
int fs_passno; /* pass number on parallel fsck */
|
|
};
|
|
.Ed
|
|
.Pp
|
|
The proper way to read records from
|
|
.Pa fstab
|
|
is to use the routines
|
|
.Xr getfsent 3 ,
|
|
.Xr getfsspec 3 ,
|
|
and
|
|
.Xr getfsfile 3 .
|
|
.Sh FILES
|
|
.Bl -tag -width /etc/fstab
|
|
.It Pa /etc/fstab
|
|
The location of
|
|
.Nm
|
|
configuration file.
|
|
.It Pa /usr/share/examples/fstab/
|
|
Some useful configuration examples.
|
|
.El
|
|
.Sh EXAMPLES
|
|
To use
|
|
.Dq NAME
|
|
on a non-GPT disk, use:
|
|
.Bd -literal
|
|
NAME=sb2k5Root/a / ffs rw,log 1 1
|
|
NAME=sb2k5Root/b none swap sw,dp 0 0
|
|
.Ed
|
|
.Pp
|
|
For a
|
|
.Xr gpt 8
|
|
disk, use:
|
|
.Bd -literal
|
|
NAME=firstpartition / ffs rw,log 1 1
|
|
NAME=secondpartition none swap sw,dp 0 0
|
|
.Ed
|
|
.Sh SEE ALSO
|
|
.Xr getfsent 3 ,
|
|
.Xr getfsspecname 3 ,
|
|
.Xr mount 8 ,
|
|
.Xr swapctl 8
|
|
.Sh HISTORY
|
|
The
|
|
.Nm
|
|
file format appeared in
|
|
.Bx 4.0 .
|