fstab (after file systems table) is a system file commonly found in the directory /etc
on Unix and Unix-like computer systems. In Linux, it is part of the util-linux package. The fstab file typically lists all available disk partitions and other types of file systems and data sources that may not necessarily be disk-based, and indicates how they are to be initialized or otherwise integrated into the larger file system structure.
The fstab file is read by the mount
command, which happens automatically at boot time to determine the overall file system structure, and thereafter when a user executes the mount
command to modify that structure. It is the duty of the system administrator to properly create and maintain the fstab file.
While fstab is used for basic system configuration, for other uses, it has been superseded by automatic mounting mechanisms.
The file has other names on some versions of Unix; for example, it is found at /etc/vfstab
on Solaris systems.
The fstab file is read by programs that work with disk partitions and other file systems and is not automatically maintained. Instead it is written by the system administrator or sometimes by an operating system installation program. However, some administration tools can automatically build and edit fstab, or act as graphical editors for it.
Modern Linux systems use udev as an automounter to handle the hot swapping of devices (such as MP3 players or digital cameras) instead of relying on fstab. Programs such as pmount allow ordinary users to mount and unmount filesystems without a corresponding fstab entry; traditional Unix has always allowed privileged users (the root user and users in the wheel group) to mount or unmount devices without a corresponding fstab entry.
The following is an example of an fstab file on a typical Linux system.
# device-spec mount-point fs-type options dump passLABEL=//ext4defaults11 /dev/sda6noneswapdefaults00 none/dev/ptsdevptsgid=5,mode=62000 none/procprocdefaults00 none/dev/shmtmpfsdefaults00# Removable media /dev/cdrom/mnt/cdromudf,iso9660noauto,owner,ro00# NTFS Windows 7 partition /dev/sda1/mnt/Windowsntfs-3gquiet,defaults,locale=en_US.utf8,umask=0,noexec00# Partition shared by Windows and Linux /dev/sda7/mnt/sharedvfatumask=00000# Mounting tmpfs tmpfs/mnt/tmpfschktmpfssize=100m00# Mounting cifs //cifs_server_name/ashare/store/pingucifscredentials=/root/smbpass.txt00# Mounting NFS nfs_server_name:/store/storenfsrw00
The order of records in fstab is important because fsck(8), mount(8), and umount(8) sequentially iterate through fstab and mount in the order defined. [1]
Blank lines and comment lines beginning with a "#" are ignored.
The space or tab-separated fields within each row must appear in a specific order:
none
.defaults
refers to a pre-determined set of options depending on the file system type.0 - do not check 1 - check immediately during boot 2 - check after boot
Missing values in the last two fields are interpreted as zeros. If necessary, space characters in the first, second, and fourth fields are indicated by a @ symbol; U+0040
.
This section contains instructions, advice, or how-to content .(September 2014) |
auto
/ noauto
auto
option, the device will be mounted automatically at bootup or when the mount -a command is issued. auto
is the default option. For the device not to be mounted automatically, the noauto
option is used in /etc/fstab. With noauto
, the device can be only mounted explicitly.dev
/ nodev
exec
/ noexec
exec
lets binaries that are on the partition be executed, whereas noexec
is the opposite. noexec
might be useful for a partition that contains no binaries, like /var, or contains binaries the user may not want to execute on the system, or that cannot even be executed on the system, as might be the case of a Windows partition.rw
/ ro
rw
can alleviate some problems in file systems that default to read only, as can be the case with floppies or NTFS partitions.sync
/ async
sync
means it is done synchronously. Looking at the example fstab, this is the option used with the floppy. This means that when, for example, a file is copied to the floppy, the changes are physically written to the floppy at the same time copy command is issued.suid
/ nosuid
user
/ users
/ nouser
user
permits any user to mount the filesystem. This automatically implies noexec
, nosuid
, nodev
unless explicitly overridden. If nouser
is specified, only root can mount the filesystem. If users
is specified, every user in group users will be able to unmount the volume.defaults
rw,suid,dev,exec,auto,nouser,async
. Modern Red Hat based systems set ACL support as default on the root file system but not on user-created ext3 filesystems. Some file systems such as XFS enable ACLs by default. Default file system mount attributes can be overridden in /etc/fstab.owner
(Linux-specific)nofail
atime
/ noatime
/ relatime
/ strictatime
(Linux-specific)There are many options for the specific filesystems supported by mount
. Listed below are some of the more commonly used. The full list may be found in the documentation for mount. Note that these are for Linux; traditional Unix-like systems have generally provided similar functionality but with slightly different syntax or forms.
check=[none, normal, strict]
debug
sb=n
n
is the block which should be used as the super-block for the filesystem.check=[r(elaxed), n(ormal), s(trict)]
mount(8)
.conv=[b(inary), t(ext), a(uto)]
mount(8)
.windows_names
windows_names
restricts the set of allowed characters for the volume to only those acceptable by Windows; though FAT/NTFS are the most common use cases, this feature is not specifically restricted to those filesystem types.uid=n
, gid=n
umask=nnn, dmask=nnn, fmask=nnn
umask - user file creation dmask - directory creation fmask - for files only
More detailed information about the fstab file can be found in the man page for Linux fstab; for other systems see below.
addr=ip
ip
is a valid IP address.ext3, or third extended filesystem, is a journaled file system that is commonly used by the Linux kernel. It used to be the default file system for many popular Linux distributions. Stephen Tweedie first revealed that he was working on extending ext2 in Journaling the Linux ext2fs Filesystem in a 1998 paper, and later in a February 1999 kernel mailing list posting. The filesystem was merged with the mainline Linux kernel in November 2001 from 2.4.15 onward. Its main advantage over ext2 is journaling, which improves reliability and eliminates the need to check the file system after an unclean shutdown. Its successor is ext4.
Disk partitioning or disk slicing is the creation of one or more regions on secondary storage, so that each region can be managed separately. These regions are called partitions. It is typically the first step of preparing a newly installed disk, before any file system is created. The disk stores the information about the partitions' locations and sizes in an area known as the partition table that the operating system reads before any other part of the disk. Each partition then appears to the operating system as a distinct "logical" disk that uses part of the actual disk. System administrators use a program called a partition editor to create, resize, delete, and manipulate the partitions. Partitioning allows the use of different filesystems to be installed for different kinds of files. Separating user data from system data can prevent the system partition from becoming full and rendering the system unusable. Partitioning can also make backing up easier. A disadvantage is that it can be difficult to properly size partitions, resulting in having one partition with too much free space and another nearly totally allocated.
Linux has several filesystem drivers for the File Allocation Table (FAT) filesystem format. These are commonly known by the names used in the mount
command to invoke particular drivers in the kernel: msdos, vfat, and umsdos.
The system utility fsck
is a tool for checking the consistency of a file system in Unix and Unix-like operating systems, such as Linux, macOS, and FreeBSD. The equivalent programs on MS-DOS and Microsoft Windows are CHKDSK, SFC, and SCANDISK.
Disk formatting is the process of preparing a data storage device such as a hard disk drive, solid-state drive, floppy disk, memory card or USB flash drive for initial use. In some cases, the formatting operation may also create one or more new file systems. The first part of the formatting process that performs basic medium preparation is often referred to as "low-level formatting". Partitioning is the common term for the second part of the process, dividing the device into several sub-devices and, in some cases, writing information to the device allowing an operating system to be booted from it. The third part of the process, usually termed "high-level formatting" most often refers to the process of generating a new file system. In some operating systems all or parts of these three processes can be combined or repeated at different levels and the term "format" is understood to mean an operation in which a new disk medium is fully prepared to store files. Some formatting utilities allow distinguishing between a quick format, which does not erase all existing data and a long option that does erase all existing data.
The mtab file is a system information file, commonly found on Unix-like systems.
df is a standard Unix command used to display the amount of available disk space for file systems on which the invoking user has appropriate read access. df is typically implemented using the statfs or statvfs system calls.
stat is a Unix system call that returns file attributes about an inode. The semantics of stat vary between operating systems. As an example, Unix command ls uses this system call to retrieve information on files that includes:
In computing, a file system or filesystem is a method and data structure that the operating system uses to control how data is stored and retrieved. Without a file system, data placed in a storage medium would be one large body of data with no way to tell where one piece of data stopped and the next began, or where any piece of data was located when it was time to retrieve it. By separating the data into pieces and giving each piece a name, the data are easily isolated and identified. Taking its name from the way a paper-based data management system is named, each group of data is called a "file". The structure and logic rules used to manage the groups of data and their names is called a "file system."
In computing, privilege is defined as the delegation of authority to perform security-relevant functions on a computer system. A privilege allows a user to perform an action with security consequences. Examples of various privileges include the ability to create a new user, install software, or change kernel functions.
In computer data storage, a volume or logical drive is a single accessible storage area with a single file system, typically resident on a single partition of a hard disk. Although a volume might be different from a physical disk drive, it can still be accessed with an operating system's logical interface. However, a volume differs from a partition.
In computing, mount
is a command in various operating systems. Before a user can access a file on a Unix-like machine, the file system on the device which contains the file needs to be mounted with the mount command. Frequently mount
is used for SD card, USB storage, DVD and other removable storage devices. The command is also available in the EFI shell.
Mounting is a process by which a computer's operating system makes files and directories on a storage device available for users to access via the computer's file system.
The following tables compare general and technical information for a number of file systems.
e2fsprogs is a set of utilities for maintaining the ext2, ext3 and ext4 file systems. Since those file systems are often the default for Linux distributions, it is commonly considered to be essential software.
Wubi is a free software Ubuntu installer, that was the official Windows-based software, from 2008 until 2013, to install Ubuntu from within Windows, to a single file within an existing Windows partition.
The multi-stage booting process of Linux is in many ways similar to the BSD and other Unix-style boot processes, from which it derives.
The Unix command fuser
is used to show which processes are using a specified computer file, file system, or Unix socket.
In computer operating systems, mkfs
is a command used to format a block storage device with a specific file system. The command is part of Unix and Unix-like operating systems. In Unix, a block storage device must be formatted with a file system before it can be mounted and accessed through the operating system's filesystem hierarchy.
In Unix-like operating systems, a device file or special file is an interface to a device driver that appears in a file system as if it were an ordinary file. There are also special files in DOS, OS/2, and Windows. These special files allow an application program to interact with a device by using its device driver via standard input/output system calls. Using standard system calls simplifies many programming tasks, and leads to consistent user-space I/O mechanisms regardless of device features and functions.
This article needs additional citations for verification .(March 2010) |