]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/blob - share/man/man5/fstab.5
MFC r342456:
[FreeBSD/stable/9.git] / share / man / man5 / fstab.5
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$
34 .\"
35 .Dd October 11, 2012
36 .Dt FSTAB 5
37 .Os
38 .Sh NAME
39 .Nm fstab
40 .Nd static information about the file systems
41 .Sh SYNOPSIS
42 .In fstab.h
43 .Sh DESCRIPTION
44 The file
45 .Nm
46 contains descriptive information about the various file
47 systems.
48 .Nm
49 is only read by programs, and not written;
50 it is the duty of the system administrator to properly create
51 and maintain this file.
52 Each file system is described on a separate line;
53 fields on each line are separated by tabs or spaces.
54 The order of records in
55 .Nm
56 is important because
57 .Xr fsck 8 ,
58 .Xr mount 8 ,
59 and
60 .Xr umount 8
61 sequentially iterate through
62 .Nm
63 doing their thing.
64 .Pp
65 The first field,
66 .Pq Fa fs_spec ,
67 describes the special device or
68 remote file system to be mounted.
69 The contents are decoded by the
70 .Xr strunvis 3
71 function.
72 This allows using spaces or tabs in the device name which would be
73 interpreted as field separators otherwise.
74 .Pp
75 The second field,
76 .Pq Fa fs_file ,
77 describes the mount point for the file system.
78 For swap partitions, this field should be specified as
79 .Dq none .
80 The contents are decoded by the
81 .Xr strunvis 3
82 function, as above.
83 .Pp
84 The third field,
85 .Pq Fa fs_vfstype ,
86 describes the type of the file system.
87 The system can support various file system types.
88 Only the root, /usr, and /tmp file systems need be statically
89 compiled into the kernel;
90 everything else will be automatically loaded at mount
91 time.
92 (Exception: the FFS cannot currently be demand-loaded.)
93 Some people still prefer to statically
94 compile other file systems as well.
95 .Pp
96 The fourth field,
97 .Pq Fa fs_mntops ,
98 describes the mount options associated with the file system.
99 It is formatted as a comma separated list of options.
100 It contains at least the type of mount (see
101 .Fa fs_type
102 below) plus any additional options appropriate to the file system type.
103 See the options flag
104 .Pq Fl o
105 in the
106 .Xr mount 8
107 page and the file system specific page, such as
108 .Xr mount_nfs 8 ,
109 for additional options that may be specified.
110 All options that can be given to the file system specific mount commands
111 can be used in
112 .Nm
113 as well.
114 They just need to be formatted a bit differently.
115 The arguments of the
116 .Fl o
117 option can be used without the preceding
118 .Fl o
119 flag.
120 Other options need both the file system specific flag and its argument,
121 separated by an equal sign.
122 For example, mounting an
123 .Xr msdosfs 5
124 filesystem, the options
125 .Bd -literal -offset indent
126 -o sync -o noatime -m 644 -M 755 -u foo -g bar
127 .Ed
128 .Pp
129 should be written as
130 .Bd -literal -offset indent
131 sync,noatime,-m=644,-M=755,-u=foo,-g=bar
132 .Ed
133 .Pp
134 in the option field of
135 .Nm .
136 .Pp
137 If the options
138 .Dq userquota
139 and/or
140 .Dq groupquota
141 are specified,
142 the file system is automatically processed by the
143 .Xr quotacheck 8
144 command, and user and/or group disk quotas are enabled with
145 .Xr quotaon 8 .
146 By default,
147 file system quotas are maintained in files named
148 .Pa quota.user
149 and
150 .Pa quota.group
151 which are located at the root of the associated file system.
152 These defaults may be overridden by putting an equal sign
153 and an alternative absolute pathname following the quota option.
154 Thus, if the user quota file for
155 .Pa /tmp
156 is stored in
157 .Pa /var/quotas/tmp.user ,
158 this location can be specified as:
159 .Bd -literal -offset indent
160 userquota=/var/quotas/tmp.user
161 .Ed
162 .Pp
163 If the option
164 .Dq failok
165 is specified,
166 the system will ignore any error which happens during the mount of that filesystem,
167 which would otherwise cause the system to drop into single user mode.
168 This option is implemented by the
169 .Xr mount 8
170 command and will not be passed to the kernel.
171 .Pp
172 If the option
173 .Dq noauto
174 is specified, the file system will not be automatically
175 mounted at system startup.
176 Note that, for network file systems
177 of third party types
178 (i.e., types supported by additional software
179 not included in the base system)
180 to be automatically mounted at system startup,
181 the
182 .Va extra_netfs_types
183 .Xr rc.conf 5
184 variable must be used to extend the
185 .Xr rc 8
186 startup script's list of network file system types.
187 .Pp
188 The type of the mount is extracted from the
189 .Fa fs_mntops
190 field and stored separately in the
191 .Fa fs_type
192 field (it is not deleted from the
193 .Fa fs_mntops
194 field).
195 If
196 .Fa fs_type
197 is
198 .Dq rw
199 or
200 .Dq ro
201 then the file system whose name is given in the
202 .Fa fs_file
203 field is normally mounted read-write or read-only on the
204 specified special file.
205 If
206 .Fa fs_type
207 is
208 .Dq sw
209 then the special file is made available as a piece of swap
210 space by the
211 .Xr swapon 8
212 command at the end of the system reboot procedure.
213 The fields other than
214 .Fa fs_spec
215 and
216 .Fa fs_type
217 are unused.
218 If
219 .Fa fs_type
220 is specified as
221 .Dq xx
222 the entry is ignored.
223 This is useful to show disk partitions which are currently unused.
224 .Pp
225 The fifth field,
226 .Pq Fa fs_freq ,
227 is used for these file systems by the
228 .Xr dump 8
229 command to determine which file systems need to be dumped.
230 If the fifth field is not present, a value of zero is returned and
231 .Nm dump
232 will assume that the file system does not need to be dumped.
233 If the fifth field is greater than 0, then it specifies the number of days
234 between dumps for this file system.
235 .Pp
236 The sixth field,
237 .Pq Fa fs_passno ,
238 is used by the
239 .Xr fsck 8
240 and
241 .Xr quotacheck 8
242 programs to determine the order in which file system and quota
243 checks are done at reboot time.
244 The
245 .Fa fs_passno
246 field can be any value between 0 and
247 .Ql INT_MAX Ns -1 .
248 .Pp
249 The root file system should be specified with a
250 .Fa fs_passno
251 of 1, and other file systems should have a
252 .Fa fs_passno
253 of 2 or greater.
254 A file system with a
255 .Fa fs_passno
256 value of 1 is always checked sequentially and be completed before
257 another file system is processed, and it will be processed before
258 all file systems with a larger
259 .Fa fs_passno .
260 .Pp
261 For any given value of
262 .Fa fs_passno ,
263 file systems within a drive will be checked sequentially,
264 but file systems on different drives will be checked at the
265 same time to utilize parallelism available in the hardware.
266 Once all file system checks are complete for the current
267 .Fa fs_passno ,
268 the same process will start over for the next
269 .Fa fs_passno .
270 .Pp
271 If the sixth field is not present or is zero,
272 a value of zero is returned and
273 .Xr fsck 8
274 and
275 .Xr quotacheck 8
276 will assume that the file system does not need to be checked.
277 .Pp
278 The
279 .Fa fs_passno
280 field can be used to implement finer control when
281 the system utilities may determine that the file system resides
282 on a different physical device, when it actually does not, as with a
283 .Xr ccd 4
284 device.
285 All file systems with a lower
286 .Fa fs_passno
287 value will be completed before starting on file systems with a
288 higher
289 .Fa fs_passno
290 value.
291 E.g. all file systems with a
292 .Fa fs_passno
293 of 2 will be completed before any file systems with a
294 .Fa fs_passno
295 of 3 or greater are started.
296 Gaps are allowed between the different
297 .Fa fs_passno
298 values.
299 E.g. file systems listed in
300 .Pa /etc/fstab
301 may have
302 .Fa fs_passno
303 values such as 0, 1, 2, 15, 100, 200, 300, and may appear in any order
304 within
305 .Pa /etc/fstab .
306 .Bd -literal
307 #define FSTAB_RW        "rw"    /* read/write device */
308 #define FSTAB_RQ        "rq"    /* read/write with quotas */
309 #define FSTAB_RO        "ro"    /* read-only device */
310 #define FSTAB_SW        "sw"    /* swap device */
311 #define FSTAB_XX        "xx"    /* ignore totally */
312
313 struct fstab {
314         char    *fs_spec;       /* block special device name */
315         char    *fs_file;       /* file system path prefix */
316         char    *fs_vfstype;    /* File system type, ufs, nfs */
317         char    *fs_mntops;     /* Mount options ala -o */
318         char    *fs_type;       /* FSTAB_* from fs_mntops */
319         int     fs_freq;        /* dump frequency, in days */
320         int     fs_passno;      /* pass number on parallel fsck */
321 };
322 .Ed
323 .Pp
324 The proper way to read records from
325 .Pa fstab
326 is to use the routines
327 .Xr getfsent 3 ,
328 .Xr getfsspec 3 ,
329 .Xr getfstype 3 ,
330 and
331 .Xr getfsfile 3 .
332 .Sh FILES
333 .Bl -tag -width /etc/fstab -compact
334 .It Pa /etc/fstab
335 The file
336 .Nm
337 resides in
338 .Pa /etc .
339 .El
340 .Sh SEE ALSO
341 .Xr getfsent 3 ,
342 .Xr getvfsbyname 3 ,
343 .Xr ccd 4 ,
344 .Xr dump 8 ,
345 .Xr fsck 8 ,
346 .Xr mount 8 ,
347 .Xr quotacheck 8 ,
348 .Xr quotaon 8 ,
349 .Xr strunvis 3 ,
350 .Xr swapon 8 ,
351 .Xr umount 8
352 .Sh HISTORY
353 The
354 .Nm
355 file format appeared in
356 .Bx 4.0 .