|
|
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.