|
|
1.1 ! root 1: .TH FSTAB 5 "26 June 1983" ! 2: .UC 4 ! 3: .SH NAME ! 4: fstab \- static information about the filesystems ! 5: .SH SYNOPSIS ! 6: .B #include <fstab.h> ! 7: .SH DESCRIPTION ! 8: The file ! 9: .I /etc/fstab ! 10: contains descriptive information about the various file ! 11: systems. ! 12: .I /etc/fstab ! 13: is only ! 14: .I read ! 15: by programs, and not written; ! 16: it is the duty of the system administrator to properly create ! 17: and maintain this file. ! 18: The order of records in ! 19: .I /etc/fstab ! 20: is important because ! 21: .I fsck, ! 22: .I mount, ! 23: and ! 24: .I umount ! 25: sequentially iterate through ! 26: .I /etc/fstab ! 27: doing their thing. ! 28: .PP ! 29: The special file name is the ! 30: .B block ! 31: special file name, ! 32: and not the character special file name. ! 33: If a program needs the character special file name, ! 34: the program must create it by appending a ``r'' after the ! 35: last ``/'' in the special file name. ! 36: .PP ! 37: If ! 38: .I fs_type ! 39: is ``rw'' or ``ro'' then the file system whose name is given in the ! 40: .I fs_file ! 41: field is normally mounted read-write or read-only on the ! 42: specified special file. Physically setting the write-protected ! 43: button alone is not sufficient to establish the file system ! 44: as read-only. This ! 45: may have an adverse effect on the file ! 46: system. Either marking ``ro'' in ! 47: .I /etc/fstab ! 48: and rebooting or running ! 49: .I /etc/mount -r ! 50: will prevent the system from ! 51: writing to the specified disk. If ! 52: .I fs_type ! 53: is ``rq'', then the file system is normally mounted read-write ! 54: with disk quotas enabled. ! 55: The ! 56: .I fs_freq ! 57: field is used for these file systems by the ! 58: .IR dump (8) ! 59: command to determine which file systems need to be dumped. ! 60: The ! 61: .I fs_passno ! 62: field is used by the ! 63: .IR fsck (8) ! 64: program to determine the order in which file system checks are done ! 65: at reboot time. ! 66: The root file system should be specified with a ! 67: .I fs_passno ! 68: of 1, and other file systems should have larger numbers. File systems ! 69: within a drive should have distinct numbers, but file systems on different ! 70: drives can be checked on the same pass to utilize parallelism available in ! 71: the hardware. ! 72: .PP ! 73: If ! 74: .I fs_type ! 75: is ``sw'' then the special file is made available as a piece of swap ! 76: space by the ! 77: .IR swapon (8) ! 78: command at the end of the system reboot procedure. ! 79: The fields other than ! 80: .I fs_spec ! 81: and ! 82: .I fs_type ! 83: are not used in this case. ! 84: .PP ! 85: If ! 86: .I fs_type ! 87: is ``rq'' then at boot time the file system is automatically ! 88: processed by the ! 89: .IR quotacheck (8) ! 90: command and disk quotas are then enabled with ! 91: .IR quotaon (8). ! 92: File system quotas are maintained in a file ``quotas'', which is ! 93: located at the root of the associated file system. ! 94: .PP ! 95: If ! 96: .I fs_type ! 97: is specified as ``xx'' the entry is ignored. ! 98: This is useful to show disk partitions which are currently not used. ! 99: .sp 1 ! 100: .nf ! 101: .DT ! 102: #define FSTAB_RW "rw" /* read-write device */ ! 103: #define FSTAB_RO "ro" /* read-only device */ ! 104: #define FSTAB_RQ "rq" /* read-write with quotas */ ! 105: #define FSTAB_SW "sw" /* swap device */ ! 106: #define FSTAB_XX "xx" /* ignore totally */ ! 107: .PP ! 108: .ta \w'#define 'u +\w'char\ \ 'u +\w'fs_passno; 'u ! 109: struct fstab { ! 110: char *fs_spec; /* block special device name */ ! 111: char *fs_file; /* file system path prefix */ ! 112: char *fs_type; /* rw,ro,sw or xx */ ! 113: int fs_freq; /* dump frequency, in days */ ! 114: int fs_passno; /* pass number on parallel dump */ ! 115: }; ! 116: .fi ! 117: .PP ! 118: The proper way to read records from ! 119: .I /etc/fstab ! 120: is to use the routines getfsent(), getfsspec(), getfstype(), ! 121: and getfsfile(). ! 122: .SH FILES ! 123: /etc/fstab ! 124: .SH SEE ALSO ! 125: getfsent(3X)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.