Find the answer to your Linux question:

View Poll Results: What do you think?

13. You may not vote on this poll
  • Interested and would like to get involved

    1 7.69%
  • Interested but don't have the time or knowledge to help

    2 15.38%
  • Agree with the concept but would like to discuss the hierarchy further

    3 23.08%
  • This is just a dumb idea

    6 46.15%
  • I have no preference either way

    1 7.69%
Page 1 of 5 1 2 3 4 5 LastLast
Results 1 to 10 of 43
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1

    Question System Hierarchy

    Hello Everyone,

    I'm sure many of you have seen the extremely large number of requests online, for a new file system hierarchy in the Linux world. Mostly from noobs that can't get a handle on current FHS; however more recently a large outcry from developers, and the academic communities has been heard.

    Unfortunately for me, I do agree with the notion that our hierarchy has far out-lived its use. And because I agree with this I can not seem to get it out of my mind that I can help in doing something about it.

    I have completed a couple LFS systems and I already know there is absolutely no help provided for this area, in any of the released books. For a trial I decided to quickly lunge through the book making one change: I would keep the current directory completely intact and just change the names of the folders to something more user friendly. Example { lib = Library }

    The results was actually far better then what I anticipated.... It seems almost every program had absolutely no problems with the change, as long as during the configure process you stated the directory name and path. YES!!! it seems programmers remembered something from their studies, and used variables instead of hard paths.

    Of course there had to be a culprit... "Linux". That's right everyones' favourite kernel, and those programs that run the kernels file system such as dev and sys. Even more disturbing is reading the README files provided with them, where they flat out state a refusal to support an alternative folder name or path.

    OK that's only a couple programs, no problem. I can just change a few hardwired paths and were set! So I started all over again this time we will test actually changing the hierarchy to something more suitable to the methods requested by the complainers:

    ---->Run64 {only if a 64-bit system}
    ---->Lib64 {only if a 64-bit system}
    ---->Settings {think of /etc if you like}
    ---->Kernel {kernel related items in sub folders}
    ---->Root {Admin Programs... Every Program gets its own folder}

    Network {This folder is optional and completely up in the air as to how to structure it}

    Devices {Think of this as /mnt NOT! /dev}
    ---->You get the point!

    ----> Shared Account
    ------->Programs {inside every program gets its own folder}

    ---->{Some User}
    ------->Programs {inside every program gets its own folder}
    ------->Environment {personal application and environment settings for shared programs}

    Pretty nice huh? Clear logic, well defined folder names and structure, and just as secure. Notice the clear distinction of system from other program. Clearly user/root programs will not be in the path by default.

    It seems that a lot of the programs, although they let you choose the path to where to install their files ASSUME that every program must store their files there.... EXAMPLE: "I depend on program 'A' .... I was told my path is ../foo therefore program 'A' must also be located there!....... WRONG"

    I guess this is going to be a big process after all! I would like to get a group of people together interested in making this system a reality. So I am starting a poll to see how many people would be interested in working on such a system, and would appreciate any and all feedback.

    The good news is obvious. This system is in EXTREMELY high demand, do a few google searches and this will become amazingly clear. Thanks everyone.

  2. #2
    Super Moderator Roxoff's Avatar
    Join Date
    Aug 2005
    Nottingham, England
    I'm kinda torn here. While I like the current filesystem strengths, I do see many weaknesses. As you've thought about alternatives, here is what I like about the current system.

    - seperate /var - allows machine temporary data to be kept utterly seperate on a different hard drive or partition, really useful!

    - /usr/local allows you to mount apps locally while leaving normal /usr network-mountable, allows filesystems to be shared between machines for efficiency

    - for me /home is on a seperate drive too - it never gets overwritten, even on a complete re-install (mind you i've not done one of those for a while).

    - /etc keeps all the config in one place, changing that to '/settings' or something else doesn't seem to make much difference...

    - on my system every user gets their /home/<user>/Documents, and they can call it something else if they want.

    - mounted devices go in /media these days, dont they? They do on my system, that's actually a better name than your suggested '/Devices' which could be misleading.

    Anyhow, I've not voted on the poll; you're missing an option: 'I need more detailed arguments to be convinced of the viability of such a scheme because what we currently have is actually quite well documented, and actually works'.

    Contrast that with MS Windows, for instance, where apps can be installed anywhere, and user settings can be shuffled all over the place and exist partly in the user's settings area, partly in the registry, and partly in the apps install directory. And the filesystem can quickly run out of mount points, or 'Drive Letters' as DOS always used to call them (and I know you can mount a device anywhere not just on a drive letter in Windows XP, but again that's part of the problem, innit?)

    I think we're already much better off than Windows in this area, so what's the big deal?
    Linux user #126863 - see

  3. #3
    the big deal? --You are absolutely right.... I have not stated any reasons for why a replacement is needed. Let me hit up on some of the bigger points, that made me interested.

    Clear distiction between system and user applications....
    This is a major lacking area in the Linux community. While BSD and other unix's make an attempt at defining such things (rather poorly I might add), Linux tends to be just a goup of apps slapped together, in large disturbing circular dependacy array of a mess.

    The old FHS has every application broken into pieces and scattered across the system. Even most of the advanced users can't keep track of what files go with what application. How many programs out there named a file the same as someone elses file, sometime causing horrible clobber effects upon installation. Which in turn lead to a very disturbing trend of prefixes.... If I see one more KDE program start with the letter "K" I'm going to completely lose my mind. Every friggen item in every menu K K K are you "K"idding me?

    Package management systems had to be developed in order to put up with the mess we caused on ourselves. Providing another way of separating users from their system.... too many people are afraid to manually install programs now, and wait for it to be released in their "safe box" repositories. Think back to all the times a noob asked you..... "How do I remove this program" The answer for a user application should be this simple: "Delete the directory and if you have a shortcut on your desktop go ahead and delete that too"

    Cryptic folders ---- this one bothers me. Not as much as the responses I see some experienced users give, when a noob asks a question though. I know what etc means and so do you. Why? because we were forced to learn it that's why!

    Our current system is far too cryptic and for absolutely no good reason. Why can't the folder be called settings? Far too often I here people say: "Linux is not for novices, go back to Windows" First off, I want EVERYONE on linux. Linux is NOT hard, we make it harder and apparently for no better reason then to keep it hard on purpose. Like it or not people the system hierarchy IS THE SYSTEM to most people. User space needs to be as obvious and intuative as possible so we CAN get a huge load of noobs who don't run for the hills. Then when they see how easy and fun Linux is they can begin to learn the purposes of the system sub-folders, and how to contribute.

    And the number one reason of all. We are NOT!!! Unix guys. We are Linux. Linux means "choice". The ability to do what you want and build what you want. If I wanted a "safe" system that slowly moves along never takes any chances, and enforces standards on everyone to inhibit people from being truely inovative.... well then I guess I would go with BSD.

  4. $spacer_open
  5. #4
    I like the way the Linux filesystem is organized, but I will agree there is probably room for improvement. Still, I don't really want a directory named "settings" instead of "etc," but this may be because I've been trained to think in this way and having been trained in this way, I've come to like it. Of course, it's also because "settings" seems to me like an over-simplification of the directory's contents, and it's been a long time since I've wanted a computer to oversimplify for me.

    Overall, I think the names themselves are not bad. In fact, the initial limitation of not knowing what the names meant in part conditioned me to avoid playing with files in directories like boot, etc, dev, proc, and var. After I started to understand what went where, I gradually became more adept at customizing things. Thus, one incentive in complexity is that it prevents new users from totally screwing everything up before they learn what goes where.

    Beyond that, one limitation I see for new users, and a possible opportunity for improvement, is the repetition in naming. There's a lib and a bin in root, for instance, but they show up in usr. This might confuse new users, but I think it's also worth asking if we really want to change the filesystem simply in order to attract new users.

    I will agree that attracting new users is a noble idea, but I honestly don't think the filesystem is the biggest barrier to attracting new users. Indeed, some of the more popular distros now make it so easy to get a working system up and running that the biggest problem in terms of attracting new users at this point is simply the fact that many computer users have no idea there is such a thing as "Linux."

  6. #5

    Thanks for you honest feedback.

    it's also because "settings" seems to me like an over-simplification
    You are absolutely right! This will piss off a lot of current users. This is also the point.

    See people migrating to Linux are of two basic groups: A) I want to learn the system. B) I want a free alternative, or I just don't know if i want to support Microsoft

    "Settings" for group A says this is something I need to learn.
    "Settings" for group B says, stay clear don't ever touch, and I will be a happy person.
    "etc" for both groups says -- "???" It doesn't help either. The only persons that are going to like it are existing Linux users, who have become accustom to it.

    You see I have talked to a lot of noobs, begged and pleaded for most people to atleast try Linux. Group A - might want to learn the system, but at their own pace, and only the areas they are interested in. Having to learn EVERYTHING before being able to do ANYTHING sends these guys into depression, and they eventually either migrate back instantly or stick to a distro like "Ubuntu" where everything is done for them, they never learn anything, and eventually go back to Windows anyway, because they never encountered the funner sides of Linux, and Windows provides the apps they are looking for.

    possible opportunity for improvement, is the repetition in naming
    LOL .... I agree completely. Not even the distros themselves can agree what these are for.

    many computer users have no idea there is such a thing as "Linux."
    Sorry bud, I have to completely disagree with you here. I don't know anyone under the age of 35 who has not heard of linux.

    Unfortunately there is a lot of bad stuff being said, discuraging people from trying Linux. And for the most part. I believe it's our own fault. If we know that changing a few folder names would help people, and don't do anything about it. Then two seconds later spend months trying to redo, a technology that has been beaten with a stick a thousand times over, because we MIGHT be able to improve it. There is a problem.

    Every software company in the world will tell you.... the majority of their time and money is spent making sure their customers are happy and COMFORTABLE using their software.

  7. #6
    Linux Enthusiast
    Join Date
    Jun 2005
    The Hot Humid South
    Let me start out by saying: Why not comply but at the same time make revisions. Apple does somewhat the same thing as you're talking about. I think what would be a good idea is to make symlinks... eg:
    /Users -> /home
    /Devices -> /media
    Not sure how'd you implement the /Network and /System hierachy, much less actually understand how you came up with that.

    I do like how the FHS is currently setup, and think that it's the best possible solution for how large *nix systems can get. Don't think about it as "pieces of applications scatter everywhere" think of it as "every related file in the same place, configuration files in /etc, system binaries in /sbin or /usr/sbin, regular binaries /bin or /usr/bin, etc." In my opinion, the biggest confusion seems to be the actual naming of these directories, as opposed to their function. I really don't see how your alternate solution fixes any of these problems, users will still need to learn where things are and the naming convention. I, personally, can't figure out your system and how you figured it was "Logic" compared to the current FHS... then again, it's like you said: "choice".

    You also seem to be misleaded about a few things... let me address them one by one...
    - Package Managers weren't created because the file-system is a mess. They were created as a mean to distribute binary software as opposed to source. Some of them evolved into actually handling dependencies as well (think DEB and RPM). It's just easier to do "apt-get install <program>" and have the program than "./conifgure && make && make install" and hope it works.
    - BSD and Unix has the file system split up the same exact way, so I don't know how they "make an attempt at defining such things".

    Like I said, if you just don't like the way some of the directories are named, you can just add symlinks and tada, easier names. There are reasons why the FHS name things the way they do, first that comes to mind is short (they are all 3 letters long with the exception of /media) and easy to type (they are also all lower-case, no need to hit shift).

    This is already too much typing for me, so I'll leave it at that for now. Hope I got the points I wanted to make across... and think of them as constructive criticisim, cause that what I meant them to be.
    "Today you are freer than ever to do what you want, provided you can pay for it!" --Bad Religion

  8. #7
    Thanks for your responses. And don't worry I don't take offence very easily, and I see no comments in your response that could possibly warrent such a feeling.

    Not sure how'd you implement the /Network and /System hierachy, much less actually understand how you came up with that.
    /Network should have been left out as I have not researched enough to determine what I believe is the best course of action.

    /System was meant to simulate the same principals as that of FHS, splitting the directories up into managable areas that you all know and love: executables, configurations, libraries..... and so forth. See I do believe this system has its place, and its place is at the SYSTEM level NOT user level. This allows you to take advantage of things like: PATH

    But these are for system programs only! Think of it as your core distro. These files are not meant to ever be touched or managed by the user, unless he takes the time to learn how they work and interact with eachother. Utilities in the GUI or desktop should be all they need, again UNLESS they CHOOSE to learn the system.

    /users/{username} was meant to simulate a managable working environment, where everything is self contained! Each program gets its own folder for a reason. Nothings cluttered up with the core system, and new users can easily determine which files belong to the program they just installed and want to work with.... file management becomes a no brainer. If they don't like the application they were trying they simply delete the directory never having to worry about hurting the host environment. Again system file management is left upto the distro, unless the user chooses to make his way in there.

    /devices or /media I don't really care which one is used. they are both very discriptive and Roxoff brings up a valuable point that /devices may be too misleading.

    I hope this clears things up for you guys. See I like the separation of files when it come to system programs. It's extremely useful. But there has to be clear distinction between system and user.

    first that comes to mind is short (they are all 3 letters long with the exception of /media) and easy to type (they are also all lower-case, no need to hit shift).
    Come on man.... typing "user" instead of "usr" is not a big deal, besides which is mostly a mute point as most people I know use a front end GUI or desktop. You make the shortcut once and never worry about it again. And that's only if the distro wasn't nice enough to setup your menus and desktop for you.

  9. #8
    Sorry as for my comments about BSD trying to separate system from other programs.....

    They have a base system which they self maintain, all other applications they refer to as "ports". the reason I said they perform the job poorly, is because they end up shoving everything into the same folders anyway.

    As for the symlinks. I don't want a bandage solution, and I certainly don't want extra files hanging around. This would only encourage the user to think one thing is happening, when something completely different is actually occuring.

    I would like to see programmers use variables instead of hardlinks, thus promoting choice. That way if someone doesn't like FHS or my system, they can simply use one they like. Said it a thousand times. It has to come down to people free to make their own choices.

  10. #9
    Regarding new users, you write:
    They eventually either migrate back instantly or stick to a distro like "Ubuntu" where everything is done for them, they never learn anything, and eventually go back to Windows anyway, because they never encountered the funner sides of Linux, and Windows provides the apps they are looking for.
    I think here, and elsewhere, you are quickly generalizing for a large population (a population notably somewhat obsessed with difference). I don't know who has numbers on the amount of people getting into Linux and, beyond that, the number of people who return to Microsoft products or even possibly OS X. I have not, admittedly, spoken to many new users, but I have interacted with them on messageboards like this one. I can also speak for myself: I was recently a new user and I started with SuSE, a distro that still suits my need on one pc, and with that distro I was able to learn a lot even though it made my work very easy. My wife and stepson were able to easily acquire the skills necessary to navigate the new system and they have taken to it pretty well. The overall point is that these are somewhat dangerous and hasty generalizations. Can we really speak for new users and simplify them so easily.

    As for this last point:
    I don't know anyone under the age of 35 who has not heard of linux.
    it's obvious that we have totally dissimilar social circles. I know people who have heard of Linux, but rarely among these people do I discover that anyone has heard of it in anything other than passing detail. My mother works in a biotechnology firm and she and everyone around her use XP all day, but they've never heard of Linux. She's still only vaguely aware that it is some kind of software that does something different from windows. My uncle also works at a smaller biotechnology firm, and outside of the IT department, no one at his firm has any idea what linux is. They're not under 35, so perhaps they don't fit your generalization.

    Another friend is a graphic designer for Qualcomm here in San Diego, a technology-oriented company, and he's certainly heard of Linux and he was curious about it, but he uses OS X exclusively and really was not even totally aware that it was a comprehensive operating system. The same is true for most of my friends, generally tech-saavy people who work in offices or schools but not IT departments. The one exception of everyone I know is my brother in law, who builds servers. Based on this very small sample, I've come to the conclusion that Linux has nothing approaching a household name recognition among average computer users (a generalization, to be sure). We might tend to forget this (especially if we work in IT or related fields), but I think it's somewhat obvious. In fact, if more people knew about it (and its free beerness), I'd expect its popularity would see exponential increases (and perhaps consequentially: decreases).

  11. #10
    Linux Guru fingal's Avatar
    Join Date
    Jul 2003
    Birmingham - UK

    I like the existing hierarchy, but don't feel it's very descriptive or easy to navigate. I would like to see some aspects of it retained (not sure which ones yet) and some new features ... As long as any changes retain the overall 'feel' and / downwards structure, and as long as these changes meet with the approval of the vast majority of the *nix community.
    I am always doing that which I can not do, in order that I may learn how to do it. - Pablo Picasso

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts