[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

    • Too many middle managers at these big companies are the problem imo. The guys under them do all the work but these VPs or PMs fight with each other in order to move up the ladder which just messes things up.
    • Microsoft lifts another long-standing Windows 11 24H2 block, allowing more people to upgrade by Taras Buria In October 2024, Microsoft released Windows 11 version 24H2 with quite a long list of known bugs and upgrade blocks. Ever since, Microsoft has been slowly patching those bugs and lifting blocks one by one. Now, the company is removing another upgrade block, letting more Windows 10 and Windows 11 users upgrade to the latest version ahead of the upcoming end of Windows 10 support. The block in question affects PCs with Easy Anti-Cheat, an anti-cheat solution embedded in many popular games, such as PUBG or Fortnite. According to the official documentation, the compatibility issue affects systems with Intel's Alder Lake+ processors and the vPro platform with Easy Anti-Cheat drivers released before April 2024. Affected systems crash to the blue screen of death (now black screen of death) with the "MEMORY_MANAGEMENT" error. However, blue screens of death do not occur if games do not use outdated drivers that are present on the device. The upgrade block was placed on September 30, 2024, and now, nearly ten months later, Microsoft has lifted it. As of July 24, 2025, affected systems can finally install Windows 11 version 24H2 via Windows Update. Note that Windows Update might still prompt you to update games that use an incompatible Easy Anti-Cheat version. Compatibility issues with Easy Anti-Cheat are only present in Windows 11 version 24H2, so if you are running older Windows 11 versions or Windows 10, there should not be any crashes, even with outdated drivers. Windows 11 version 25H2 is coming in a couple of months, but its predecessor still has several upgrade blocks in place. There are compatibility issues with Intel Smart Sound Technology drivers, hanging apps that use the camera, audio output losses on PCs with Dirac Audio, and sprotect.sys driver issues.
    • XRECODE3 1.169 by Razvan Serea xrecode3 is a converter and audio-grabber which allows you to convert from mp3, mp2, wma, aiff, amr, ogg, flac, ape, cue, ac3, wv, mpc, mid, cue ,tta, tak, wav, wav(rf64), dts, m4a, m4b, mp4, ra, rm, aac, avi, mpg, vob, mkv, mka, flv, swf, mov, ofr, wmv, divx, m4v, spx, 3gp, 3g2, m2v, m4v, ts, m2ts, adts, shn, tak, xm, mod, s3m, it, mtm, umx, mlp to m4a, alac, ape, flac, mp3, mp4 (using NeroAAC), ogg, raw, wav, wav(rf64), wma, WavPack, mpc, mp2, Speex, ofr, ac3, aiff, tak, snd and Shorten formats. Command Line parameters are supported. XRECODE3 features: Works on XP, Vista, Windows 7, Windows 8, 10 32/64 bit versions and under Wine. Parallel conversion by utilizing power of multi-core CPUs. Support of embedded CUE sheets (for FLAC, WavPack, APE and TAK files). Support of mp4, mka chapters (can split mp4, mka by chapters to any supported format). Built-in Metadata editor with Cover Art support. Has support for LossyWav. Supports portable mode. Merge input files to one large audio file and create CUE sheet. Converting to many formats at once using "Multiple" output mode. Grabbing of multi-channel Audio CDs to the desired format at once. Informative and resizable UI suited even for netbooks. Extracting audio from flv, avi, mov etc. video files (multiple audio streams are supported). Can export/import Metadata to/from external file. Support for 24/32bit audio files. Multilanguage support. Currently program is available in Dutch, English, French, Japanese, Korean, Polish, Russian, Hungarian, Italian, Spanish, Spanish Traditional, Swedish, Brazilian Portuguese, German, Finnish, Bulgarian, Czech, Danish and Chinese (simplified) languages. What's new in XRECODE3: Native 64bit support. Added support for DSD/DST and DFF formats (including handling of SACD ISOs). Added option to extract audio without transcoding. Added option to encode several files to one multi-channel file. Added option to split file into individual track-per-channel for all available output formats. Added option to merge files per folder. Output and Metadata settings are now output format specific. Enhanced Metadata settings. Added support for multiple Cover pictures in Metadata editor. Added 32bit int/float output for formats which support them (e.g. WAV). Added dithering option in Output Settings. Added option to use EBUR128 in Normalize. Added option to Album Mode Normalize. Added option to configure Matrices under Output Settings. Added more output file pattern elements. Tabbed UI. CUE files are now displayed more nicely. Enhanced Shell Extension. XRECODE3 1.169 changelog: FIX: resolved an issue where playlist file names was created with 2 dots before the file extension. FIX: fixed issue with encoding some files to ac3 format. Download: XRECODE3 v1.169 (64-bit) | Portable | ~30.0 MB (Shareware) Download: XRECODE3 v1.169 (32-bit) | Portable Link: XRECODE3 Homepage | XRECODE3 Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • So... Tesla fails, SpaceX fails, not Starlink... I guess karma is a bitch...
    • Basically, they can hire someone with less skill for a lower wage, for example from India, and use AI to bring that employees output up to the level of someone more experienced and expensive. It’s a broad cost-cutting strategy, and plenty of companies are already doing it. With AI involved, the employee just needs to check that the AI's results aren’t complete junk. They don’t actually have to know how to produce the work themselves. You just get one high level employee to triple check who does. The workflow looks like this: AI generates the content, a low-skilled worker filters out anything clearly broken or wrong, and a high-skilled worker gives it a final pass. Instead of hiring a full team of experts, companies can rely on a few at the top while AI and cheaper labour handle the bulk of the process.
  • Recent Achievements

    • Week One Done
      Itbob513626 earned a badge
      Week One Done
    • One Month Later
      Itbob513626 earned a badge
      One Month Later
    • Rookie
      EdwardFranciscoVilla went up a rank
      Rookie
    • Week One Done
      MoJo624 earned a badge
      Week One Done
    • Collaborator
      aeganwn earned a badge
      Collaborator
  • Popular Contributors

    1. 1
      +primortal
      619
    2. 2
      ATLien_0
      242
    3. 3
      Xenon
      160
    4. 4
      Michael Scrip
      123
    5. 5
      +FloatingFatMan
      123
  • Tell a friend

    Love Neowin? Tell a friend!