After creating the partitions on a hard disk (using GParted, fdisk or gdisk), we have to prepare them for use. The process is called formatting and involves creating file systems.
Regular filesystems in Linux
Linux supports several different file systems, some native, and others created for different operating systems. Some file systems, from the second category we just mentioned, do not work in Linux as the native ones do. But when we prepare the hard drive for installing a Linux distribution, most partitions will have a native file system.
Second Extended File System (ext2fs or ext2) is the traditional native Linux file system. It was created specifically for Linux, and it was the most used file system until the late 1990s. Ext2fs has the reputation of being a trusted file system. Even if other file systems eclipsed it, it’s still in use.
Ext2fs can be a good choice for a small / boot partition (if one is created) or for a small removable disk of fewer than 1 GB. On such small partitions, the size of the log file used by advanced file systems may be a problem, so the lack of logging of ext2fs is a perfect choice.
Third Extended File System (ext3fs or ext3) is, in fact, ext2 with logging. It is a secure file system, which allows for faster recovery after a sudden power outage or a system failure.
Fourth Extended File System (ext4fs or ext4) is the next-generation version of this file system family. It allows working with very high capacity disks (over 16 TiB, which is, in fact, the limit for ext2 and ext3 as well), very large files (over 2 TiBs) and also with extensions used for performance enhancements.
This file system has been developed from scratch as a log file system for Linux. ReiserFS is useful for managing a large number of small files (let’s say, smaller than 32KB). It uses different tricks to tile small files together in unused spaces. ReiserFS will not be able to hold the attention of the users who are more familiar with larger files.
IBM has developed the Journaled File System (jfs) for its AIX and OS/2 operating systems. Later, after OS/2 was not developed, JFS was donated to Linux. JFS is a sophisticated log file system that could be tempting for those familiar with AIX and OS/2, or for a Linux <-> AIX or OS/2 dual boot system.
Silicon Graphics (SGI) has created its Extend File System (XFS) for their IRIX operating system; just like IBM, after IRIX has not been developed, they donated XFS to Linux. Like JFS, and XFS is a sophisticated log file system. XFS has got an excellent reputation for robustness, speed, and flexibility on IRIX, but some of the XFS features that made it good on IRIX are not fully supported on Linux.
This file system (pronounced “butter eff ess” or “bee tree eff ess”) is an advanced file system with features borrowed from Sun’s Zettabyte File System (ZFS). Like EXT4, JFS or XFS, BTRFS is fast and capable of managing large disks and files. Beginning with Kernel 3.6.0, BTRFS is considered experimental; but its advanced features designate it the possible successor of the most popular Linux file system, EXT4.
In practice, most users use EXT3, EXT4 or ReiserFS. JFS and XFS are preferred by administrators of a high capacity disk storage system that stores large files.