File Systems in Linux

When in Linux though, you have a choice. You don’t have to know about file systems, of course, most distributions do have defaults, and you don’t have to change these. You can even skip this chapter, and move on if you don’t care to know. You can use Linux just like Windows, without having the faintest idea how it works, and that’s fine too, it will do the job. If you want more control, however, it makes sense to acquaint yourself with a few different file system types. The below list is far from comprehensive, touching only the very basics of the most popular FSs available, only to give you a taster, trying not to overwhelm…

ext2/3/4

The ext file system (or rather one of the above versions, like ext2, ext3 or ext4 is the de facto standard FS for many Linux distributions. They are all later iterations of the extended file system (ext), which was the very first FS developed specifically for Linux. ext2 improved ext, providing a sort of second version, ext3 soon followed, and today we are at ext4.

Ext4 has many advantages over NTFS, e.g. you can use characters like ‘?’, ‘:’ and ‘*’ in file names (really, you can). It can also handle larger chunks of data at once, making it perform faster, and also reduces data fragmentation. That said, NTFS usually performs fast enough and fragmentation is not as bad as it once was, even on Windows.

Just out of pure interest, ext4 can handle massive files and drives, it can handle volumes up to 1 exbibyte (EiB) and files up to 16 tebibytes (TiB). Those are approximately unimaginably large. And have no practical use for a home PC owner. Still, it looks cool in the statistics.

Ext4 will be the default file system on a Debian installation and it does a remarkably fine job in keeping your data intact.

XFS, BTRFS and the others

While ext might have been the first, there have been other, sometimes more advanced file systems developed for Linux (and other Unix-like) systems. When you install Debian or add a new drive/partition/volume, you can choose from other options too. Some of these have very specific use cases, for example, XFS is meant to handle huge files the best of all, so if you plan to add a separate volume to store something like BluRay film images, XFS might be the best option.

BTRFS is relatively new, but it offers some features that make it immediately desirable as the main file system for your OS. One such feature is its capability of making file system snapshots, to which you can revert if anything goes wrong. Other Linux distributions, like openSUSE, have already switched to BTRFS as a default file system. OpenSUSE does leverage this snapshot capability, using it before system upgrades. This means, that the OS makes a snapshot, then upgrades the system.  If anything goes wrong during the upgrade, you can revert to this snapshot using the BTRFS tools, restoring it to the state before the update. This, of course, exists in Windows as well, as other systems, but in BTRFS this functionality is baked right into the files system, which makes it faster and a lot more robust.

For a list of all files systems available in Debian GNU/Linux, and their respective documentation, see this page from the official Debian wiki.