[FAQ] Linux File System Overview


Recommended Posts

  • 4 weeks later...
  • 1 month later...

Very interesting read, I've read the whole of Page 1 (slowly getting through Page 2). But I've been looking for this sort of guide to help me learn more about the folder...I mean, Directory Structure. I seriously did not know that a 'Folder' and a 'Directory' are two different things, but have the same result.

Directory = Physical (Think Command Line)

Folder = Graphical Representation of a Directory

Ext3 = /boot

Reiser3/FS = /root

What about a SWAP partition? Since we're on file structures, I'm confused about the following:

Why does Linux need 3 partitions to install Fedora Core or Gentoo when Windows only needs 1 partition?

/boot (+32M)

/swap (+512M)

/root (remaining space)

My incorrect theory (so please correct me):

- The kernel is stored in /boot as a compressed 2-4MB file.

- The reason it's stored here is because when you turn your system on, the MBR detects GRUB and loads up the kernel here as opposed to /root for file protection???

- /boot decompresses into /swap for your session (for some reason).

- /root all your files, system files...everything (except for the kernel).

^^ You can see why I'm confused.

  DjmUK said:
Why does Linux need 3 partitions to install Fedora Core or Gentoo when Windows only needs 1 partition?

/boot (+32M)

/swap (+512M)

/root (remaining space)

585662167[/snapback]

Linux can install just fine on a single partition, if you'd prefer it that way. Here's a few reasons why most distributions have traditionally used 3 or sometimes even more partitions:

- because it facilitates easier backups and reinstalls of the OS

- with a seperate /boot partition, your kernel can be placed in there and then the partition not mounted automatically at boot so that your vital boot files aren't available to be messed around with unless you specifically mount them

- using a swap partition instead of a swap file (linux can happily handle either) again prevents silly errors like people deleting the file by mistake and so not getting any swap space available at next boot

- using multiple partitions can just make managing your system easier - for example many servers use a seperate partition for /var which is traditionally where the http documentroot is on an apache webserver and also where the mail spooler normally resides on mailservers

- many people keep their /home mounted on a seperate partition which they mount from multiple operating systems - back when I used redhat 9 alongside gentoo, I had a seperate /home dir which got mounted from both distros, so I kept the same home folder all the time

Hope that gives you some idea of why multiple partitions are normally used.

Thanks rezza, I think I understand it all, and according to your notes hopefully this would be a possible partition table (3 HDDs):

hda1 /boot (kernel storage)

hda2 /swap (still confused as to what gets stored here)

hda3 /root (operating system)

hdb1 /home (personal files)

