FileSystem


Since the very early days, ?GNULinux has used the ext2 (second extended) FileSystem type. This was a filesystem type that was developed for the open source community and was improved in ext3, chosen as the standard file system for ?GNULinux.

?GNULinux is not restricted to the ext2 filesystem. In fact, it is possible for GNU/Linux to exist on any filesystem that supports some special constructs(file permissions, symbolic links and device files). Examples of such filesystems types are XFS, ReiserFS and JFS.

Now the question that often comes to mind is "Why would someone choose one filesystem type over the others?". These sorts of choices are based on the relative merits of the particular filesystem type (file copy speeds, file reading speeds, fragmentation) and backwards compatibility. It is usually quite difficult to change from one filesystem type to another because they often use very different storage formats.

There is a certain amount of housekeeping that is required to maintain the integrity of a filesystem on your disk. The filesystem must conform to the type of the filesystem when the user decides to add files, remove files and alter files.

This housekeeping happens while you are working on your computer and without your knowledge. As a consequence, it is highly important that you shut down your computer properly so that the housekeeping operations can be allowed to terminate properly before you turn off the power.

In the case where the power is interrupted in the middle of housekeeping operations, your filesystem can become corrupt (no longer conforms to the filesystem type) because of a file that was partially written, partially removes or partially alterred. When your Debian system boots again after such a failure, the filesystem check program runs (fsck).

fsck is responsible for restoring your filesystem to a correct state. It may or may not lose your changes to the file it was writing or fully erase the file but it will make the filesystem usable again and will quite often take a very long time doing this (especially with a large hard disk).

Some filesystems types have been designed especially to keep the running time of the filesystem checker down to a minimum. This is very important for large servers that cannot afford to be down for an hour waiting for the 1 terrabyte of storage to be fixed. These filesystems types are called journaling. They keep extra record keeping so that the interrupted operation can either be rolled back or fixed up quickly. Examples of this type of filesystem are XFS, ReiserFS and JFS.


> do we need more info OR better defaults for 'hdparm' settings ?? I found that my brand new HD did only like ?3MBytes/sec because thinks like DMA (ultra dma ?ATA66) are not activated ... [I would never have found out about it if my ?reiserFS would have made troube ]

In Linux you can find the filesystems supported in /proc/filesystems. You can load support for more from /lib/modules/$(uname -r)/kernel/fs/.

Loopback mounting can be very useful if you have dumps of filesystems.

FileSystem availability (Read and Write) Debian HURD: ? Debian LINUX: Ext4, HPFS, UFS Debian kFreeBSD: UFS2

There is additional packages for more filesystem tricks: hfsutils, jfsutils, dosfstools, ntfsprogs See also: