GoboLinux Rethinks The Linux Filesystems
dolbywan_kenobi writes "GoboLinux is an alternative Linux distribution which redefines the entire filesystem hierarchy. In GoboLinux we have paths such as /Programs/XFree86/4.3/ and /System/Settings/BootScripts/Reboot." By design, GoboLinux is quite a bit different from most Linux distributions, and -- notably -- is a live ISO, always nice.
I'm not a fan of Windows at all, as a matter of fact I can't stand it. However, it would be unwise to dismiss things purely because they are similar to how Windows implements them.
Just my 2 cents...
I've always held that the filesystem organisation in linux is the primary reason that new users find it hard to get to grips with. Names like etc, bin, var, usr, are meaningless to newbies, and novice users can get confused with /usr/local/share vs. /usr/share
Hopefully gobo have also sorted the Installing-a-program bomb-blast, i.e. as soon as you install something it scatters a million files all over the filesystem in different directories that makes it impossible to keep track of and (sometimes) impossible to completely remove if you compiled it rather than used a package manager.
It's about time this was re-vamped if linux is to become a viable desktop OS.
Kind of stupid that since M$ is evil, you automatically declare everything about them wrong and anything else to be better. M$ has the most understandable file system I have ever seen. Extensions are a huge plus. Drive letters instead of arcane codes specifying various IDE devices, etc. Anyone should be able to use a computer without knowing a damn thing about it, beyond the input and output.
What I don't like about the M$ scheme is that they still wont accept "/" instead of "\", and they have a real boner for treating compressed files as directories.
Maybe we should have a file system like Windows, such as: /XFree86 /Program Files /Documents and Settings
/bin /sbin /usr/local/bin /usr/local/sbin /etc /lost+found ??!!! It's so confusing trying to figure out what goes where. And when they ask for help, someone tells them to just do a "rm -rf" in the root directory. Brilliant!! Part of Linux's problem is its insane file structure. Even I can't find things sometimes, or at least wonder why in the world some things are where they are. Couple that with the fact that every distro sticks things in different places and you've got a real mess on your hands. Just look at the state on fonts on XFree86. Why do we need so many font directories?
etc...
It would sure simplify system adminstration for those coming from a Windows background. Do you know how confusing for a newbie it is to see directories like
This is a terrible idea... It makes a complete mess of the Unix filesystem, just so that the distro maker doesn't need to edit /etc/ld.so.conf to include /usr/lib as well as /lib
The only minor problems I have EVER experienced with libs/headers is that some will install themselves in a subdirectory, and software that uses it expects it to either not be in a subdirectory, or expects the subfolder to be in the LD/C/CPP path. That is easilly fixable, and this distro doesn't address that issue at all.
Hey, why make a mess out of the Unix filesystem anyhow??? If you want is a bit less complex, throw in a few symlinks. No need to cause all sorts of #%@^ to happen with this type of hack.
Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
I suspect this system will be quickly snubbed by the Linux elite who actually spent days and hours learning the arcane Unix/Linux directory structure. (The "We've all mastered it the hard way, so you should too!" mentality). This mentality is so pervasive on Slashdot. Every time someone says something the tiniest bit negative about Linux usability, a bunch of people post comments to the tune of "Linux isn't for inexperienced people like you" or "Go back to Windows" etc. This kind of thinking is part o what is keeping Linux out the mainstream. What's odd is that many of these same people espouse the Mac OS X for its ease of use and simplicity of design. "It's so easy even my grandmother can use it!" they say. But if they curse their grandmother for trying to use Linux because she's not skilled enough. Huh??
If you think the Unix filesystem isn't a mess currently, then either you have to look again, or you're using a floppy distro under 2 meg in size.
Even when you know what each directory is meant to have in, which the rather excellent LFS is good at doing, it's still an awful system. In fact, if you know where everything goes and why, it's even harder not to consider it a bad system. Unix was alright in its day, and certainly better than some other popular operating systems around now, but I'd hardly claim that the standard filesystem for Unixes is anything but a hack upon a hack upon a hack.
Personally, I really liked the idea of reorganising directory structure. Unix isn't perfect, and can, in many, many, many ways be improved.
"Anyone should be able to use a computer without knowing a damn thing about it"
No. Stupid people should not be allowed to use computers. People should know how to use computers, not how to click and drool.
Stupid people sitting at a keyboard are hazards to the rest of the computing world. They wreck data, they spread viruses, the break hardware, they waste IT support time, they cost businesses money.
If stupid people were kept away from keyboards and stayed at home in front of a TV set where they belong and left the computing world to those that understand it, things would go smoother, there would be less computer problems,far less virus problems, much less IT support time wasted, and business would save a lot of money..
I fail to see why computers should be dumbed down for the dumb. It makes no sense.
Don't understand your computer?? Stick to your Playstation 2, and use your Gameboy as your PDA..
Allow me to expand a little on why this is the case:
Case-insensitivity is a complicated business as soon as you leave the simple domain of the english language, and this is the reason you usually only head english-speaking people wanting case-insensitive file systems.
An example: German has a letter ß, which in upper case becomes SS. tchüß -> TCHÜSS. Now, when lowercasing, you can't just map SS to ß, instead it becomes ss. I.e. TCHÜSS -> tschüss.
Do you start to realise the implications this has on a case-insensitive file system? (the question to answer is: is "tchüß" and "tschüss" considered to be the same file?)
It gets worse. In french, as spoken in france, the letter ë is converted to uppercase E. I.e. citroën -> CITROEN. But in Canadian french, it becomes Ë. I.e. citroën -> CITROËN.
When you start to bring in other languages, for example the Japanese full-with and half-width latin characters it starts to get really messy.
In order to handle all of this in a case-insensitive file system the file system itself needs not only to be aware of the intricate details of character encodings and casing for different languages, every single file system operation would also have to look at the currently selected locale in order to determine wether two names are equivalent or not. If you believe this is simple, read the FAQ's at the Unicode site and you will never again suggest that the file system should be case-insignificant.
However, making a user application work independently of case in file names is a reasonable idea. However, it would have to be specified by the UI framework, for example Gnome. I'm not sure exactly if that idea would work at all since I haven't given it much thought.
I'm so happy the Unix file system is case-significant.
That wasnt the point dumbass. YOu are able to drive your car, but a computer automatically calculates the gas/air ratio, when to shift, when to stop accelerating the back left tire because it's slipping, and you shouldn't have to know how your power stearing works or that you even have power stearing. You shouldn't have to know how to make gasoline or how oil is purified. You shouldn't have to know how your lights work inside or outside the card, how the dimmer switch dims your radio too, or even how the speedomoter knows that your going 40 MPH. You shouldn't have to know and measure the optimal running temparature, and you shouldn't have to open your gas tank to see if you're running low on gas.
In short, cars are made easy so that everyone can use them for a benefit for themselves and others. They don't have to know how they work in order to use them. Computers should be the same way. Users shouldn't have to know how a TCP/IP stack works in order to use the internet.
I am glad you said that, sir. A long HEX string to represent an Outlook "identity"? Why not just name it the name of the identity, or the numerical order in which it was created? For that matter; why not put the danmed thing with the rest of the users' "Application Data" for chrissake?
Of course - because the NT filesystem layout is designed for a single user with multiple users kludged on top. Putting people's application settings (/data) as a trailer of the Windows install directory? So now we have to hunt down their individual Application Data as well as the "Identities" for their mail client (Oh, and unless you've backed up their Outlook identities from their original, fully functional copy of Outlook, you can't get them back. Mail folders and address book, fine, but not their account information. What an architecturally advanced system!)
And drive letters? Forget the first three (A, B, C) - they're reserved. Floppies and boot volume. The next one or two are scrapped for removeable media (DVD-R and CD-RW?), then something like Nero creates a virtual CD-ROM image device, let's call it 'F'. Now we're fundamentally limited to 20 additional drives/partitions - including network mounted filesystems - in our "easy to use" filesystem design. Is it any wonder NTFS now has the functionality to mount volumes as paths? Why, isn't that just emulating the sensible UNIX method that's been around for years? What happens in Windows when the, oh, say, \Windows directory gets a tad full? \Program Files perhaps? Well, we'll just remove \Windows\Fonts to a separate volume... Wait! Drive letters don't do that! Let's look to UNIX for answers!
Now we move on to "Program Files". What an oxymoron that is! Half the installed application gets dumped into \Windows\System anyways, which forces you to go through "DLL Hell" trying to uninstall any application. "I don't know, it's shared, but are other programs relying on it? Will my system cease to function if I say 'Yes' to any of these 54 'Shared' DLLs?"
"My Documents"? One folder, stamped on the root of the filesystem? What is it, the computer's documents? But wait - Win2k and XP have moved it to the oh-so-simple to find (not to mention making so much sense) location of "\Windows\Application Data\Username\My Documents". Sure; I'll bet any joe blow can find their documents there! (Doesn't the Windows directory come with a disclaimer that you'll irreparably damage your system if you touch the voodoo within? But how will I ever retreive my "My Documents" shortcut, errantly deleted from my desktop! My documents can harm the system? (Well, macro viruses, but hey ... ))
Now then. "Temporary Internet Files". Great idea; now if only they'd stop defaulting the bugger to 10% the total drive space! NO, I would not like to dedicate 12GigaBytes to temp files, thankyouverymuch. Same goes for you, Mr. Recycle Bin! I have to purchase a spare 40GB drive just to give me the 120GB I initially paid for!
BD Phone Home!
Shameless plug. Like you weren't expecting it.
I beg to differ. I think people SHOULD know how things work. People seem to know which celebrity is bopping which celebrity, what they ate last, what their farts smell like, what color underwear they wear but they have no clue how to use a standard transmission, have no idea where oil or gas comes from beyond the pump, no idea what that big thing is under the hood and the vast majority have no idea how to even change a tire.
Dumb people do society no favors. They contribute nothing to the betterment of mankind. They are for the most part, burdens because others have to carry their burdens for them. If people would spend more time improving themselves and less time worrying about other poeple's business the world would be a better place and they would be better off as people and could actually contribute something to society.
We are here to better ourselves, not to be stupid cattle consumers. Do you want to go through live being a dumb consumer? Personally, I take everything I get apart and learn every thing I can about it. I *LIKE* learning, it's GOOD.
Just being dumb lemmings is a terrible waste. There is more to life than 24/7 parties, booze, football, TV...
Work to better yourself and you help to make the world a better place. Ignorance is not beneficial to anyone...
You have no right to judge how people live their lives. Disagree if you want, but don't go feeling all smug and supperior because you're doing something that other people aren't. That's just ego stroking over your hobby.
Do you understand anything about people? Different people are different in different ways. While you may like to think that people don't want to sit down and understand are stupid, you're ignoring people who don't have time for things, or simply aren't interested in learning something. Part of how humanity has moved forward (besides designing tools that reduce work by not forcing you to spend years in university for every appliance you own), is by specialization. I can't know everything about everything if I want to get anywhere in life. As early as grade 9 I need to start specializing the classes I take towards an eventual career if I want to be in that career by my mid-20s.
If thinking you're better than other people because you know about computers is how you base your fragile ego, I really want you to go outside into the real world and do some growing up. Your intollerance is disgusting. Grow up. No one is better or worse than anyone else because of what they know, people are only better or worse because of how they act. Your actions leave much to be desired.
People like you are the reason that most people stop reading Slashdot or Kuro5hin.
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
Your analogy is damn near perfect, although it might not get you the conclusion you want. In "Seeing Like a State" James Scott argued that all sorts of government actions are driven by the need of government to re-shape society so that it is more comprehensible from the point of view of government beaurocrats. He gave street plans as an example. In old cities you find very complex street layouts, with lots of twists and turns, and dead ends, and different sized streets. Locals who live in these places have no problem understanding all of this and finding their way around. In fact these old disorderly layouts often make a good deal of sense given the local geogrpahy. Still, to outsiders who visit, and to the government that is trying to manage all of this, it looks like a mess. They much prefer orderly grid layouts that can be comprehended at a glance, and managed easily.
I think the situations with the layout of Unix filesystems is very similar. "Locals" have no trouble finding their way around, and even find that the layout makes a good deal of sense. Unfortunately Unix is getting a lot more visitors than it used to, and those visitors are starting to feel like tourists in Venice (i.e. lost). If you want those visitors to find Unix "useful" rather than "quaint" you need to re-think the street plan.
I've been suggesting this for a long time, and I usually only get blank stares. I have yet to find ONE good reason to maintain the "traditional" unix filesystem layout on a desktop machine (well, even server, but let's not go there).
/apps/[appname]
/apps/[bin,lib,doc,conf] if you wish, like Stow does.
/sbin) live in a mirror structure at: /sys/[appname]
/sys dir.
/etc.
The Unix tradition of splitting up applications by *type of content* instead of *application* is crazy. Thre are two bad reasons: 1) "Hey, I can throw every little binary in 'bin', go me!" 2) "Hey, I can throw every little library in 'lib', go me!". Parts of an application are hardly ever dealt with seperately. Does anybody install only the binaries of an app, and not, say, it's libraries?? or it's docs? No, these all belong to a cohesive unit that should be installed, uninstalled, moved, and run together.
As for #1, when your primary interface to the OS is a GUI desktop, having every piddly executable on your system in one directory doesn't really confer any benefit. As for #2, not all applicatinos need to use all other applications to begin with, and for those who do, why should those libraries not then be considered reusable common libraries, and then and only then, linked or put in a common place?
The system i'd propose would look something like this:
all applications have a structure like:
[appname]/[bin,lib,doc,conf]
All user applications live in:
You may choose to symlink the nested app dirs into
All "system" apps (e.g. stuff that is typically in
Again, any utility binaries or common libs *may* be symlinked into the base
Application configuration would live with each app, no more throwing every fscking config file into the mud pit of
Things like 'man' would index *into* the seperate app dirs, not the other way around.
It's 10 PM. Do you know if you're un-American?
Bitch bitch bitch bitch bitch. Wow, I'm really suprised at the venemous reaction from you guys. Now, no matter what you think of this idea, some of the things I've seen posted here are disgusting.
All this is is a different filesystem in ONE distro. It's not being federally mandated, nor is it going to become a standard that you have to deal with. It's one group's solution to what they perceive is a problem. If you don't want to use GoboLinux, then don't. There's no reason for everybody to pull out their pitchforks and torches.
I even read some post where the guy said something along the lines of I hope they die a quick and painful death. That's fucking pathetic.
"Freedom is letting people do things that you don't like." -Linus Torvalds
I am glad you said that, sir. A long HEX string to represent an Outlook "identity"? Why not just name it the name of the identity, or the numerical order in which it was created? For that matter; why not put the danmed thing with the rest of the users' "Application Data" for chrissake?
/mtn/server/directory.
/bin, /sbin, /usr/bin, /usr/sbin, /opt/bin or some other place.
Yes, that's a real os problem there. Good thing Mozilla doesn't put all your information into a randomly named directory. Sheesh. (Ok, so it may not be random, but it's different on every machine I've ever used; I haven't bothered to look up their method of determining the name of that folder. You can change it; that's just the default. But that doesn't stop it from being a funny practice that needlessly complicates matters.)
Now we're fundamentally limited to 20 additional drives/partitions - including network mounted filesystems - in our "easy to use" filesystem design. Is it any wonder NTFS now has the functionality to mount volumes as paths?
Yeah, it's a good thing that Windows hasn't used unc names since at least win95 and NT 4. Oh, wait a minute, they have. Typing \\server\directory is sooo much more difficult than
Now we move on to "Program Files". What an oxymoron that is! Half the installed application gets dumped into \Windows\System anyways, which forces you to go through "DLL Hell" trying to uninstall any application.
Yeah, I hate it when an os has all these shared libraries living in different directories and programs require a specific library. I never know if it's in
But wait - Win2k and XP have moved it to the oh-so-simple to find (not to mention making so much sense) location of "\Windows\Application Data\Username\My Documents".
So, have you ever used w2k and xp or have I just been trolled? I guess c:\documents and settings\USERNAME\my documents is too difficult? That's the default location and has been for several years.
So I guess my question is, did I just get trolled?
I don't think he needs a lecture. We all know the reasons why they slowly added new directories.
/usr/local/X11/bin and /usr/local/java/bin. This is not acceptable.
And they are all asinine.
Users want stuff to work. They don't care that 20 years ago hard drives were too small to fit all your files or that some weirdo grouping of your programs allows you to share parts of the installation across your non-existant network of linux machines. My login script has over 60 lines dedicated to finding moron binary directories like
I'm not sure if this gobolinux stuff is the solution but at least it isn't happy with the status quo. IMHO the biggest problem with linux is that the users don't think there's anything wrong with it.
What did you eat today? http://www.atetoday.com/
A severely bad idea.
A lot of systems I maintain have NFS-mounted home dirs - /home/ is on another machine.
When the sh*t hits the fan, I need to be able to log in - as root. The last thing I need is root's home dir inaccessible.
There are decades of wisdom behind Unix, most of which I have no desire to re-learn. Not broke ? Don't fix.
Cheers, Andy!
Andy Rabagliati
>>I even read some post where the guy said something along the lines of I hope they die a quick and painful death. That's fucking pathetic
This is why Linux will never succeed on the desktop. The guy is making a change that could improve usability. It may work. It may not. But before it is given a chance to succeed, all sorts of losers come out of the woodwork and denounce him for even trying.
I think that most of the resistance to gobolinux has to do with the fact that it's different, not on any merits or faults of these differences. There are a whole bunch of UNIX geeks out there, especially in the university environment, who would lose their jobs if UNIX were easier to use and more intuitive. Just because you're semi-autistic and can manage to hack out UNIX commands and use the CLI doesn't mean that you're smart, or elite or anything else other than that you have a memory for arcane trivia.
/home to /Users. This is not less confusing, only confusing in a different way. Why would a user be looking for his files under a directory called Users (even supposing he was browsing from / to begin with?)? To the kind of nonsavvy person this is supposed to cater to, Users is not going sound like a place for users personal files, it just sounds like it from the perspective of engineers who are used to thinking in such terms. An average joe is much more likely to descend into a directory called home to see if it's his home or not.
/Users and not /users? The capital letter wont really matter to your desktop users, but it sure as hell matters to a command line junkie. Tab completion is case sensetive (even on OS X where the filesystem is not) and over time it's a LOT more effort to hit SHIFT+U than it is to hit u.
I think most of the people cheering gobolinux on are doing it out of ignorance. A few probably are well aware of what it all means, and I am eager to hear their reasoned opinions.
It's got little to do with it just being different. Okay, some (ie "It's different but not better so why change it at all?"), but not much.
Gobolinux proposes changing
And notice the difference here... why
I could continue like this, but I'm sure you get the idea. There are good reasons for the way things are, it's not simply a matter of intertia (although, admittedly, a lot of it is) and it is most certainly not simply a desire of the elite to keep themselves in power.
I once advocated radical changes such as gobolinux proposes, but then I investigated why things were. And once you know why, it becomes very hard to argue to change. You become aware of what kinds of problems must be taken into account. I am sure most Linux distro's have had someone do what I did, and they seem to mostly reach my conclusion: It's hard to change, there are too many technical reasons why it might be a disaster, too many personal feelings are involved, and the system as it is Works Now. If it aint broke (or at least if it aint real broke) don't fix it.
I want my Cowboyneal
"Those who don't understand UNIX are condemned to reinvent it, poorly." -- Henry Spencer
Score:-1, Funny
Well, to be honest, it's decades of tradition not wisdom. There's not a lot of wisdom in names like /usr and /etc. Wtf are they supposed to mean? Yes, *I* know what they mean, but I've been using UNIX for more than a decade. I'm not going to fool myself into thinking they're good names.
Though that I can agree with. However the joy of Linux is that people can take it in a new and interesting ways. If this guy wants to do this then more power to him. I'd be interested to see if the idea becomes popular.
Though surely this would have been easier with a VFS view in GNOME or something.
It was called "SCO OpenServer 5", and I first used it in 1994. It was hideous. Any time you installed a traditional unix program you shat all over the symlink hierarchy and generally hosed something.
It made mangement of vendor supplied packages slightly simpler, but the whole point of open systems is that you are not locked into dependence on your OS vendor!
-- veni vidi nuclei deceri --- I came, I saw, I dumped core.
Great idea, except that everyone who reads the manual (ahem) will set the root user to 'gobo' and the password to 'gobo'. :-)
Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
Now *that* is funny .
:)
Thanks to all of you guys... this has been hilarious to read.
I think the funniest thing is that all of you are at least partially correct.
Here's a little idea... take a walk, clear your heads, and try to think about how the other 'side' could have a valid point, even though it doesn't exactly agree with yours.
It just seems to me that most of these debates get so heated and out of control because the people involved in them are too close-minded to realize that there is a chance that their own opinion may not be 100% correct, or complete. It's like fricking Congress... Democrats on one side, Republicans on the other, and NOTHING gets done. Here's the thought process, IMHO:
"I am right and you are wrong"...
"I may not be right, but you are still wrong"...
"You may be partially correct, but I'll be God damned if I'm going to admit it to you"
But ya know... why should I be telling you this? If you all take my advice I won't be able to laugh at your posts... hmn... yeah, I know... that was a bit condescending. Maybe I'm hoping I get some juicy replies to this... that I can laugh at.
I guess time will tell, maybe no one will reply because they have taken my advice, and world peace will ensue!!!! well anyhow... off to bed.