I know everybody says EXT3 and EXT4 filesystems don't need defragmentation and in most cases, that's true! But sometimes they actually do need defragmentation. There is an entire discussion rather or not EXT3 needs defragmentation but I'll not get into that. It just depends on the way a filesystem is used, when it was last formated and how full it is.
The Filesystem in Userspace (FUSE) project allows you install new filesystems without touching your Linux kernel. The filesystems run as regular programs, allowing them to use shared libraries and perform tasks that would be difficult from inside the Linux kernel. FUSE filesystems look just like regular filesystems to other applications on the machine. In this article I'll look at compFUSEd, which is a compressed FUSE filesystem. Using compFUSEd can save a significant amount of disk space for files that are highly compressible, such as many text documents and executable files.
Suppose, you have three hard drives - sized 80, 40 and 60 GB. And 150 GB of music files, which you need to store on these drives. How would you do it?
This article explains basic commands for navigation within Linux file system. The diagram below represents (part of) a Linux file system. A line from one node to a node on its right indicates containment. For example, the student directory is contained within the home directory.
So you just bought an external hard drive for backups. Now, with what filesystem should you format it? Ext2? FAT32? No matter which one you choose, there are trade-offs to consider.
One of the main things that gets annoying with FUSE, or Filesystem in Userspace, is that it won't automatically mount a filesystem when you first attempt to access the filesystem. This means you must manually track mountpoints and specify what program to run in order to mount each FUSE filesystem. Placing the exact commands to mount each FUSE filesystem into shell scripts can make things a little easier, but with afuse, you can mount FUSE filesystems on demand without the need for any explicit mounting.
With MySQLfs you can store a filesystem inside a MySQL relational database. MySQLfs breaks up the byte content of files that you store in its filesystem into tuples in the database, which allows you to store large files in the filesystem without requiring the database to support extremely large BLOB fields. With MySQLfs you can throw a filesystem into a MySQL database and take advantage of whatever database backup, clustering, and replication setup you have to protect your MySQLfs filesystem.
Over time, a filesystem accumulates a lot of useless items. FSlint is a nifty little tool that helps you clean your filesystem by pointing out junk in the form of empty directories, corrupt symlinks, files with bad names, duplicate and temp files, and more. However, its usefulness is marred by a virtually total lack of documentation and a GUI that takes some getting used to.
Filesystems are usually created on a partition. When all your hard drive is already partitioned, creating a new partition can become a pain and creating a new filesystem within another filesystem file can save you a lot of hassles.