NAME
fstab —
file system table for devices,
types, and mount points
SYNOPSIS
#include <fstab.h>
DESCRIPTION
The file
fstab contains descriptive information about the
various file systems.
fstab 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
“#” are comments. The order of records in
fstab
is important because
fsck(8),
mount(8), and
umount(8) sequentially iterate
through
fstab doing their respective tasks.
Each configuration line/record in
fstab has the format:
fs_spec fs_file fs_vfstype fs_mntops fs_freq
fs_passno
The first field, (
fs_spec), describes the block special
device or remote file system to be mounted. For file systems of type
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 “r”
after the last “/” in the special file name.
If the first field is of the form “NAME=<value>” then all the
dk(4) wedge partitions are searched
for one that has a wedge name equal to
<value> and
the device corresponding to it is selected.
The second field, (
fs_file), describes the mount point for
the file system. For swap and dump partitions, this field should be specified
as “none”.
The third field, (
fs_vfstype), describes the type of the
file system. The system currently supports these file systems:
-
-
- adosfs
- an AmigaDOS file system.
-
-
- cd9660
- an ISO 9660 CD-ROM file system.
-
-
- ext2fs
- an implementation of the Linux “Second Extended
File-system”.
-
-
- fdesc
- an implementation of /dev/fd.
-
-
- ffs
- a local UNIX file system.
-
-
- filecore
- a file system for RISC OS.
-
-
- kernfs
- various and sundry kernel statistics.
-
-
- lfs
- a log-structured file-system.
-
-
- mfs
- a local memory-based UNIX file
system.
-
-
- msdos
- an MS-DOS “FAT file system”.
-
-
- nfs
- a Sun Microsystems compatible “Network File
System”.
-
-
- ntfs
- a file system used by Windows NT. Still experimental.
-
-
- null
- a loop-back file system, allowing parts of the system to be
viewed elsewhere.
-
-
- overlay
- a demonstration of layered file systems.
-
-
- portal
- a general file system interface, currently supports TCP and
FS mounts.
-
-
- procfs
- a local file system of process information.
-
-
- ptyfs
- a pseudo-terminal device file system.
-
-
- smbfs
- a shared resource from an SMB/CIFS file server.
-
-
- swap
- a disk partition to be used for swapping and paging.
-
-
- tmpfs
- an efficient memory file system.
-
-
- umap
- a user and group re-mapping file system.
-
-
- union
- a translucent file system.
The fourth field, (
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
fs_type below) plus any additional options appropriate
to the file system type.
The option “auto” can be used in the “noauto” form to
cause a file system not to be mounted automatically (with “mount
-a” , or system boot time).
If the options “userquota” and/or “groupquota” are
specified, the file system is automatically processed by the
quotacheck(8) command, and
legacy user and/or group disk quotas are enabled with
quotaon(8). By default, file
system quotas are maintained in files named
quota.user and
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
/tmp is stored in
/var/quotas/tmp.user, this location can be specified as:
userquota=/var/quotas/tmp.user
It is recommended to turn on the new, in-file system quota with
tunefs(8) or at
newfs(8) time, and to not use the
“userquota” or “groupquota” options. Migration of
limits to the new in-file system quota can be handled via
quotadump(8) and
quotarestore(8).
The option “rump” is used to mount the file system using a
rump(3) userspace server instead
of the kernel server.
The type of the mount is extracted from the
fs_mntops
field and stored separately in the
fs_type field (it is
not deleted from the
fs_mntops field). If
fs_type is “rw” or “ro” then the
file system whose name is given in the
fs_file field is
normally mounted read-write or read-only on the specified special file. If
fs_type is “sw” or “dp” then the
special file is made available as a piece of swap or dump space by the
swapctl(8) command towards the
beginning of the system reboot procedure. See
swapctl(8) for more information
on configuring swap and dump devices. The fields other than
fs_spec and
fs_type are unused. If
fs_type is specified as “xx” the entry is
ignored. This is useful to show disk partitions which are currently unused.
The fifth field, (
fs_freq), is used for these file systems
by the
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
dump(8) will assume that the file
system does not need to be dumped.
The sixth field, (
fs_passno), is used by the
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
fs_passno of 1, and
other file systems should have a
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
fsck(8) will assume
that the file system does not need to be checked.
#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 */
};
The proper way to read records from
fstab is to use the
routines
getfsent(3),
getfsspec(3), and
getfsfile(3).
FILES
-
-
- /etc/fstab
- The location of fstab configuration
file.
-
-
- /usr/share/examples/fstab/
- Some useful configuration examples.
EXAMPLES
To use “NAME” on a non-GPT disk, use:
NAME=sb2k5Root/a / ffs rw,log 1 1
NAME=sb2k5Root/b none swap sw,dp 0 0
For a
gpt(8) disk, use:
NAME=firstpartition / ffs rw,log 1 1
NAME=secondpartition none swap sw,dp 0 0
SEE ALSO
getfsent(3),
getfsspecname(3),
mount(8),
swapctl(8)
HISTORY
The
fstab file format appeared in
4.0BSD.