hdb2 /var/httpd/website_pages (client's web sites)

hdc1 /var/mysql_db (mysql database server)

For a mid-size business it would be better to have this (3 PC's):

PC1 - hda1 /boot (kernel storage)

PC1 - hda2 /swap (still confused as to what gets stored here)

PC1 - hda3 /root (operating system)

PC1 - hdb1 /home (personal files)

PC2 - hda1 /var/httpd/website_pages (client's web sites)

PC3 - hda1 /var/mysql_db (mysql database server)

^ I decided to make more then three partitions and reinstall Fedora Core 3 to see what the differences were.

I have two 20GB hard drives and they are partitioned as followed:

hda1 /dev/hda1 /boot reiserfs 102MB

hda1 /dev/mapper/VolGroup00-LogVol01 / reiserfs 5.2GB

hda1 /dev/mapper/VolGroup00-LogVol03 /tmp reiserfs 5.2GB

hda1 /dev/mapper/VolGroup00-LogVol07 /opt reiserfs 5.0GB

hda1 /swap swap 1GB

hda1 none /dev/shm tmpfs 251MB

hda2 /dev/mapper/VolGroup01-LogVol04 /usr reiserfs 5.0GB

hda2 /dev/mapper/VolGroup01-LogVol06 /usr/local reiserfs 5.0GB

hda2 /dev/mapper/VolGroup01-LogVol02 /home reiserfs 5.0GB

hda2 /dev/mapper/VolGroup01-LogVol05 /var reiserfs 5.0GB

So far I haven't seen any benefit in splitting it up like this, but I don't plan on changing it anytime soon though.

  DjmUK said:

hda2 /swap (still confused as to what gets stored here)

Swap= virtual memroy= page file in windows.

  Hurmoth said:
^ I decided to make more then three partitions and reinstall Fedora Core 3 to see what the differences were.

I have two 20GB hard drives and they are partitioned as followed:

hda1 /dev/hda1 /boot reiserfs 102MB

hda1 /dev/mapper/VolGroup00-LogVol01 / reiserfs 5.2GB

hda1 /dev/mapper/VolGroup00-LogVol03 /tmp reiserfs 5.2GB

hda1 /dev/mapper/VolGroup00-LogVol07 /opt reiserfs 5.0GB

hda1 /swap swap 1GB

hda1 none /dev/shm tmpfs 251MB

hda2 /dev/mapper/VolGroup01-LogVol04 /usr reiserfs 5.0GB

hda2 /dev/mapper/VolGroup01-LogVol06 /usr/local reiserfs 5.0GB

hda2 /dev/mapper/VolGroup01-LogVol02 /home reiserfs 5.0GB

hda2 /dev/mapper/VolGroup01-LogVol05 /var reiserfs 5.0GB

So far I haven't seen any benefit in splitting it up like this, but I don't plan on changing it anytime soon though.

585667869[/snapback]

Why all reiserfs? Ext3 seems to have better compatibility on Ubuntu.

  jack_canada said:
Why all reiserfs? Ext3 seems to have better compatibility on Ubuntu.

585667950[/snapback]

I was just playing around... I might switch them later on to see if there are any differences, but I'm satisfied with reiserfs right now.

  • 6 months later...

I have a doubt!

In windows there is a folder named "Program Files" In which by defauly all the files go into.. :sleep:

In linux for example, if I get a .bzip or .tar file I usually extract it to /opt folder and do a ./configure, make, make install. Actually In which folder in Linux is it **RECOMMENDED** to extract and Install? :blink:

---------------------------------------------------------------

Naveen Chandran

http:\\naveenchandran.blogspot.com

^^^ Only some of the stuff goes into "Program Files". There are .dlls and registry entries and so forth.

But *nix is set up for multi-users, so it is set up a bit differently. There is /sbin/ for sytem binaries (executables), /bin/ for all-user binaries that are part of the installation. Individual users can put their personal executables in the bin/ directory in their home, and "extra" apps that you (as sys admin) want all users to have access to are usually thrown in /usr/bin/ or /usr/local/bin/

I guess for a single-user machine, "Program Files" is fine. For a system that was designed for multi-user, though, it doesn't cut it.

  • 2 months later...

I have tryed linux, liked it, and headed back to windows. Why ? 'cause i got scared of the thought of learning a hole new file system! after this, i really have my head set on linux, wich pops 2 questions on my mind (and yes its only 2 questions :p)

Wich distro is more suitable to handle media, games, and all around fun? (Yes my computer is my favorite toy !)

How can i have complex games (like counter strike) on my linex (probably using wine, if you have a guide to this prog, please share :))

Thanks for the attention, and thank you markjensen and everione else, for showing that linux is not a 2 headed monster !

Which distro? All are about the same, and anything lacking due to potential patent issues can easily be added with a command or two. Same for games (though, it may be easier to keep Windows around for your easy gaming needs).

  • 1 year later...
  rockwolf said:
Recommended Link: (suggested to be added to first post)

Filesystem Hierarchy Standard:

http://www.pathname.com/fhs/

This is the basis of the layout of the *nix file system.

Good reference from my quick overview. (Y)

Added to first post. Thanks!

  • 3 months later...

A graphical example layout would probably be helpful, I'll make one when I understand it myself (which I more or less do, except for the no top-level hard drive thing. What is the utmost highest level?)

and, ****, I'd hoped I'd be able to get rid of the annoying 'all users' 'username' program folders nonsense. What if you're the only one using your computer, all the time, and are kind of a neatfreak to boot? Whatevs

Thanks for info.

  nilsHaus said:
A graphical example layout would probably be helpful, I'll make one when I understand it myself (which I more or less do, except for the no top-level hard drive thing. What is the utmost highest level?)

and, ****, I'd hoped I'd be able to get rid of the annoying 'all users' 'username' program folders nonsense. What if you're the only one using your computer, all the time, and are kind of a neatfreak to boot? Whatevs

Thanks for info.

Graphics would be nice! :yes:

As far as top level, that is the root, or "/". You can attach (mount) hard drive, networked drives and anything else to locations in the regular filesystem.

And, *nix OSes have been multi-user for a very long time, so the foundation to separate users is a fundamental part of the OS design. You can, however, run as root if you like, and symlink your bin directories to one common spot, if you like. However, if you ever do want to set up (for testing, or what-not) an additional user account, you kinda just screwed yourself and made things a bit more complex by doing by it that way.

EDIT: A few filesystem graphics for you to get ideas from, for starters can be found using Google Image.

Well, I don't know how things are the Linux way, but if you're intending to use multiple disks, consider using a volume manager. LVM or what it is in Linux. It treats all added disks as one large logical volume. I think that's preferable over mounting different drives in a specific locations and play the remaining disk space game for each of those mounts. Instead, set up your system as you want, and when you run out of space, put disk into the computer, add it to the LVM and grow the filesystem running out of space.

Myself I've been spoiled by ZFS and don't want to miss it (Solaris user). I guess under Linux, putting at least your home folders on ZFS/FUSE may be an option if it becomes stable in future, since those will be the ones growing out of proportions while the rest staying more or less stable.

Here, it currently looks like this:

root@bigmclargehuge:~ > zpool status
  pool: tank
 state: ONLINE
 scrub: none requested
config:

		NAME		STATE	 READ WRITE CKSUM
		tank		ONLINE	   0	 0	 0
		  c3d0s7	ONLINE	   0	 0	 0
		  c0d0s1	ONLINE	   0	 0	 0

errors: No known data errors
root@bigmclargehuge:~ > zpool list
NAME					SIZE	USED   AVAIL	CAP  HEALTH	 ALTROOT
tank					293G   68.9G	224G	23%  ONLINE	 -
root@bigmclargehuge:~ > zfs list  
NAME						 USED  AVAIL  REFER  MOUNTPOINT
tank						68.9G   219G  8.03M  /tank
tank/home				   65.5G   219G	21K  /export/home
tank/home/root			   336K   219G   336K  /export/home/root
tank/home/servo			 65.5G   219G  1003M  /export/home/servo
tank/home/servo/Documents   1.12G   219G  1.12G  /export/home/servo/Documents
tank/home/servo/LargeFiles  11.3G   219G  11.3G  /export/home/servo/LargeFiles
tank/home/servo/Music	   2.74G   219G  2.74G  /export/home/servo/Music
tank/home/servo/Pictures	1.10G   219G  1.10G  /export/home/servo/Pictures
tank/home/servo/Video	   48.3G   219G  48.3G  /export/home/servo/Video
tank/opt					 448M   219G   448M  legacy
tank/usr					2.87G   219G  2.87G  legacy
tank/var					82.0M   219G  82.0M  legacy
root@bigmclargehuge:~ >
  • 1 month later...
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Yes, the Control Pannel issue has been fixed. As I ask when people claim it hasn't, can you name a single thing in Windows 11 that can only be done by opening Control Panel? Your comment about Error 0x80070643 is so asinine that I debated if you were worth a reply, but here I am. The article mentioned a VERY specific issue with the WinRE partition size being too small in Windows 10 and preventing updates from being installed unless you reinstalled or manually fixed it. That issue does not exist on Windows 11, period. To point to random issues with Windows updates on 11 that don't affect everyone and don't involve that issue is being dishonest. Had the article said "Issues with updates, such as..." then I'd agree with you, but it didn't, it simply mentioned that one specific issue, which despite your claim, does not exist on 11 or on newer builds of 10 (so the article is kind of wrong, it did get fixed, just not gracefully). As far as UX/UI comes more down to opinion, but again, you are saying it is "terrible" which has nothing to do with consistency. Windows 11 has a more consistent interface. You are welcome to say it is constantly bad, but I don't see how any objective person can say it isn't more constant than Windows 10's unholy merger of Windows 7 and Windows 8. To be fair, I really like Windows 10's interface, it worked great, but was it consistent, NO, it was one of the least consistent interfaces MS has ever made. I agree with the lack of competition. Linux continues to get better
    • Microsoft isn't happy you're using unsupported Exchange versions, announces final deadline by Usama Jawad Earlier this month, Microsoft announced Exchange Server Subscription Edition (SE), which is the official transition of the product to the Modern Lifecycle Policy, where software is continuously serviced without an end-of-life date, as long as you keep it updated. It also revealed surprising, but brief, Extended Security Updates (ESUs) for Exchange 2016 and 2019. As it winds down support for these products, the company has expressed some displeasure that some customers are using even older and, obviously, unsupported versions of Exchange. In a blog post, the company has noted that it currently offers migration tools that enable the migration of public folders from on-premise Exchange 2013 or older versions to Exchange Online. This is by design, but Microsoft is now changing its tune on the topic. Starting from October 1, 2025, customers leveraging Exchange 2010 or older versions of the software will not be allowed to use Microsoft's tools to migrate their public folders to Exchange Online. Microsoft believes that this deprecation will reduce reliance on legacy systems and enhance "long-term service reliability". Any migrations that are attempted after the aforementioned date will fail, so Microsoft has urged customers to complete their migrations as soon as possible. If customers want to move their data to Exchange Online after October 1, they will first have to upgrade to a newer Exchange version, which is Exchange 2013, but it is important to keep in mind that supported versions are 2016 and 2019. Microsoft has emphasized in a rather stern tone that it does not encourage using unsupported versions of Exchange Server at all, and it has just put out this advisory because it is aware that public folder migrations from legacy systems are currently active, even though they shouldn't be. Needless to say, customers should upgrade to Exchange Server 2016 or 2019 as quickly as possible, but ideally, they should consider moving to Exchange Server SE at this point, considering that the other two versions are running out of support soon, too.
    • A little bit, yeah, if you ask me. Granted, he has the right to be upset with this jerk user that attacked him, but why drop the entire project just because of ONE person? Seems a little exaggerated.
  • Recent Achievements

    • Week One Done
      NeoWeen earned a badge
      Week One Done
    • One Month Later
      BA the Curmudgeon earned a badge
      One Month Later
    • First Post
      Doreen768 earned a badge
      First Post
    • One Month Later
      James_kobe earned a badge
      One Month Later
    • Week One Done
      James_kobe earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      673
    2. 2
      ATLien_0
      256
    3. 3
      Xenon
      165
    4. 4
      neufuse
      145
    5. 5
      +FloatingFatMan
      115
  • Tell a friend

    Love Neowin? Tell a friend!