I want to understand the filesystem concepts of linux. I tried my best to collect info from internet before posting here .But I really got confused when i read lot of sites on internet..What i understood is

When an OS(Linux flavor) is installed first time a file system is configured automatically on the hard disk which is nothing but the root file system may be ext.Now there will be an existing directory tree structure .

Whenver we are booting up,root partition of the hard disk is mounted automatically to the root file system.(its there in /etc/fstab file).

When ever we want to view files in a storage device like floppy,usb etc we have to attach the device say /dev/cdrom to the existing root filesystem tree.command is mount -t iso9660 /dev/cdrom /mnt/mycdrom
I assume by default ext file system is there in the harddisk./mnt/mycdrom is a part of the file system tree in the hard disk. Why iso9660 type(standard file system for a CD) is explicitly mentioned here ?

Also please suggest me if there any site which can give me a clear picture of entire linux filesystems,partitions,installation ?

1 Answer
1

If I understand correctly, what you're asking in point number 3 is this:

The Linux partition (and all the files inside it) uses an ext file
system, so why do we mention iso9660 when we want to view a cdrom
(or ntfs if we want to view a Windows partition for example) when we
are actually mounting it on /mnt/mycdrom, which is part of the default ext file
system (root partition).

So here's my answer:

We specify the file system while mounting because we want to tell Linux how to read the data in this partition/device. All file systems have a different structure. For example, there's something called a "cluster" in a file system, and the size of this cluster is different in the different file systems. Let's briefly explain "file systems":

In a FAT file system, there are two tables: a FAT (index) table, and a directory table. These tables are the ones that say "this file is called text.doc, and it starts from this part of the partition, and has a size of this. This other file is called image.jpg, and starts from this... and so on. These "tables" are placed in a special static place at the beginning of the partition.

In an NTFS file system, there are different kinds of tables, using different formats.

In a CD (file system IOS 9660), there is a specific size of "unused" space at the beginning, followed by the data.

What I'm trying to say is that each file system has a different structure.

-t iso9660: this device uses the file system iso9660(so now, Linux will know how to read the files from this device, because you told it it's an iso9660 file system and Linux already knows/supports the file structure of iso9660 and knows where its tables are and all that).

/dev/cdrom: the device I'm trying to mount; the device I want to access.

So, this folder (or directory) /mnt/mycdrom is part of the default file system, which is the ext file system (the root partition). The directory itself technically does not have a file system of iso9660, but it's showing me the contents of a device that's using the iso9660 file system; it's acting as the starting point of that file system.

The thing about the Unix/Linux file structure is that everything is under one base, which is the root directory /; it's a hierarchical file system structure. Unix/Linux places all partitions and other devices under that root directory, that's why you really can't say that *everything* under that root directory is ext< Correct me if I'm wrong on this last statement too.