Exploring the Common Linux File System: An Introductory Journey into its Depths

Exploring the Common Linux File System: An Introductory Journey into its Depths
Exploring the Common Linux File System: An Introductory Journey into its Depths

Exploring the Common Linux File System: An Introductory Journey into its Depths - The article explores Common Linux File System, including ext2/ext3 with journaling for consistency. Ext4 supports larger files, while XFS is known for high performance and is the default in Red Hat Enterprise Linux 7.

VFAT ensures compatibility, iso9660 is the CD standard, and UDF is prevalent in optical media. Swap isn't a file system, but it's crucial. Linux clusters use GFS, and other systems include reiserfs, zfs, and btrfs. Check supported file systems with /proc/filesystems.

Common Linux File System

ext2 and ext3

Once the most common Linux file systems is the ext2 (the second extended) file system. A disadvantage is that file system checks on ext2 can take a long time.

ext2 was being replaced by ext3 on most Linux machines. They are essentially the same, except for the journaling which is only present in ext3. 

Journaling means that changes are first written to a journal on the disk. The journal is flushed regularly, writing the changes in the file system. 

Journaling keeps the file system in a consistent state, so you don't need a file system check after an unclean shutdown or power failure.

creating ext2 and ext3

You can create these file systems with the /sbin/mkfs or /sbin/mke2fs commands. Use mke2fs -j to create an ext3 file system. 

You can convert an ext2 to ext3 with tune2fs -j. You can mount an ext3 file system as ext2, but then you lose the journaling. Do not forget to run mkinitrd if you are booting from this device.

ext4

The newest incarnation of the ext file system is named ext4 and is available in the Linux kernel since 2008. ext4 supports larger files (up to 16 terabyte) and larger file systems than ext3 (and many more features).

Development started by making ext3 fully capable for 64-bit. When it turned out the changes were significant, the developers decided to name it ext4.

xfs

Redhat Enterprise Linux 7 will have XFS as the default file system. This is a highly scalable high-performance file system. 

xfs was created for Irix and for a couple of years it was also used in FreeBSD. It is supported by the Linux kernel, but rarely used in dsitributions outside of the Redhat/CentOS realm.

vfat

The vfat file system exists in a couple of forms : fat12 for floppy disks, fat16 on ms-dos, and fat32 for larger disks. 

The Linux vfat implementation supports all of these, but vfat lacks a lot of features like security and links. 

Fat disks can be read by every operating system, and are used a lot for digital cameras, usb sticks and to exchange data between different OS'ses on a home user's computer.

iso 9660

iso 9660 is the standard format for cdroms. Chances are you will encounter this file system also on your hard disk in the form of images of cdroms (often with the .iso extension). The iso 9660 standard limits filenames to the 8.3 format. 

The Unix world didn't like this, and thus added the rock ridge extensions, which allows for filenames up to 255 characters and Unixstyle file-modes, ownership and symbolic links. Another extensions to iso 9660 is joliet, which adds 64 unicode characters to the filename. The el torito standard extends iso 9660 to be able to boot from CD-ROM's.

udf

Most optical media today (including cd's and dvd's) use udf, the Universal Disk Format.

swap

All things considered, swap is not a file system. But to use a partition as a swap partition it must be formatted and mounted as swap space.

gfs

Linux clusters often use a dedicated cluster filesystem like GFS, GFS2, ClusterFS, ...

and more...

You may encounter reiserfs on older Linux systems. Maybe you will see Sun's zfs or the open source btrfs. This last one requires a chapter on itself.

/proc/filesystems

The /proc/filesystems file displays a list of supported file systems. When you mount a file system without explicitly defining one, then mount will first try to probe /etc/filesystems and then probe /proc/filesystems for all the filesystems without the nodev label. If /etc/filesystems ends with a line containing only an asterisk (*) then both files are probed.

[kitsake@dlp ~]$ cat /proc/filesystems
nodev   sysfs
nodev   tmpfs
nodev   bdev
nodev   proc
nodev   cgroup
nodev   cgroup2
nodev   cpuset
nodev   devtmpfs
nodev   configfs
nodev   debugfs
nodev   tracefs
nodev   securityfs
nodev   sockfs
nodev   bpf
nodev   pipefs
nodev   ramfs
nodev   hugetlbfs
nodev   devpts
nodev   autofs
nodev   pstore
nodev   mqueue
        fuseblk
nodev   fuse
nodev   fusectl
        xfs
nodev   binfmt_misc
        iso9660
nodev   cifs
nodev   smb3
[kitsake@dlp ~]$

Conclusion

In conclusion, the article provides a comprehensive overview of diverse Common Linux File System. Each system, from ext2/ext3 to ext4, XFS, VFAT, iso9660, UDF, and swap, serves specific purposes in data management.

The significance of file systems like GFS, reiserfs, zfs, and btrfs is also acknowledged.

The article emphasizes checking supported file systems through /proc/filesystems, highlighting the importance of understanding and choosing the right file system for various needs in the Linux environment.

Bangkit Ade Saputra
Bangkit Ade Saputra At the end of the day, my job involves people. we're complicated, we're always changing, we have millions of things going on in our lives, and changing jobs is always a big decision.

Post a Comment for "Exploring the Common Linux File System: An Introductory Journey into its Depths"