|sections in this module||City
College of San Francisco - CS260A
Unix/Linux System Administration
Module: Filesystems I
The filesystem table /etc/fstab is a configuration file used by the system to control the mounting of filesystems. It contains entries for actual filesystems and for pseudo-filesystems. The latter may be 'dynamic' entries added by the system dynamically. The filesystem portion of the /etc/fstab consists of entries added to the fstab either at system installation, by the logical volume manager, or by hand by the system administrator to describe where filesystems are, their types, and how to mount and manage them.
Not all mounted filesystems are described in /etc/fstab. Filesystems for removable devices that are automatically detected are mounted without being described in it.
The format of an entry in /etc/fstab is
device mount-point type mount-options dump-freq passno
where the fields are separated by any amount of whitespace.
This entry is for the root filesystem. Its passno is 1. The
filesystem is mounted by its universally unique id (uuid).
Each of these entries (one label, one device) is the simplest kind. These are examples of the most common type of entry. If you want to create a new entry, duplicate one of these as a starting point. Although true in this example, the label and the mount point are not necessarily the same. Note that the passno is 2, which indicates these filesystems must be checked second (after the root filesystem.)
This is the swap device. Its label is set at system installation. A discussion of swapping may be found in a later section.
A note is necessary here about the use of auto. auto appears in two places: in field #3 (the type field) it means automatically determine filesystem type, if possible. A type of auto is often used for removable devices (if these are placed in the fstab, which is rare today), so that a PC-formatted (or Mac-formatted) removable can be used in addition to one that is linux-formatted. In field #4 (the mount-options field) it means automatically mount the filesystem in response to a mount -a command. (mount -a is issued at boot, and may also be issued at the command prompt.) auto is one of the options in the set defaults which is always either explicit or implicit in the mount-options field. (If only the default options are to be used, defaults appears as a placeholder. If other options are used, they are deviations from defaults, which is then implicit.) If you do not want to auto-mount a filesystem you can use the option noauto.
contains a sequence of pseudo-filesystems that are mounted as
well. These are usually kernel tables whose access is useful when
the filesystem is running (such as /proc), so an interface
is provided to 'mount' the table as if it were a filesystem. I/O
operations occuring on a pseudo-filesystem are translated into
requests to the kernel for certain types of information, such as
process status information. These pseudo-filesystems are
identified in the fstab by a descriptive word such
as proc or tmpfs in the first field,
since there is no filesystem to mount rather than a device file, UUID= or LABEL= . In addition, the
logical volume manager dynamically adds entries to the end of
/etc/fstab to describe logical volumes. If you add your own disk
devices to /etc/fstab
it is wise to add them with the static (installed) disk devices in
case an entry for a pseudo-filesystem or logical volume is
dynamically added later.
A filesystem can also be remote-mounted from a server that accepts such requests. An example of this is an NFS filesystem.
Missing removables entriesIf the system automatically mounts a removable without adding an entry to the fstab (as is true on our systems), the device and mount point must be determined by examining the output of mount after the device is automounted. This allows operations to be performed that require the device file, such as mkfs. Simply umount the volume (but do not physically remove the usb device). The device file for the 'entire device', such as /dev/sdb will still be available in /dev and you can use it to partition the device, followed by creating a filesystem. Unfortunately, if the device is not automounted, the determination of the device address may not be so easy. If the device uses SCSI emulation, such as a USB device, and if the kernel understands the device but not the partitions, the 'whole device' /dev entry should still be created when the device is inserted, even though the partition(s) cannot be mounted. Again, use the /dev entry to examine and/or partition the device. Then create filesystem(s) using the (non-existent) device file(s) to indicate the appropriate partition.
Searching for mounted or unmounted filesystems
If you need to search for a filesystem with a specific label or
uuid, use findfs.
will look through all attached devices (mounted or unmounted) for
a filesystem with the label /root.
As discussed in the last section, you can also use the command blkid.
If you need to find filesystem(s) that are either mounted (in mtab) or configured to be mounted (in fstab) with particular parameters, use findmnt. You can specify whether to look in the fstab or the mtab, and can limit the search by type and/or options. By default findmnt searches through all mounted filesystems and outputs information about all of them. For example,
findmnt -t ext4
will output information about all mounted ext4 filesystems, while
--fstab -t ext4
will output information about all ext4 filesystems in fstab
findmnt -O barrier=1
will output information about all filesystems that have write barriers enabled. Maddeningly, the -O to indicate mount options to look for, is capitalized. -o means something else.
You can see the uuids and labels of currently mounted filesystems and the devices they refer to by examining the symlinks in the directories /dev/disk/by-label and /dev/disk/by-uuid
The Repair Filesystem Trap
If a problem is discovered in the /etc/fstab at reboot, you will be dropped to
a single-user shell with a scary Repair Filesystem prompt.
The purpose of this is to force you to fix the fstab so that booting
will succeed. You can take whatever approach you want at this time
to fix the problem, but most people just want to back out their
recent change and reboot so that they can do more work on the
issue. This sounds simple - just edit the fstab and comment out the
Unfortunately, when you are dropped into the Repair Filesystem prompt the initial mounting of the filesystems has been interrupted and the root filesystem is mounted read-only. There is also no guarantee that the root filesystem is safe to write to. Here are the steps you should take:
The absolute worst thing you can
do is panic! Normally, it is possible to recover a linux
system when there is a problem booting so long as you don't lose
your head and take some rash action that makes matters worse.
|Preview question: The filesystem checking program fsck is used to check the consistency of a filesystem. Most often, fsck is run automatically on filesystems whose state is questionable at boot time, but it can be run by hand. Review the manual page for fsck, concentrating on the -t, -y, -A and -f options.|
|Prev|| This page was made entirely
with free software on linux:
the Mozilla Project and Openoffice.org