Annvix
Personal tools



/User Guide/Linux Filesystems

From Annvix

Linux Filesystems

A filesystem on Linux, or another operating system, is a low-level application that manages the storage and access of files on the system. A filesystem provides users and applications the ability to create files and directories, read and write to files and directories, delete files and directories, and provide access controls (called ACLs) on files and directories. In short, the filesystem is the "middle-layer" between user-land processes and applications and physical devices such as a hard disk or CD.

Contents

Filesystems available for Annvix

Annvix comes with the ability to use several different filesystem types. There are typically two types of filesystems available for Linux: journaled filesystems and non-journaled filesystems. Annvix makes no assumptions and thus provides no "default" filesystem. Each filesystem has it's advantages and drawbacks compared with others. Which filesystem to use largely depends upon the application -- a /boot partition does not necessarily require a journaled filesystem and because it is typically small, a filesystem such as ext2 is probably the best fit.

Journaled filesystems include additional record-keeping functionality that greatly increase the ability of the filesystem to recover data in the event of a system crash. With this type of filesystem, data is kept as changes are made to the files, even before the change is complete (thus keeping a "journal") of activities. In theory, this means that data that was not completely written to its final state can be recovered, and data that is not complete can be safely discarded without losing other data. In practice, this means that it takes far less time to keep the system in a healthy state than a non-journaled filesystem.

ext2

ext2 is one of the oldest filesystems available for Linux, and as a result one of the most stable. It is a high performance non-journaled filesystem. Despite the lack of a journal, many people continue to use it for many applications due to it's speed and reliability. ext2 keeps track of filesystem state, which makes recovery possible in the event of a system crash.

ext3

The ext3 filesystem is a journaled filesystem built upon ext2; in essence it is the ext2 filesystem with journaling extensions. As a result, it is quite stable and reliable.

XFS

XFS is a filesystem that was created by SGI for the IRIX operating system. XFS is a high-performance journaled filesystem that is typically considered to be much faster than ext3. On the downside, XFS makes heavy use of data caching, which means that power failures are more likely to result in data loss. As a result, using a UPS and good backups are definite safety precautions that should be observed when using XFS. It also does not have tools for shrinking filesystems.

ReiserFS

ReiserFS is another journaled filesystem. ReiserFS v3 support is included in Annvix, but it's use is discouraged as no further development is taking place on v3 and development remains unsure of the next-generation ReiserFS v4 filesystem.

JFS

Annvix provides in-kernel support for JFS, the journaled filesystem created by IBM, but does not yet ship the userland tools to make use of it.

Fat32/NTFS

Annvix supports reading and writing to Fat32 filesystems, and supports reading from NTFS filesystems. Their use as filesystems on an Annvix system is discouraged due to poor performance, in the case of Fat32, and experimental write support, in the case of NTFS.

Network Filesystems

Annvix provides support for using network filesystems, using NFS and CIFS protocols.

Filesystem Maintenance

Filesystems generally work exceptionally well on their own and require very little intervention or pampering. However, there are times when new filesystems need to be created or re-formatted, partitions need to be resized, and so forth so knowing the basics of filesystem maintenance is generally a good idea.

Creating Filesystems

Each filesystem provides its own tools to create new filesystems. Generally speaking, the /sbin/mkfs(8) tool will create filesystems; it is a front-end to other tools that actually create the filesystems.

  • ext2: /sbin/mkfs.ext2(8) or /sbin/mke2fs(8)
  • ext3: /sbin/mkfs.ext3(8) or /sbin/mke2fs(8) with the '-j' option
  • XFS: /sbin/mkfs.xfs(8)
  • ReiserFS: /sbin/mkfs.reiserfs(8) or /sbin/mkreiserfs(8)
  • Fat32: /sbin/mkfs.dos(8), /sbin/mkfs.vfat(8), or /sbin/mkdosfs(8)

Repairing Filesystems

Occasionally a filesystem may need repair. More often than not, the system will detect anomalies in the filesystem at boot and attempt to make the repairs then, however these tools offer more sophisticated and specific usage options than what Annvix attempts to do at boot (largely to avoid tampering too heavily with the filesystems). Each filesystem makes use of it's own tools for repairs. Generally speaking, the /sbin/fsck(8) tool will check and repair filesystems; it is a front-end to other tools that do the actual checking and repairing.

  • ext2: /sbin/fsck.ext2(8) or /sbin/e2fsck(8)
  • ext3: /sbin/fsck.ext3(8) or /sbin/e2fsck(8)
  • XFS: /sbin/fsck.xfs(8)
  • ReiserFS: /sbin/fsck.reiserfs(8) or /sbin/reiserfsck(8)
  • Fat32: /sbin/dosfsck(8)}

Modifying Filesystems

Some filesystems offer the ability to resize and otherwise modify filesystems.

  • ext2: /sbin/resize2fs(8)
  • ext3: /sbin/resize2fs(8)
  • ReiserFS: /sbin/resize_reiserfs(8)

References

<< Return to User Guide





Sponsors: Credit Card Consolidation - Internet Marketing - Loans - Credit Cards