xref: /dragonfly/share/man/man5/fstab.5 (revision 984263bc)
1.\" Copyright (c) 1980, 1989, 1991, 1993
2.\"	The Regents of the University of California.  All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\" 3. All advertising materials mentioning features or use of this software
13.\"    must display the following acknowledgement:
14.\"	This product includes software developed by the University of
15.\"	California, Berkeley and its contributors.
16.\" 4. Neither the name of the University nor the names of its contributors
17.\"    may be used to endorse or promote products derived from this software
18.\"    without specific prior written permission.
19.\"
20.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30.\" SUCH DAMAGE.
31.\"
32.\"     @(#)fstab.5	8.1 (Berkeley) 6/5/93
33.\" $FreeBSD: src/share/man/man5/fstab.5,v 1.11.2.8 2003/02/10 12:21:08 des Exp $
34.\"
35.Dd June 5, 1993
36.Dt FSTAB 5
37.Os
38.Sh NAME
39.Nm fstab
40.Nd static information about the filesystems
41.Sh SYNOPSIS
42.In fstab.h
43.Sh DESCRIPTION
44The file
45.Nm
46contains descriptive information about the various file
47systems.
48.Nm
49is only read by programs, and not written;
50it is the duty of the system administrator to properly create
51and maintain this file.
52Each filesystem is described on a separate line;
53fields on each line are separated by tabs or spaces.
54The order of records in
55.Nm
56is important because
57.Xr fsck 8 ,
58.Xr mount 8 ,
59and
60.Xr umount 8
61sequentially iterate through
62.Nm
63doing their thing.
64.Pp
65The first field,
66.Pq Fa fs_spec ,
67describes the block special device or
68remote filesystem to be mounted.
69For filesystems of type
70.Em ufs ,
71the special file name is the block special file name,
72and not the character special file name.
73If a program needs the character special file name,
74the program must create it by appending a ``r'' after the
75last ``/'' in the special file name.
76.Pp
77The second field,
78.Pq Fa fs_file ,
79describes the mount point for the filesystem.
80For swap partitions, this field should be specified as ``none''.
81.Pp
82The third field,
83.Pq Fa fs_vfstype ,
84describes the type of the filesystem.
85The system can support various filesystem types.
86Only the root, /usr, and /tmp filesystems need be statically
87compiled into the kernel;
88everything else will be automatically loaded at mount
89time.  (Exception: the UFS family - FFS, MFS, and LFS cannot
90currently be demand-loaded.)  Some people still prefer to statically
91compile other filesystems as well.
92.Bl -tag -width indent -offset indent
93.It Em ufs
94a local
95.Tn UNIX
96filesystem
97.It Em mfs
98a local memory-based
99.Tn UNIX
100filesystem
101.It Em nfs
102a Sun Microsystems compatible ``Network File System''
103.It Em swap
104a disk partition to be used for swapping
105.It Em msdos
106a DOS compatible filesystem
107.It Em cd9660
108a CD-ROM filesystem (as per ISO 9660)
109.\" maybe also say Rock Ridge extensions are handled ?
110.It Em procfs
111a file system for accessing process data
112.El
113.Pp
114The fourth field,
115.Pq Fa fs_mntops ,
116describes the mount options associated with the filesystem.
117It is formatted as a comma separated list of options.
118It contains at least the type of mount (see
119.Fa fs_type
120below) plus any additional options
121appropriate to the filesystem type.  See the options flag
122.Pq Fl o
123in the
124.Xr mount 8
125page and the filesystem specific page, such as
126.Xr mount_nfs 8 ,
127for additional options that may be specified.
128.Pp
129If the options ``userquota'' and/or ``groupquota'' are specified,
130the filesystem is automatically processed by the
131.Xr quotacheck 8
132command, and user and/or group disk quotas are enabled with
133.Xr quotaon 8 .
134By default,
135filesystem quotas are maintained in files named
136.Pa quota.user
137and
138.Pa quota.group
139which are located at the root of the associated filesystem.
140These defaults may be overridden by putting an equal sign
141and an alternative absolute pathname following the quota option.
142Thus, if the user quota file for
143.Pa /tmp
144is stored in
145.Pa /var/quotas/tmp.user ,
146this location can be specified as:
147.Bd -literal -offset indent
148userquota=/var/quotas/tmp.user
149.Ed
150.Pp
151If the option ``noauto'' is specified, the filesystem will not be automatically
152mounted at system startup.
153This is recommended for all remote filesystems other than NFS,
154since only NFS mounts are delayed until after network initialization
155by the
156.Xr rc
157startup scripts.
158.Pp
159The type of the mount is extracted from the
160.Fa fs_mntops
161field and stored separately in the
162.Fa fs_type
163field (it is not deleted from the
164.Fa fs_mntops
165field).
166If
167.Fa fs_type
168is ``rw'' or ``ro'' then the filesystem whose name is given in the
169.Fa fs_file
170field is normally mounted read-write or read-only on the
171specified special file.
172If
173.Fa fs_type
174is ``sw'' then the special file is made available as a piece of swap
175space by the
176.Xr swapon 8
177command at the end of the system reboot procedure.
178The fields other than
179.Fa fs_spec
180and
181.Fa fs_type
182are unused.
183If
184.Fa fs_type
185is specified as ``xx'' the entry is ignored.
186This is useful to show disk partitions which are currently unused.
187.Pp
188The fifth field,
189.Pq Fa fs_freq ,
190is used for these filesystems by the
191.Xr dump 8
192command to determine which filesystems need to be dumped.
193If the fifth field is not present, a value of zero is returned and
194.Nm dump
195will assume that the filesystem does not need to be dumped.
196.Pp
197The sixth field,
198.Pq Fa fs_passno ,
199is used by the
200.Xr fsck 8
201program to determine the order in which filesystem checks are done
202at reboot time.
203The root filesystem should be specified with a
204.Fa fs_passno
205of 1, and other filesystems should have a
206.Fa fs_passno
207of 2.
208Filesystems within a drive will be checked sequentially,
209but filesystems on different drives will be checked at the
210same time to utilize parallelism available in the hardware.
211If the sixth field is not present or is zero,
212a value of zero is returned and
213.Xr fsck 8
214will assume that the filesystem does not need to be checked.
215.Bd -literal
216#define	FSTAB_RW	"rw"	/* read/write device */
217#define	FSTAB_RQ	"rq"	/* read/write with quotas */
218#define	FSTAB_RO	"ro"	/* read-only device */
219#define	FSTAB_SW	"sw"	/* swap device */
220#define	FSTAB_XX	"xx"	/* ignore totally */
221
222struct fstab {
223	char	*fs_spec;	/* block special device name */
224	char	*fs_file;	/* filesystem path prefix */
225	char	*fs_vfstype;	/* File system type, ufs, nfs */
226	char	*fs_mntops;	/* Mount options ala -o */
227	char	*fs_type;	/* FSTAB_* from fs_mntops */
228	int	fs_freq;	/* dump frequency, in days */
229	int	fs_passno;	/* pass number on parallel fsck */
230};
231.Ed
232.Pp
233The proper way to read records from
234.Pa fstab
235is to use the routines
236.Xr getfsent 3 ,
237.Xr getfsspec 3 ,
238.Xr getfstype 3 ,
239and
240.Xr getfsfile 3 .
241.Sh FILES
242.Bl -tag -width /etc/fstab -compact
243.It Pa /etc/fstab
244The file
245.Nm
246resides in
247.Pa /etc .
248.El
249.Sh SEE ALSO
250.Xr getfsent 3 ,
251.Xr getvfsbyname 3 ,
252.Xr dump 8 ,
253.Xr fsck 8 ,
254.Xr mount 8 ,
255.Xr quotacheck 8 ,
256.Xr quotaon 8 ,
257.Xr swapon 8 ,
258.Xr umount 8
259.Sh HISTORY
260The
261.Nm
262file format appeared in
263.Bx 4.0 .
264