What Is a File Systems Table (fstab) on Linux and Why Is It Important?
The file systems table (fstab) is a system configuration file, stored in the /etc directory on Linux, that contains information about various file systems and how the system should mount them during boot.
The Linux kernel uses information from the fstab file to determine which file systems to mount and where to mount them. Here’s everything you need to know about fstab and file systems on Linux.
What Is a File System?
A file system is a way in which your computer organizes and stores data on storage devices such as solid-state drives (SSDs) and flash drives.
Without file systems, it would be difficult to locate and access specific files on the storage device, and the operating system would not be able to keep track of which areas of the storage are in use and which are free.
On Linux, file systems are very important for the following reasons:
- Organization: They provide a hierarchy of directories for better organization
- Space management: Your file system keeps track of used and free space on a storage device, and allocates space for new files
- Security: Protecting the integrity of the files stored on a storage device, for example, via checksums or journaling
Further, file systems provide support for file-level permissions, compression, or encryption.
Some common file systems include NTFS, FAT, ext4, etc. The ext4 (extended filesystem version 4) is prominent on Linux and Unix Systems.
Viewing and Understanding fstab on Linux
You can view the fstab file using your favorite Linux text editors such as nano or Vim, or using the cat command to display the output to your terminal.
The following example uses the Vim text editor:
Your output should be similar to the following:
The file contains a series of lines. Each line is delimited by white spaces and contains the following six sections:
1. File System
It contains the device or file system the system should mount at boot. The mount command also utilizes fstab to mount a hard drive or any storage devices whenever you run appropriate mounting commands.
2. Mount Point
The mount point specifies the directory on which a storage device should be mounted. The system needs to mount each file system in the correct directory.
For example, the root file system is usually mounted on the root (/) directory and is separate from user directories which are mounted on the /home directory.
It defines the type of file system used; some common ones include ext4, XFS, NTFS, etc.
The Linux kernel needs to know which driver to use to access your file system correctly because different file systems have different capabilities and features.
If a storage device has the wrong type value, you might come across errors with the file system.
A comma-separated list of mount options for the listed storage device. The options control how your system mounts and uses the file systems.
Some common options include:
- Auto: Mount the file system automatically at boot time
- Noauto: Do not mount the file system automatically at boot time
- User: Allow any user to mount the file system
- Nouser: Only allow the root user to mount the file system
- Sync: Use synchronous I/O for the file system
This flag indicates whether the dump utility should back up the file system. The default is 0, which means do not back up.
You can set the dump flag to 1 or 2 for file systems that you want to include in the backup.
This flag indicates the order in which fsck (file system check) should check the file systems on boot. The fsck utility on Linux systems checks and repairs file system consistency. The default value is set to 0, which means do not check the file system.
Other possible values are:
- 1: Check the file system first
- 2: Check the file system after all file systems with an fsck flag of 1 have been checked
- 3: Check the file system after all file systems with an fsck flag of 1 or 2 have been checked
If you want to check your file systems every time, set it to a higher value.
Mounting Storage Drives on Linux
File systems play an integral role in your Linux system. Without a proper file system, it would be hard to manage and organize data on your PC.
Did you know that you can also mount file systems from other operating systems on your Linux machine?