BSD Filesystem Configuration File

5.4.1 BSD Filesystem Configuration File

The BSD−style filesystem configuration file etcfstab was, and still is, used by many UNIX flavors: SunOS 4.1.x, HP−UX 10.20, IRIX, Linux, etc. Here is an example from SunOS: cat etcfstab devsd0a 4.2 rw 1 1 devsd0h home 4.2 rw 1 3 devsd0g usr 4.2 rw 1 2 devfd0 pcfs pcfs rw,noauto 0 0 indigo1:indigo1 indigo1 nfs rw,bg,intr,hard 0 0 hcprophet:hcprophet hcprophet nfs rw,bg,hard,intr 0 0 rs01−ch:home2gigrsxx−ch rsxx−ch nfs rw,bg,hard,intr 0 0 The first three entries define three local 4.2. type filesystems: root, usr, and home, in the partitions a, h, and g, of the same disk sd0. This used to be a very common filesystem configuration when disk space was quite expensive. The fourth entry defines a floppy drive pcfs filesystem type. The last three lines define three NFS filesystems. To mount remote NFS filesystems, different syntax and options should be implemented; this will be discussed in another chapter. This filesystem configuration file does not include any swap−related entry. The system obviously has used only the primary swap partition, the partition b at the disk sd0, identified by the special device file devsd0b. If it is not specified otherwise, the system by default mounts the primary swap partition. However, as we mentioned earlier, modern UNIX versions require swap configuration entries. An example on Linux platform: cat etcfstab devsda1 ext2 defaults 1 1 devsda5 home ext2 defaults 1 2 devsda8 log ext2 defaults 1 2 devsda7 tmp ext2 defaults 1 2 devsda2 usr ext2 defaults 1 2 devsda3 var ext2 defaults 1 2 none proc proc defaults 0 0 devsda6 swap swap defaults 0 0 Linux displays swap partitions, including the primary one. Most UNIX flavors today follow this approach — it is always better to see, than to guess about, the system configuration. However, the presented proc filesystem could be confusing. This configuration entry is Linux specific — proc is a quasi−filesystem which allows an easy access to handle kernel parameters by using regular UNIX commands. Although it is primarily read−only, some kernel parameters could even be modified in that way. In the SunOS example an entry for a local filesystem has the form: block−special−file mount−point type opts dump−freq pass−number 121 block−special−file The name of a special block device file where the filesystem resides mount−point The directory at which to mount the filesystem type The filesystem type; here the implemented values are: 4.2 For local partitions nfs For volumes mounted remotely via NFS pcfs For DOS formatted floppy diskettes These could also be: swap For swap partition ignore For the mount command to ignore this line opts The field consists of one or more options, separated by commas. These are the usual mount options for a specified filesystem type, determined by the type field. For ignore type entries, this field is ignored. For swap type entries, this field should be sw. If the files type is 4.2, the options field may include the following keywords, separated by commas: rw Read−write filesystem ro Read−only filesystem suid The SUID access mode permitted nosuid The SUID access mode not permitted quota Quotas may be placed in effect noquota Quotas not in use dump−freq A decimal number indicating the frequency with which this filesystem should be backed up. A value of 1 means every day, 2 means every other day, and so on. This field should be 0 for swap devices. pass−number A decimal number indicating the order in which fsck should check the filesystems. The number 1 indicates that the filesystem should be checked first, 2 indicates that the filesystem should be checked second, and so on. The root filesystem must have a pass−number of 1. All other filesystems should have higher numbers. For optimal performance, two filesystems that are on the same disk drive should have different numbers; however, filesystems on different drives may have the same number, letting fsck check the two filesystems in parallel. The number should be 0 for a swap device.

5.4.2 System V Filesystem Configuration File