|
|
1.1 root 1: .\" Copyright (c) 1980, 1989 The Regents of the University of California.
2: .\" All rights reserved.
3: .\"
4: .\" Redistribution and use in source and binary forms are permitted provided
5: .\" that: (1) source distributions retain this entire copyright notice and
6: .\" comment, and (2) distributions including binaries display the following
7: .\" acknowledgement: ``This product includes software developed by the
8: .\" University of California, Berkeley and its contributors'' in the
9: .\" documentation or other materials provided with the distribution and in
10: .\" all advertising materials mentioning features or use of this software.
11: .\" Neither the name of the University nor the names of its contributors may
12: .\" be used to endorse or promote products derived from this software without
13: .\" specific prior written permission.
14: .\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
15: .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
16: .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
17: .\"
18: .\" @(#)fstab.5 6.4 (Berkeley) 6/23/90
19: .\"
20: .TH FSTAB 5 "June 23, 1990"
21: .UC 4
22: .SH NAME
23: fstab \- static information about the filesystems
24: .SH SYNOPSIS
25: .B #include <fstab.h>
26: .SH DESCRIPTION
27: The file
28: .I /etc/fstab
29: contains descriptive information about the various file
30: systems.
31: .I /etc/fstab
32: is only read by programs, and not written;
33: it is the duty of the system administrator to properly create
34: and maintain this file.
35: Each filesystem is described on a separate line;
36: fields on each line are separated by tabs or spaces.
37: The order of records in
38: .I /etc/fstab
39: is important because
40: .I fsck,
41: .I mount,
42: and
43: .I umount
44: sequentially iterate through
45: .I /etc/fstab
46: doing their thing.
47: .PP
48: The first field, (\c
49: .IR \|fs_spec ),
50: describes the block special device or
51: remote filesystem to be mounted.
52: For filesystems of type
53: .BR ufs ,
54: the special file name is the block special file name,
55: and not the character special file name.
56: If a program needs the character special file name,
57: the program must create it by appending a ``r'' after the
58: last ``/'' in the special file name.
59: .PP
60: The second field, (\c
61: .IR \|fs_file ),
62: describes the mount point for the filesystem.
63: For swap partitions, this field should be specified as ``none''.
64: .PP
65: The third field, (\c
66: .IR \|fs_vfstype ),
67: describes the type of the filesystem.
68: The system currently supports four types of filesystems:
69: .IP \fBufs\fR 8
70: a local UNIX filesystem
71: .IP \fBmfs\fR 8
72: a local memory-based UNIX filesystem
73: .IP \fBnfs\fR 8
74: a Sun Microsystems compatible ``Network File System''
75: .IP \fBswap\fR 8
76: a disk partition to be used for swapping
77: .PP
78: The fourth field, (\c
79: .IR \|fs_mntops ),
80: describes the mount options associated with the filesystem.
81: It is formatted as a comma separated list of options.
82: It contains at least the type of mount (see
83: .I fs_type
84: below) plus any additional options
85: appropriate to the filesystem type.
86: .PP
87: If the options ``userquota'' and/or ``groupquota'' are specified,
88: the filesystem is automatically processed by the
89: .IR quotacheck (8)
90: command, and user and/or group disk quotas are enabled with
91: .IR quotaon (8).
92: By default,
93: filesystem quotas are maintained in files named
94: .I quota.user
95: and
96: .I quota.group
97: which are located at the root of the associated filesystem.
98: These defaults may be overridden by putting an equal sign
99: and an alternative absolute pathname following the quota option.
100: Thus, if the user quota file for /tmp is stored in /var/quotas/tmp.user,
101: this location can be specified as:
102: .IP
103: userquota=/var/quotas/tmp.user
104: .PP
105: The type of the mount is extracted from the
106: .I fs_mntops
107: field and stored separately in the
108: .I fs_type
109: field (it is not deleted from the
110: .I fs_mntops
111: field).
112: If
113: .I fs_type
114: is ``rw'' or ``ro'' then the filesystem whose name is given in the
115: .I fs_file
116: field is normally mounted read-write or read-only on the
117: specified special file.
118: If
119: .I fs_type
120: is ``sw'' then the special file is made available as a piece of swap
121: space by the
122: .IR swapon (8)
123: command at the end of the system reboot procedure.
124: The fields other than
125: .I fs_spec
126: and
127: .I fs_type
128: are unused.
129: If
130: .I fs_type
131: is specified as ``xx'' the entry is ignored.
132: This is useful to show disk partitions which are currently unused.
133: .PP
134: The fifth field, (\c
135: .IR \|fs_freq ),
136: is used for these filesystems by the
137: .IR dump (8)
138: command to determine which filesystems need to be dumped.
139: If the fifth field is not present, a value of zero is returned and
140: .I dump
141: will assume that the filesystem does not need to be dumped.
142: .PP
143: The sixth field, (\c
144: .IR \|fs_passno ),
145: is used by the
146: .IR fsck (8)
147: program to determine the order in which filesystem checks are done
148: at reboot time.
149: The root filesystem should be specified with a
150: .I fs_passno
151: of 1, and other filesystems should have a
152: .I fs_passno
153: of 2.
154: Filesystems within a drive will be checked sequentially,
155: but filesystems on different drives will be checked at the
156: same time to utilize parallelism available in the hardware.
157: If the sixth field is not present or zero,
158: a value of zero is returned and
159: .I fsck
160: will assume that the filesystem does not need to be checked.
161: .sp 1
162: .nf
163: .DT
164: #define FSTAB_RW "rw" /* read-write device */
165: #define FSTAB_RO "ro" /* read-only device */
166: #define FSTAB_SW "sw" /* swap device */
167: #define FSTAB_XX "xx" /* ignore totally */
168: .PP
169: .ta \w'#define 'u +\w'char\ \ 'u +\w'*fs_vfstype;\ \ 'u
170: struct fstab {
171: char *fs_spec; /* block special device name */
172: char *fs_file; /* filesystem path prefix */
173: char *fs_vfstype; /* type of filesystem */
174: char *fs_mntops; /* comma separated mount options */
175: char *fs_type; /* rw, ro, sw, or xx */
176: int fs_freq; /* dump frequency, in days */
177: int fs_passno; /* pass number on parallel dump */
178: };
179: .fi
180: .PP
181: The proper way to read records from
182: .I /etc/fstab
183: is to use the routines getfsent(), getfsspec(), getfstype(),
184: and getfsfile().
185: .SH FILES
186: /etc/fstab
187: .SH SEE ALSO
188: getfsent(3)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.