“Lately, there has been lots of discussion on the current state of Linux as a desktop system, and articles pop up here and there, occasionally with very good ideas. However, none have surprised me more than this one. It was all very hyphothetical, but had pretty radical ideas on how the author thought the Linux directory tree should be reorganized.” Read more about GoboLinux, a Linux distro that uses a new style directory tree at Kuro5hin.org.
…Someone beat me to the punch. I’ve been working on this in my limited spare time since I read Adam’s article, as I thought he had some very good ideas.
Oh well, the project codenamed “Let It Scheinberg” will continue on anyway – just for my entertainment.
Now that’s too much! How can I not use your OS?
Are you thinking about using the MHS file system layout (http://mhs.sf.net)?
i’m sorry, it took me about 5 minutes to find out what /mnt, /home, /usr, /etc, etc meant. come on. this is another one of those lame “Is linux ready for the desktop” articles in disguise. who really cares if linux is on the desktop. and judging by the amount of articles written on the subject just tells me it’s not.
if you have an IQ of an ant, linux isn’t for you. if you wanna whine and cry about /mnt confusing you, then don’t use it. winblowz is a perfect OS for these types of people, it requires little or no thought process to operate.
Advice: stop posting/writing stupid “Is linux ready for the desktop?” articles. they are all old. they have no substance, and are usually subjective, cheerleading for one side or the other.
that’s my $0.02
if you wanna whine and cry about /mnt confusing you, then don’t use it.
Good idea. Or, even better, someone could make it better.
On a related note… I’ve never used any Linux system, but I get along quite easily in Mac OS X.
While I like the FHS and do not agree with Adam Scheinberg’s or this author’s ideas, you must admit that this is not a “linux for the desktop” article. He wasn’t recommending it to newbies, just reporting on how he created a system for himself and some small group of people.
I support his endeavours to build himself a custom Linux; however, I’d prefer it that the FHS remain the principal guideline. I’d certainly not like to switch.
“Simple” != “better.” I, for one, like the logic behind my root partition always being in /dev/hda3 on Slackware, Debian, Red Hat, SuSE, Gentoo, et cetera ad nauseam. Don’t knock it till you have a good reason (i.e. other than “Cuz it’s too complicated and too hard too install stuff and bad for newbies”).
If you need to transparently map in programs both from local disk and network volumes? The /Programs scheme can’t really handle that without a lot of crazy linking. Plently of desktop machines (specifically, managed desktops as in businesses and schools) need to do this. Without the assumptions built into the UNIX filesystem hierarchy, you need some sophisticated directory mounting features to treat a collection of remote and local directories as a single local directory.
I also think it’s a step backwards. In theory modern Linux distributions make it so the user needs to have no idea where their programs are physically installed. The package manager handles this transparently. Now it doesn’t always function like that, but going back to a manual program management paradigm hardly seems like the solution. I think this system mostly has a transitionary purpose. There are lots of users used to manually managing their program directories (Windows, OS X, and BeOS users) and for those users, this hierarchy probably makes more sense. But in the long run, I think it’s heading in the wrong direction.
I’m usually all for ease of use but remapping the directory structure is not the answer. Like one poster said, five minutes of reading the documentation will tell you where everything is.
“i’m sorry, it took me about 5 minutes to find out what /mnt, /home, /usr, /etc ” – Akira
Did it also take you 5 minutes to realise what /use/local/bin /usr/X11R6/bin /opt/qt-1.2 mean and do?
The unix filesystem simply isn’t as cut and dried as you’d like to make out. It never will be whilst FHS holds the keys to it.
Why is OSX so popular amongst Mac users?
Is it because it is a Mac? Possible.
Is it becuase it displays the entirety of the underlying BSD system to any user attempting to use it? Unlikely, and untrue.
Is it because Apple have actually discovered that a solid *nix underlay doesn’t necessarily have to be accompanied by an impermeable *nix style interface? Very likely.
Your beloved Linux needs to adapt to its users. *nix has been around for 30 years, there’s a VERY good reason it hasn’t achieved widespread desktop use yet … *nix people REFUSE to adapt. Which leaves us with precisely the same *nix/C/XWin paradigm as our ancestors had to face 10-20 years ago.
Thank god KDE/Gnome (And you other window manager/gui friendly developers I can’t remember right now) are trying to take it further.
A subjective opinion? Yes, I make no apology for it.
Is Linux ready for the desktop? _NO_, and it’s precisely because of blinkered, little, *nix elitist weenies like you.
Linux is a kernel, it’s dependent upon 3rd party software to even make it useable (Show me a worthwhile boot with _just_ the kernel). Can we blame Linus for this? No. I sure as hell can blame the narrow mindedness of the *nix philosophy and the Linux (Oh how I laugh) community though.
Should Linux (And associated applications) _BE_ ready for the desktop? Absolutely yes.
If there was half the infighting and a little more user friendliness the “Is Linux ready for the desktop?” argument would be over by now.
Akira, you have no substance, you are “old”, you are subjective and you are “cheerleading” for Linux because we’ve all heard these comments before. Is it boring? Hell yes.
Every attempt to bring the *nix situation into the modern world is met by superstition and outright denial of a user compatability problem even existing. If you can’t see that *nix systems need to adapt to their users as much as any other system does then you’re as blind as the rest of the zealots are.
But nooooo, “Linux on the desktop” means anyone who tells you to RTFM is evil and hindering linuxdesktop progress!
“But nooooo, “Linux on the desktop” means anyone who tells you to RTFM is evil and hindering linuxdesktop progress!”
Make a choice, friendly to the average user or friendly to elitist CS geeks. There really isn’t a middle ground that can keep both parties happy.
Hey, I’m no elitist, and I’ve never taken a CS class. But if you keep trolling and using offensive and misplaced rhetoric, you can go to Slashdot.
Arguing on the Internet: Whether you win or lose, you’re still a loser.
when BeOS is ready for enterprise
i never said i was a *nix elitest. this is simply babble on your part. what gets me is people like you complaining that unix is to hard. DON’T USE it. you name 30 years of unix w/o wide spread acceptance. i’m laughing at that. first off, linux/unix has wide spread acceptance, and that fact that after 30 years it is still being used speaks volumes. little has changed in the interface with the machine, with exception of the gui’s, and it’s still around. if MS didn’t put a new picture on there OS, simple minded people like you would get bored with it. Linux is not a game station, it’s not something cute w/ little butterflys, and it’s not insecure. i think it’s lack of change and it strict code on security is what has gotten in through the first 30 years…
This stuff is lame. usually people say “RTFM” when they don’t know the answer. You should bend over backwards to help people, but don’t change the feel of the operating system. Linux is fine the way it is. I agree with “You don’t like it, don’t use it”.
Right on!
The fact is, for some reason, it takes a very special person to have vision. The majority of Unix users fall into one of the following categories:
1. They’re afriad of change.
2. It works for THEM now, so why change it?
3. They find joy in the challenge of *nix. (aka “elitism”)
4. They are too literal and can’t envision anything other than the status quo.
This is as frustrating as the cabinet in 24. Why would you NOT want to make it easier? They’re no legitimate reason in my book why not to change the filsystem. We’ve evolved and moved on. People DO see their filesystem and WANT to know what’s going on in their computer. Even many seasoned Linux users don’t have a clue what goes where. And, even experts, if you put them on a different distro, wouldn’t know their way around.
Anyone who makes a case for the current filesystem layout is simply clueless. In my very humble opinion.
Are you siblings? Or are you the same person? You know this site logs IP, right?
Look. Most UNIX people don’t refuse to adapt. The fact is UNIX has copied a lot from other OSs where it made sense to do so. I use KDE on my personal machine and I see lots of similarities to MacOS and Windows. For the most part, those similarities are fine because the MacOS and Windows way of doing things is entirely adequete. But there are some things that simply aren’t going to be accepted by the UNIX community because they don’t stand on their technical merit. In these cases, simply saying, “well, that’s how everyone else does it!” just isn’t good enough of a reason to change things and break compatibility.
The filesystem hierarchy is one of these things. All the inane “/Programs” examples people keep throwing around just don’t cut it in the heavily networked environments in which UNIX OSs run. Besides, the benifet of switching to these alternate methods is vanishingly small. In my experience, most of the “newbie” users that everyone seems so concerned with really don’t understand the idea of a hierarchical filesystem. They know about “My Documents” and the “Desktop” and that’s it. That’s fine, because that’s all they really need to know to use the machine as a tool. The ones who really understand the idea of a hierarchical FS are the intermediate users, who know enough about computers to understand the metaphors involved. These same users also know enough about computers to learn the UNIX layout with little more than half an hour of study. It is sheer inertness and lack of familiarity that causes these users to choke at the sight of the UNIX layout. Well, inertness really isn’t a good excuse here. If you want the power of directly accessing the filesystem, then you’d better be willing to put in the modicum of time to understand the FHS. It’s not like there aren’t tons of docs available just a Google away.
To recap:
The benifets of changing the FHS:
– Satisfying lazy intermediate users who want to directly access the filesystem.
The costs of changing the FHS:
– Massive, widespread breaking of compatibility.
– Severe handicaps in heavily networked environments.
– Pissing off a whole bunch of longtime UNIX users.
PS> You might think “lazy” is an awefully harsh word to use. It is, but it’s well deserved. The UNIX FHS is really no more complex than the Windows hierarchy. For example, where are temp files stored in Windows? There are two places: one per-system (which I can’t remember at the moment) and one per-user “Documents and Settings<user>Local SettingsTemp”. Is this really easier than “/var/tmp” and “/tmp”? Where is the documentation stored in Windows? Oh, scattered all over dozens of program directories? In UNIX, they’re all together in “/usr/share/doc”. Quick, what’s the difference between “windowssystem32” and “windowssystem”? Heck, what are the meaning of half the weirdly named directories under “windows”? Finally, has anybody ever tooled around the registry? Is something going to have the gall to stand there and tell me that all this HKEY nonsense is somehow easier than a few dozen text files in /etc?
True, with a standard *nix, this would be a problem, but with something like Knoppix or Morphix a new file layout would actually make the distro super-useable! The biggest problem with Linux is the learning curve anymore. There’s 30 years of script that just “do” stuff. I’ll use your own argument against you here. If the scripts and automation are so hard-coded and difficult to follow that YOU can’t keep track and say “just leave it alone” then aren’t you just being a slave to an ancient system too! When you get to that point, it’s time to start over. After all, it’s Open Source, so why wouldn’t the file layout be easy to accomadate in the hardcoded stuff?
Looks like fun! I’ve mentioned before that the future of Linux involves accomadating changes like this. We’re still not thinking in terms of Meta-Software! It’s too bad there couldn’t be a “smarter” gentoo that one could search ALL the code of ALL the packages and adapt them to allow such changes? One could run scripted bots thru the system to hunt for thing like hard-coded links and fix them in a standard manner. The suggestions would be trackable and stored to run against future new software! Then the server would spit the code and sxripts out based on what you wanted the end result to be!
relayout the file system why don’t hide the details under the GUI.
(some user’s will be happy to see only their home as the Desktop).
This could be something like an beginner’s mode. An advanced mode will be a full blown GUI, that hardcore user’s don’t need.
For instance, I need sometimes the hardcore mode (CLI maily) and while gaming, surfing, doing stupid things I would like a simple UI that doesn’t show me the /,/bin, /usr, et al stuff
.
Moral: The GUI must be simple for desktop use, the system does not (real world problems hardly are simple).
IMHO, the solution in the article is not the answer. I wouldn’t buy the /Programs/ls/1.2.3/ls, /Programs/ps/3.2.1/ps thing.
What if, as in other proposal, I would rather lay my distribution with /Apps instead of /Programs (what a mess to compile source code…).
Great post Rayiner Hashem.
I was getting ready to say the same thing more or less.
Why ruin 30 years worth of software development to make a newbie happy.
——–
So 100 newbies learning linux is better than the sevral million who have to re-learn it? I fail to see the logic in this.
If you want to piss off a certain user base, its probably
not a good idea to piss off the user base that is developing all the software.
>>Now that’s too much! How can I not use your OS?<<
Well, when it’s bootable, I’ll be happy to share it. Hope you like Gnome2. To be honest, I had actually thought about what you had said in your editorial for years, and it kind of lit a fire under my a$$ to try it out and see if it would work.
>>Are you thinking about using the MHS file system layout<<
That’s the first time I saw that, now I’ve got to do some rethinkin’. I had come up with a hybrid of your ideas from the editorial, the LinuxSTEP Filesystem Hierarchy Specification, and a couple of my own ideas.
To all those who are saying “don’t like it, don’t use it.” Really, your being silly. No one is forcing you to use this distribution. Is it’s existance offending you?
A lot of poeple want a new file heirarchy. This distribution makes that a reality. If it turns out to be better in significant ways no doubt we’ll see either more distributions with such a system or this one will become very popular. It’s about time this was implemented consider how many times it’s suggested.
Either way, stop knocking people for having different ideas than the accepted standard. This site is for interesting news. It does not exist so that everyone can convince the world that their ideas are the only correct ones.
Rayiner, I normally agree wholeheartedly with your posts, but this one time I have to straight up disagree. Do you believe XML is a waste of time? Well, Rule #1 of XML is that terseness is of minimal importance.
Why should a filesystem be unreadable. Sure, it’s not “that hard,” but if it was super-clear, maybe developers wouldn’t write shitty apps that put files all over the filsystem.
I have said it before, I’ll say it again. Trash compatibility, IMPROVE the system, start over with a better beginning. Since history began, people have felt “a clean start” was worthwhile. Only die-hards UNIX-ites who can’t see past the status-quo insist otherwise.
e-mail me: adam/@/osnews/eliminate-this-part/dotcom
Good luck to anyone/everyone that attempts this stuff. I look forward to seeing the finished product.
Finally, someone has enough sense to start what needs to be done. Come-on people, doesn’t the way the file system is arranged here make more sense to YOU? Isn’t it one million times more intuitive? Unix was great when it was first invented, but its definitely time to move beyond the praise-singing and make some improvements. Yes, keep backward compatibility, for just a few years, but that shouldn’t be an excuse to get stuck in 30 years ago.
“The fact is, for some reason, it takes a very special person to have vision.”
“Anyone who makes a case for the current filesystem layout is simply clueless. In my very humble opinion.”
Woah, slow down there… I didn’t want to say anything (again), but those two sentences are very provocative and *selfcensored*.
Sorry to be harsh, but you don’t have a vision, you are suggesting to copy something that Microsoft did about TEN YEARS AGO(!) and is now trying to hide from the user.
The point simply is, that it doesn’t matter weither our filesystem is enduser oriented because it should not be exposed to the enduser. You can disagree with me but calling me clueless for disagreeing with you is plain and simple inappropriate arrogance.
That said, I wish everyone actually trying something new (like GoBo) good luck, but you will see that it won’t do anything to solve the deeper problems of Desktop Linux. To convince people that it’s worth throwing away decades of compatibility and a developer friendly filesystem just because you insist on exposing the user to the entire filesystem, you will need some very good arguments, not flames.
Besides, if you want to know what I would call visionary or insightful, you might want to read this:
http://evolvedoo.sourceforge.net/abstract/index.html (I’m not completely agreeing with Mark there but he makes some very good points).
I can’t agree with you. Whether or not you know what your talking about isn’t really where I was going with “clueless.” What I meant to imply was more “out of touch.” Why are people so resistant to hear the argument? For me to say, “most users WANT to understand the filesystem whether they use/see it or not,” the response I often get is “but they don’t need to see it.” So what? Why KEEP it inferior.
All I can say is that I understand why desktop UNIX doesn’t even make progress. It’s because the changes that should be made in favor of user-friendliness are too quickly dismissed by people who think they know what everyone should and shouldn’t need/want.
You could just as well argue that users WANT to understand the sourcecode, so we should forget about this messy C language and rewrite all applications in Basic. The fact remains that the filesystem is an implementation detail that has _no_ value to the user once it is properly abstracted, which is almost done already.
That some people _want_ to know there filesystem (I can assure you that my mother and grandmother don’t want to know it) is not a good reason to optimize the filesystem for endusers (as opposed to developers), especially when most of them only want to understand the entire filesystem because they are used to it from Windows, where it’s practically shoved into there face (yet).
I would actually enjoy discussions about things like this and sharing opinions and ideas but certainly not as long as you show this “I know the truth and everyone else is just clue- and visionless” attitude. For a while I had the same thoughts btw, but I changed my mind at some point.
Well, if the Unix file system is a mess, then why don’t we eliminate the root of the problem by changing the structure of the file system itself. As a matter of fact another file system, on the distribution CD’s, is another example of a complete lack of proper organization! The two systems should be solved together that a reasonable mapping of installation could be maintained. And, one should note that not only system-related files but all foreseeable applications should be considered. There are people who try to use the system doing some actual work beside tinkering and tweaking.
I’m not sure that I’d bank on your mother and grandmother as being a fair representation of most computer users.
“Most computer users” either get whatever comes with their PC or pirate stuff. The target for making money is on the corporate desktop. These are people who know enough – just enough to be dangerous.
Have you ever actually maintained a network? Have you seen what users do to their filesystems? How they add and remove programs? They litter the filesystem – and that’s in Windows, a fairly readable system! Put them in Linux and they don’t know their head from their feet – they won’t know how to organize anything. I’m sorry if you feel like I’m being snobbish about it, but I can’t see any validity to any rebuttal except compatibility breaking. And to me, that’s part of what has to happen to Linux distros if they want to be adopted on a large scale.
That was actually enlightening, just now.
But I thought only the superuser could install software? Maybe use /opt?
It’s because the changes that should be made in favor of user-friendliness are too quickly dismissed by people who think they know what everyone should and shouldn’t need/want.
But you sound like you believe you know “what everyone should and shouldn’t need/want.”
There is always room for improvement, no doubt. However, I think the ideas pursued in GoboLinux are a step backwards. There are many advantages to the FHS. If you haven’t read it already Adam, which would seem to be the case, then I highly recommend that you read it. It is both entertaining and enlightening.
The main idea that the original article seems to find so groundbreaking is to install all of a software package under one directory, and to make links everywhere else. But many people have used this method for years under /usr/local. In fact it has one big advantage: it is very easy to uninstall packages. Uninstalling is as simple as “rm -Rf /usr/local/packagedir” plus creating a cron job to clean up dead links regularly.
Unfortunately this system is inferior in almost every way to a proper package maintenance tool. There are very real advantages to keeping /usr nfs mountable read-only, and to keeping /home and /var on seperate partitions. A decent package maintenance tool allows one to distribute the individual files which make up a software package across the filesystem in ways that preserve the useful distinctions between /etc, /usr, /home, /var, etc. A decent package maintenance tool also makes installation and uninstallation easy, and the benefits do not stop there.
Consider that with RPM, for example, it is trivial to find out which package a particular file belongs to
rpm -qf /path/to/file
or to get info on a package
rpm -qi packagename
or to list all the config files or documentation files for a particular package
rpm -qc packagename
rpm -qd packagename
IMHO, RPM is vastly superior to Install Shield, and it is vastly superior to installing software by hand in /usr/local, and it is vastly superior to the ideas of GoboLinux.
But RPM is not the only solution, and it does have its flaws. Creating an RPM can be tedious and error prone (although often it is not). I prefer to build RPMs for almost every customized package I install on my systems (although I am not religious about it on workstations), but many do not know how or do not wish to. That is why /usr/local is still necessary.
Still not convinced? No problem, use what you like. One of the great advantages of Linux, in fact, is that you can customize to your hearts content if you have the will and the patience.
I’m not sure that I’d bank on your mother and grandmother as being a fair representation of most computer users.
More than the average OSNews reader actually.
“Most computer users” either get whatever comes with their PC or pirate stuff. The target for making money is on the corporate desktop.
And the key to success on the corporate desktop is a huge marketshare on the home desktop.
They litter the filesystem – and that’s in Windows, a fairly readable system!
Right, that’s why they shouldn’t be invited to do that.
Put them in Linux and they don’t know their head from their feet – they won’t know how to organize anything.
Because Linux still sucks on the desktop (for non-geeks). We just disagree on the reasons.
Users organize their stuff in $HOME, that’s there territory. Everything else should be organized by the system itself.
Soon we’ll will make it the ideal stage for a single user desktop OS: No standard directory structure at all. Sure there will be some organization of pre loaded stuff on new systems (note I don’t mean new installations, you wont need to do that anymore), but you can move it around wherever you want or delete it if you so desire.
Where will the OS go you say? It doesn’t “go” anywhere, it just “is”. The rest is techincal details only the manufacturer would care about (where is the OS on your VCR?).
Classic MacOS was the closest I’ve seen (just the System folder IIRC). For the UI challenged, DOS almost had it. They should have hidden command.com and internalized (or hid) some of the external commands.
And remember, no-one is going to come and force you to run your multi-user servers on this platform, and no-one is going to come and rm -rf your precious file system hierarchy from your own machine.
Can anybody explain me what’s with all the hype about putting each app in it’s own directory?
Being able to see the “contents” of an app is exposing implementation detail to the user. That’s bad, bad bad. Users shouldn’t have to know what files a program has! They should launch their app using menus or icons and uninstall using the package manager. They should never have to know more than that! Everything else should be taken care of automatically without exposing implementation details!
So, what good is putting each app in it’s own directory? It will certainly encourage people to take a look and try to hose their filesystem. I know many “average users” who fsck their Windows system because they randomly delete stuff from C:Program Files.
This looks pretty good. Being clearer and simpler is a Good Thing.
Adam Scheinberg is right. The orthodox UNIX users are wrong.
On the other hand, who is Scheinberg to force his views of a useful end-user system onto those who are already content with their system as it is?
This whole problem stems from the Linux on the desktop hype. Linux started out as a free UNIX for the PC. As a UNIX, it’s got the UNIX legacy stemming from the early seventies, when it was a multi-user mini computer system. People who use Linux, at least adopters before the hype waves of the last few years, use Linux because they want that kind of system.
This whole FS layout debate wouldn’t be a matter if Linux were left alone as the PC UNIX it is, or once was. OTOH, if Linux is supposed to make inroads on the single user desktop, Adam’s suggestions are very relevant. Not particularly because it is vital to Linux’s success on the desktop, because in that case, Windows wouldn’t be the big desktop OS it is now, what with its FS layout and program management. However, even if Linux, in its current state, were to make it onto 90% of all desktop PCs, one could still argue that it wouldn’t be ready for the desktop, with the user unfriendly FS layout as one such reason. It’s about doing it right, something which Linux/UNIX certainly isn’t at the moment, not in the desktop context.
I personally find it a bit of a moot point, though. Linux should be kept off the desktop, since any changes in a more user friendly direction will upset its current users, and any attempts to make it better adapted to the desktop task could end up as difficult as just writing a new OS altogether, doing it right from the start. My only fear is that the Linux desktop people will one day manage to put their thing on our desktops, with all the ugly UNIX parts left in, ending up as a new kind of Windows, which is another system with an FS layout from hell (for the end user, that is).
Readign the posts by the hard core Unix users I get teh understanding that they don’t want their SERVER OS messed up. Sounds fine to me. Why not just fork Linux into a Desktop OS and Server OS? Face it, Linux is going to the desktop whether you want it to or not. LindowsOS is showing what a good marketing campaign can do for Linux. You can hate it all you want… it’s comming.
If I were so content with everything being the way it is now on every OS, I would be using Win95 and still be running a Pentium 200. Why upgrade anything? Ever?
Do you WANT Linux to fail on the desktop? Why can’t you see that the only thing to do is change willingly or forcefully? Looking at the Longhorn Screenshots has shown me that Microsoft is paying attention to the Unix world and is implementing some of the nicer features (like virtual desktops and transparent menus). If developers of home-targeted software can’t get a decent sized linux user base, there will be NO comercial software. If I owned a business, I sure wouldn’t develop for a platform I would loose money on.
Sorry for going off topic a bit. I just wish that the System V people would wake up and see the way things are going. We need your help, not your attitude.
Changing the filesystem layout doesn’t worth the trouble. The advantages of doing so are very small (But it seems to please a lot Windows users). It’s not like Joe User spend it’s time in the file system and users that does knows the current FS layout anyway…which has a rationale behind it.
IMHO there are more important things to do in linux land like better integration between programs and the desktop in general.
IMHO there are more important things to do in linux land like better integration between programs and the desktop in general.
And a comprehensible filesystem hierarchy is one such thing. It’s there, it’s part of the system, and the “desktop” can either choose to represent it as it is, or not represent it at all, in which case integration has been thrown out of the system altogether.
“Do you WANT Linux to fail on the desktop? Why can’t you see that the only thing to do is change willingly or forcefully?”
You don’t understand! Most of us (I assume, not counting the hardcore Unix geek now ) are in favor of radical changes to the system if it’s worth it and I would also be in favor of such a change when it would break compatibility or make life for an admin slightly harder.
However, as so many people have pointed out now (including the last poster yop), exposing the system files to the user is not a good idea so making them look pretty is absolutely counter-productive.
The user should always only worry about his own personal files, nothing else. Suggesting otherwise is like complaining that the engine of your car is too complicated to understand and should be simplified.
Modern cars don’t force you to connect some wires for ignition (unless you want to steal them). :p
“Looking at the Longhorn Screenshots has shown me that Microsoft is paying attention to the Unix world and is implementing some of the nicer features (like virtual desktops and transparent menus).”
Yeah and like abstracting the filesystem… Do you want Linux to go back five years in time instead of trying to leapfrog the competition? We have the chance now, let’s take it. It’s still LOADS of work, even if we don’t completely re-invent the filesystem or screw compatibility with many years of hard work when it has no real meaning for the desktop of the future (one where the system files are the engine, not the steering wheel).
I think rather than have a totally new layout, the Linux desktop needs to extract a virtual file system from the *NIX style layout, still leaving the *NIX under the hood for those that want to get at it – I think this is what OSX already does (I’m only going on what I’ve read about OSX so don’t shoot me if I’m wrong). In general, the average user doesn’t need to see where their programs are, where their libraries are, where the config files are, etc. This should be hidden by default in the GUI environment. Is this lazy? Should we exclude this kind of user from using a computer until they learn all the above? No. There are people who don’t know any Linux sys admins and don’t want to learn to be one, they want to use the computer as a tool and for entertainment and nothing more.
The OS should not be a hinderance. Linux has the chance to learn from the mistakes of other OSs, but it seems to me at the moment that a lot of Linux advocates have their heads firmly stuck where the sun don’t shine and expect everyone to learn what they know or don’t use Linux.
Personally I don’t believe Linux is ready for the mass market desktop as I feel that both KDE and GNOME are miles away from usable for the mass market. Even though my current OS of choice is Windows XP, I still feel that as far as usability for the masses it fails in the same way as KDE and GNOME.
I say again, Linux developers need to make Linux consistent and usable. GUI config for everything a user may need to change, GUI install of software/libraries, users only have access to their documents in a normal working environment, automatic hardware config. It already has some of these but I they just don’t quite cut it yet.
At work we use linux, mostly Redhat now. My collegues are true gurus when it comes to programming and systems design and such. But do they know where to find each and every file in (Redhat) linux? No! And they have used linux forever. I’ve installed servers and workstations for about million times so I pretty much know where each file is (in redhat) so they ask me when they don’t want to spend time on locating a file since they might not even know the name of the file they need to find! So I don’t quite think the current filesystem hierarchy is that clear.
People who say the current fsh is just fine and should not be changed propably know it well and don’t realize that others may not and don’t even want to, they just want to get their work done. If YOU think nothing should be changed, read the previous sentence repeatedly until you understand it!
Someone mentioned that putting each app in its own directory would be not-so-good idea. I disagree. If each app had its own directory, all the files related to that app could be stored in a _one_single_ place. Need to edit the conf? Just go to the app’s directory and there it is. And as I recall, Mosfet (of KDE Liquid fame) wrote an article about it some time ago too. Check out ROX and GNUStep too.
Why is it that the best system to date already existed in the 80’s and have since disappeared? What system, you ask. NeXT/OpenStep (OSX is a derivative of NeXT), of course! For example, in NeXT you didn’t have to know where a configuration file was located, or what its’ name was. You had a single interface to _all_ configuration stuff (don’t remember the details). You would just ask the interface “what is the value of this variable?” or you could tell it to “set the value of this variable to this”. Apps would use the same interface. And no, I have never used NeXT, everything I know about it is from reading stuff from the web. I could tell you more about it, but it’s sunny outside so I’ll get on my bike and go for a ride!
Good ideas, bad actions – that’s how I’d sum up my impressions of GoboLinux.
If you have a vision, then by all means, try to justify and implement it. But if you have to start something from scratch to implement your vision, you’re almost certainly doing something wrong.
Now as I read the article at kuro5hin, the vision seems to be: Make the installation/upgrades/removal of applications easier by putting them all in separate directories. Use automatically created symlinks (via scripts, etc…) to link executables into a $PATH directory, libraries into the library path, etc…
IMHO, this is a very good idea, and I don’t think there are any technical arguments against it. In fact, this method can work even better in networked environments than the way it’s done at the moment.
So you’ve got a vision. I do realize it’s too late for that now, but before you do anything, you should have a look around if someone else has already done something like it. The answer is: yes, they have:
http://www.gnu.org/software/stow/stow.html
http://xstow.sourceforge.net/
Those are just two packages I’ve come across which enable you to do what you want: install applications in their own directory and automatically create symlinks into /usr/local/bin etc.
They may not have all the features you want, but they’re open-source, so fix it. NIH doesn’t help anyone.
A second “vision” of yours is to get rid of the FHS. The harsh truth is, as other people have pointed out, there is no technical merit to this “vision”, only lots of compatibility problems.
So if you really want to push Linux in the right direction with long-term success, it would probably be best to push for the general adoption of something like XStow, while at the same time working to eliminate some of its limitations.
It’s still the same stuff, just renaming some directories, and putting capital letters. Instead of cramming everything into /usr now they are craming everying into Apps. Look at gnome/kde try are contantly working to abstract their desktop form the unix vfs, which is ihmo the only way to go. This way you still get a nice clean interface, you don’t need to know anything (as a gui, no command line users) but if you want to thinker with stuff your not limited by a fs layout designed by toys ‘r us. How about this: We’ll fix everything with simlinks, so now we are going to have hundreads of symlinks for current stuff, and hundreads more for backward compatbility. For a second there buddy, i though you were trying to “fix” the fs. Or maybe we should move to the uber confusing uber broken Windows file system. With having seprate drive letters for partition, sticking everything into C:Windows or C:WindowsSystem or even C:WindowsSystem32. We’ll space your documentation files all over your C: drive, but not only that we’ll also randomly space it out over D: E: etc. Now lets hear the whiners, boo hoo: but windows isn’t like that you have your own C:Documents and Settings (here is a real, nice easy to rember and type director) with your own My Documents folder. Well guess what My Documents has been there since Windows 98, and there are plenty of applications still that when given a chance to save they point you to the root C: or to their own application folder (even new applications). Again this filesystem layour can be accomplished by KDE/Gnome/whatever using a userspace library so stuff looks nice and kudly to the user, but isn’t impratical to everyone else.
I’ve been using Gobolinux for some months now, and it’s only a way of package management. A nice one in my opinion, but no more, no less.
GoboLinux is FHS compatible. There is no reason for ditching the FHS standard.
In fact, my “other” machine rund debian, and when I wanted some program and didn’t had the time to download/recompile it, It wasn’t difficult to use alien to convert it to tar.gz and decompress in /Programs (nad running the script to update the links of course).
I don’t know why
‘C:Documents and SettingsUser ArschMy Documents’
is so much better than
‘/home/arsch/Documents’
or
‘C:Program FilesAdobeIllustrator 10/System/Application/Whatever’
is easier to understand than
‘/usr/local/bin’
But well, maybe I’m the only one who likes to keep it short and clean.
I like the FHS, and I don’t know why we should fix it, ’cause it’s not broken – most users are just plain stupid (or lazy, or ignorant).
I’m downloading the ISO right now. I hope that other Linux distrobutions catch on to this. I’d make some comments bashing the “users are idiots” retards here, but other people have already done so.
Oh hell…
Don’t blame the users for the results of bad design!
Really, they only make you look like some fresh convertite. This “Windows does it badly, so we’ve got no reason to do any better” mentality is really limiting to current Linux development at the moment.
“Why would you NOT want to make it easier? They’re no legitimate reason in my book why not to change the filsystem.”
you are not talking about the filesystem, you are speaking of the file heirarchy.
pretty much your 4 little catagories <which was a very poor generalization> amounts to this:
“If ain’t broke, why fix it”.
linux/unix is by no means broke. i can watch keep writing your little project, and you can watch no one adopt it.
Readign the posts by the hard core Unix users I get teh understanding that they don’t want their SERVER OS messed up.
Well I would argue that it is not necessary to “mess up” anything.
Why not just fork Linux into a Desktop OS and Server OS?
Because it would be a horrible engineering decision to do so. Cut&Paste is a form of reuse. Unfortunately it is the worst form of reuse.
Soon we will make it the ideal stage for a single user desktop OS: No standard directory structure at all.
Now there is a radical idea I could get behind! It will be awesome when the filesystem is really a database. The filesystem is one implementation detail that is far too exposed to the end user as it stands now.
Do you WANT Linux to fail on the desktop?
Absolutely not. Where we disagree is that I don’t find GoboLinux to be an improvement. I am for more extraction of implementation details. I am for radical changes when they make sense.
I don’t run Windows on any of my computers, so of course I care very much about issues related to Linux on the desktop. I could never go back to Windows because it is inferior in too many ways that are important to me. One of those ways is the poor quality of package management tools in use on Windows versus the wealth of quality solutions available for Linux.
Actually, I’d argue that the key to success on home desktops is widespread acceptance on corporate desktops. Most people who use computers both at home and at work got their computer skills at work. They most likely bought a computer so they could do work at home. Thus, at home, they use whatever they use at work. Let me give a concrete example. In the early 1990’s, there were lots of home users that used WordPerfect. In the late 1990’s, many of them had been forced to switch to Word. Why? Because the government mandated that all business with it be done with Word files, and offices that did business with the government were forced to switch to word. When those businesses switched, so did home users.
As for the merits of the UNIX FHS, they’ve been proven long ago. However, nobody has really given a good technical arguement for the merits of any of these alternatives. In particular, I have yet to hear a single specific reason why the Windows hierarchy, for example, is any easier than the UNIX one.
To be blunt, most of the supporters of these alternate arrangements are simply pushing what they’re used to. Is /Programs really easier than /usr/bin? Think about that. Understanding what “/Programs” means requires a whole bunch of computer knowledge. It requires understanding the “file” abstraction. It requires understanding that their is a file hierarchy. It requires understanding the idea of programs vs user data. It requires understanding the idea of a program installation. Once you teach somebody all that information, simply having an obvious name like “Programs” vs a less obvious name like “/usr/bin” really saves no time at all. Now consider the organizational structure. UNIX likes to place each type of file in its one place. Most of these alternatives like to group all program files in one directory. Is the latter really a more natural structure? I remember hearing the joke about the new computer user who reorganized all her files into seperate directories for each file extension. Further, think about how you organize things in real life. If you’re organizing tools, you put all the screwdrivers together, all the wrenches together, all the drills together, etc. You could very well do it differently, by arranging sets of related tools. You could put a wrench of a given size together with all the bolts and nuts of the same size, etc. But how may people do to latter vs the former?
I like the FHS, and I don’t know why we should fix it, ’cause it’s not broken – most users are just plain stupid (or lazy, or ignorant).
Are most drivers lazy because all they know is how to start/stop the car and where to put petrol in? Are people who drive automatics stupid because they don’t understand changing gear? No. Users want to use a computer to do the task they want to do quickly, everything else is cognitive overhead and shouldn’t be visible. Basically, one place to launch a program from, one place to store documents, one place to configure the system with only the most useful options available and sensible defaults for everything else. Of course there needs to be a way to get ‘under the hood’, but those of you who want Linux widely adopted need to know and listen to what your intended users want.
it’s not only the distro, it the tar’s and rpms, unless you intend to rewrite all MAKEFILES and have your own rpm manager. how they gonna install if you don’t use standard linux conventions. this is babble. i’m suprised this many posts have been written on this subject.
who ever said using is easy. every one knows that switching to linux/unix isn’t easy. it’s not like newbies are saying “i thought it was easy”… i’ve said it once, and i’ll say it again, “Linux is not for playing solitaire”. if they can’t figure out how to sort out the different meaning of the root directory, how the hell are they gonna use tools like xf86config. or manually up an eth0 interface. i know there are tools out there, but take suse for instance, you can use fine control over your wireless lan setup, IE: using yast2 to adjust ESSID or Channels. they bitch about not knowing the /mnt is for ‘mount’, so i’d like to see how you hemroids perpose we do this.
Technical Merit?
Tell me where KDE is installed on my machine? Come on, that’s all the info you get — can ya do it?
The answer is no. Is it /opt? Nope…guess again.
Better example, guess where OpenOffice.org is installed on my Windows machine? If you guess C:Program FilesOpenOffice.org1.1Beta (some something like that, you’re right.
What’s the benefit of a better hierarchy? Obvious paths to files. And then developers will be encouraged to put files in a consistent place. And then maintaining Linux will be much easier.
I know I may sound inflexible on this issue, but look back and you’ll see I’m rarely so – My honest belief is that is IT broke. I want to put Linux in the hands of more people, and I beleive I understand part of the shortcomings. Those unwilling to change don’t seem to understand that this IS an issue, whether users should be in the file system or not.
There isn’t anywhere left to go here – ths is now a chicken and egg scenario. I see now that a distribution that does things that well is doomed to be hated by those who understand what currently is, and that’s very sad. This is very chicken and egg, in that many of us agree that work machines with Linux will introduce change, but not how it will take shape.
I’m sorry if I’ve offended anyone, but at the same time, I’m not apologetic about my opinion. The “average” user likely isn’t your mom or grandma, it’s a person who uses a computer much of the day at work and then at home for e-mail and web. The success of OS X should teach everyone something, but unfortunately, I’m beginning to feel as though Linux will not be the next big thing, because it will always be exclusive while its users feel more special than everyone else.
If you disagree with me, that’s fine. But look at the implementations of Linux today and compare them to OS X and Windows. We’re so far from ready in comparison that it makes me sad. And the good ideas I’d like to see emulated are always challenged with “Why do you want to dumb down Linux?” and “We don’t want to make it like Windows!” That’s fine. But you catch more flys with honey.
Tell me where KDE is installed on my machine? Come on, that’s all the info you get — can ya do it?
Nope. But why would you want to know where it is installed?
You claim people who want the file system not to change are visionless. I claim that YOU are visionless. No, if the system is to become easier, then the user should never have to worry about where anything is installed. Lots of development is going into filesystems where he wouldnt even need to know where his personal files are stored. (only the system administrator might have a need to know these things, and a personal workstation should not need an sys adm)
This IMO is a vision of the future, you are simply trying to reimplement a 8 year old system that noone seems to be able to explain why is better than what we have now. Sorry, “people want to learn the where the files are” doesnt work. I would like to know how my computer hardware internals are working, but i dont think that is going to make the hardware manufacturers redesign computers so i can figure out how they do their stuff.
I often agree with you, but in this case i think your oppinion is silly and visionless ๐ If compatibility should be broken, then it should be to implement something new and better, not something 8 years old. (and i read that Gobo linux is indeed FHS compatible, in which case i REALLY don’t see the point as you simply have even MORE directories compared to a normal linux/unix system.)
PS: believe it or not, but the average computer user does have troubles with the concept of files and folders. You really are talking about intermediate to advanced computer users, and those are not the majority of computer users.
Nope. But why would you want to know where it is installed?
You’re thinking too much inside the box. There are certain tasks that a user must be able to accomplish. Among these tasks are: Finding out which programs are installed; Installing new programs; Updating installed programs; and Removing installed programs.
In order to find out which programs are installed, or to remove installed ones, the user must look _somehwere_, and they have to know _where_. So in effect, they have to know _where_ the programs are installed. This doesn’t mean that this “where” is inside the filesystem.
In fact, with the current FHS, this “where” is a package management database that is added because the filesystem itself cannot possibly provide the necessary information. This is a kludge at best.
AFAICT, what Adam suggests is that the filesystem itself replaces that database, so the user can just look at the filesystem to find out what is going on (one package – one directory). This makes package management unnecessary (some form of dependency tracking is still necessary, but that can be treated separately), thus making the system itself more robust. *)
Just think about it: No more troubles with broken/inconsistent databases. No more troubles mixing distribution-supplied packages with manually compiled ones (ever tried to compile a library yourself, and then install a program that depends on that library using a distro-supplied package?). No more troubles with inofficial packages. Yes, this _will_ make life easier.
*) Note that while beginners might still want some front-ends that would have more or less the interface of current package managers, users aren’t _forced_ to use them. Intermediary to advanced users can just go directly to the filesystem. This improved system is thus simpler, more flexible and more robust than everything we have today.
There’s something I’d like to add. I am in favour of a “one package – one directory” layout. However, I am against any kind of layout that forces a certain directory structure.
I.e. users shouldn’t be forced to obey a fixed structure like /Programs/<vendor>/<progname>/<version>/. They should have the freedom to use whatever organization they like (/mnt/network/science/foo, /apps/openoffice, /usr/share/servers/apache, and so on should be possible).
The operating system could use extended attributes (unfortunately not widely supported) or some sort of specification file to figure out which files are binaries, libraries, man-pages and so on, so that it can link them into the FHS structure.
So if you install e.g. Mozilla into /programs/internet/mozilla, a file /programs/internet/mozilla/mozilla.spec would be part of the package. It contains a list of all files that should be symlinked into place by the operating system scripts (possibly run from a daemon or as a cron job). Of course, I’d prefer a solution based on extended attributes…
FUNNY I just get the sense that a lot of the guys here are THREATENED by such NON-CONFORMIST work .. Get a life please, ALTERNATIVE work on the Linux Filesystem Hierachy won’t kill ya, NObody is forcin it on you either and neither is it ILLEGAL.
Let history take its course.
Yeah I like the idea of Gobolinux (though not entirely), it needs better integration with the Linux kernel than what it has now (in order for it to work).
We are dealing with FREE SOFTWARE after all.
AFAICT, what Adam suggests is that the filesystem itself replaces that database, so the user can just look at the filesystem to find out what is going on (one package – one directory). This makes package management unnecessary (some form of dependency tracking is still necessary, but that can be treated separately), thus making the system itself more robust. *)
Not to mention that it goes very well along with the most basic UNIX philosophy which goes: everything is a file. When someone says package manager, while referring to UNIX, I come to think of the licence managers of HPUX and other commercial UNIX systems. It’s a bit similar to the Windows registry, too, isn’t it?
(Oh, but the users will never want to go there… ๐
OTOH, I don’t think that any particular directory structure should be forced onto the user. Think of the Mac or the Amiga. A system folder or partition, and the rest being left for the user to decide. That goes for applications as well as data.
A clear, logical directory structure should be enforced for the system files, though. Sometimes, you will, or want to, dive into that region, and that shouldn’t be as complicated as a car engine without good reason.
But leave the rest of the system free, for the user to populate. Don’t litter “/” with lots of system directories, put them together. Putting /etc, /usr, /bin and what have you in the root is conventient for the sysadmin on a multi-user system, since his job is dealing with all these files, but they’re just cluttering the file structure for the single user.
Everyone’s got his or her more or less optimal way of handling their own data and programs. As pointed out by Rainier, some users organise their data by file type or file suffix, others organise their data along with the relevant programs. That’s good for them, let them to that instead of having the system putting files away the way it finds it the most convenient.
In order to find out which programs are installed, or to remove installed ones, the user must look _somehwere_, and they have to know _where_. So in effect, they have to know _where_ the programs are installed. This doesn’t mean that this “where” is inside the filesystem.
Why do you need to know where a program is installed? All you need is a well organised (no like Windows) and obvious programs menu. All installed programs should be able to be run, configured and uninstalled from this menu (no other superfluous crap like in Windows – though this is not Windows fault but software companies) – what other package management tasks are needed for an average home user? It really surprises me that no OS I know of (I’m not familiar with every OS so don’t shoot me) handles installing/uninstalling software as simply as this.
Ok, I admit my last comment was uncalled for,
apologies. I’ll rephrase the argument into something that isn’t a troll post.
The server and home desktop are totally different environments, and they make totally different demands upon the OS being used.
Linux (And *nix in general) is very good in the server arena. It’s stable, it’s friendly to sys-admins, all the funky server apps are generally available for it. Basically it gets the job done.
The office desktop makes a few more demands (Like a graphical environment, word processors etc), but not really any greater demands than the server environment (I’m not talking about availability of application xxx). Linux is a perfectly capable office desktop.
Which brings us round to the home desktop. This makes demands that simply aren’t present in the other two environments and this is precisely where Linux falls down. A responsive desktop is pointless if you’re operating a server, and having it be not quite so responsive is perfectly acceptable on the commercial desktop, but on the home desktop it MUST feel responsive to the user. Similarily with audio and 3d acceleration, amongst others. Only the home desktop actually requires these elements to perform to a high standard (Small exemption here for commercial desktops that are used for graphical purposes).
Or to put it another way.
A server OS has to service the needs of many users at the same time, both local and remote, and do it in such a manner that they are prevented from interfering with one another.
A home desktop OS has to service the needs of one user at a time, and do it in such a way that the minimum amount of effort is required to use the apps the user wishes to use. People mostly use computers for fun when they’re at home. A good home desktop OS should place as few stumbling blocks between the user and their apps as possibly.
Now these environments just don’t mesh well with one another, they pull the OS designers in separate directions more than anything else.
For example:
WinXP is a good home desktop (That isn’t an invitation to flame btw). I can perform my most common actions (Installing games, browsing, reading my mail etc) quite simply. It’s fairly idiot proof (Which helps :>) so I can just throw the CD in the drive and be playing games a coupla hours later. It might not be perfect, but it lets me do the things I want to do without ever having to engage my brain to do them (When I want to do developement work I switch to Linux because it has better free tools).
All well and good. But WinXP is reputed to be a poor server OS. I haven’t used it as such, but just reading around the web a little has revealed plenty of flaws when it’s operating in this environment.
Now this is to be expected. WinXP works well on the desktop, and less well as a server (I’d expect OSX to be similar).
Linux, and the other traditional *nix perform well on the server, for application developement, and less well on the desktop.
It shouldn’t be surprising. WinXP was designed with the home user in mind, whereas the *nix variants’ design leans towards a multi-user academic/business server environment.
Ok, lengthy and slightly boring explanation of things folks already know, but I’m getting to my point.
There is a resistance to change in the *nix community, but in the main it’s driven by folks who just don’t need *nix to change. If they’re sys admins, developers or office desktop users then it’s already fulfilling their requirements and radical change is too little reward for too much expense (Familiarity vs relearning the system).
Now that’s all well and good, and a perfectly understandable position to take, but it doesn’t help out the home desktop users. If Linux is truly going to make the big push into being a good home desktop OS then changes are going to be required, and they are going to be very large changes indeed.
These two positions are not harmonious, the target userbases have different objectives. Pushing Linux (In it’s current form) onto the home desktop is like trying to put a square peg through a round hole. You can do it, but either the hole has to be big enough or you have to alter the peg. In a similar fashion I’ve got no doubt that Linux can move towards the home desktop, but people should accept that the Linux on your desktop will not be the same Linux you use on your server.
It’s high time Linux developers stopped trying to be all things to all users, and provided separation between the two roles. In one incarnation Linux would be focused on the home desktop, in the other it would be focused on the server environment. Attempting to create the perfect OS that is all things to all people is simply diluting the developer’s efforts. Concentrating them into clearly defined roles will produce much better results.
(Back on topic, finally :>)
Now GoboLinux may or may not have got it right in altering the file system, but in making such a radical alteration what they have got right is to state categorically that this distribution is willing to make sweeping changes in response to the demands of the home desktop user. For that alone they should be congratulated. Standards are good things, but if followed too slavishly they can also be an impediment to progress.
Finally. It’s the job of the OS to adapt to needs of its users, not the job of the user to adapt to needs of the OS.
Re Ken Lynch:
You could easily create such a programs menu on top of any other system – either a fancy new one or the current one (though I’d say it would be easier on the fancy new one, one directory per package).
I don’t think the programs menu _itself_ should be the “package management”, for two main reasons:
– it wouldn’t work well in the console, and
– it definitely wouldn’t work in multi-user systems (different users want to organize their programs menu differently).
Re Err:
As you have outlined, there are basically two categories in which the server and desktop environments differ:
1. Usability (esp. ease of third party app installation, as far as this thread is concerned).
Server don’t need this as much, but desktops – especially home desktops – do. Improving usability may not be important for servers, but it certainly needn’t _hurt_ the server environment (unless security is compromised by moronic defaults), so there’s not really a problem there, just lots of inertia (= people who are afraid of change).
2. Performance profile.
It’s generally true that desktops, especially multimedia desktops, require better latency, but maybe not quite as much throughput, and it’s also true that improvements in one area can really hurt the other.
On the other hand, look at the work that’s been done in the 2.5.x kernel series. A lot of stuff has been going on to improve latency.
Additionally, I think somebody’s working on pluggable schedulers, so the problem isn’t as big as you make it seem – just drop in the scheduler you need (but feel free to correct me, I’m not sure).
P.S.: I really don’t think the “office desktop users don’t need responsiveness” thing is true. What about office desktops that are used in multimedia companies, for example?
In order to find out which programs are installed, or to remove installed ones, the user must look _somehwere_, and they have to know _where_. So in effect, they have to know _where_ the programs are installed. This doesn’t mean that this “where” is inside the filesystem.
He should of course be able to get this information, easily and quickly. However, who says that this is best done by looking in the filesystem? There is a lot of information that one might want about a program that is not in any way visible in the filesystem.
What does the program do? Which libraries does it require? Which extra functionality can it get if you install some optional extra packages?
Again i think this information should be abstracted, and not presented as a filesystem.
Just think about it: No more troubles with broken/inconsistent databases.
Never happened to me, unless i did something silly myself, in which case it is my own fault (rpm -i –nodeps –force for instance)
No more troubles mixing distribution-supplied packages with manually compiled ones (ever tried to compile a library yourself, and then install a program that depends on that library using a distro-supplied package?).
Yes i have, i put my own compiled stuff in /usr/local, and yes, that can create problems. But this is hardly what the idea behind the change is trying to address, and i believe this could be fixed within the package management system.
No more troubles with inofficial packages. Yes, this _will_ make life easier.
Yeah right. You will still have a hell of a problem matching programs from different distros. Just think about glibc and gcc differences for one thing. Besides, if the distro packages are FHS compliant, then there shouldnt be much problem, unless the packager set silly dependencies.
—
My oppinion still stands, i find this a step backwards and people thinking in the old traditional Windows way of doing things, instead of thinking about making it better than what we had 8 years ago.
There is no reason to change the filesystem.
The OS should be built in such a way that 99% of the users never have to look directly at the file system. This is very much what OS X does, which I think is the reason it is such a popular OS in spite of its unix underpinnings.
Linux will be ready for the desktop when it reaches the point that obtaining a shell is NEVER REQUIRED. I am not saying the shell should be removed, only that it should not be needed. This allows power users to continue to work as they always have, but allows less advanced users a system they can deal with.
– Kelson
I wish I could say that it didn’t have to. But if linux is going to make a break for the desktop os there is going to have to be a change in some way.
How about this:
You can leave ALL the root trees the same except for /usr and /home. These need to be consolidated into one directory with an easy to use sub-directory to it. for example:
/user/username/Desktop –The user’s desktop
/user/username/Apps –The user’s applications
/user/username/home –the user’s home directory (My Documents-like)
/user/username/home/documents –personal files
/user/username/home/music –personal music
/user/username/home/pictures –personal pictures
/user/username/system/settings –user’s settings. can override some non-critical global setting for that session
for shared stuff:
/user/shared/ etc, etc
I can see advantages to the current tree. But people are familiar with computers and who don’t have time to read the f**kin’ manual need to be able to guess their way around.
Please no comments like “I figured it out. So can they.” That is not the attitude a developer needs to have. An attitude like that goes against the “The customer is always right” idea that makes capitalism work. Actually, charities don’t get far with snotty attidues either.
**I tend to off on a tangent often, sorry.**
Anyway. What do you all think of the idea of a widnows-like tree inside the new-and-improved /user directory?
Be kind.
It’ll be there actually, see the SuSE linux / (root) directory for instance. It has a couple of (relatively new) directories: media (contains cdrom, dvd, floppy, etc) and windows (contains C, D, E, etc). This will make a new user (from windows) happy without breaking the Unix tradition too much. Eventually the progress I’ve seen convince me that more easier directory-tree (also apps) is ahead. Way ahead though ๐
Have fun ๐
I don’t think the programs menu _itself_ should be the “package management”, for two main reasons:
– it wouldn’t work well in the console, and
– it definitely wouldn’t work in multi-user systems (different users want to organize their programs menu differently).
I didn’t say it should BE the package managemer, I said you should be able to do package management from it and in such a way that it didn’t matter if you rearranged the menu. I other words it invoke, for example, RPM to remove the package – which also deals with your console argument.
I think what Linux also needs to unify installing is a standard installed packages database which could be updated by RPM, APT or whatever install method you chose to use, meaning it didn’t matter what type of package you install, there would be a record of it to check dependancies against and the required instructions to cleanly remove it.
Hi everyone!
How do you like this?:
http://delfin.klte.hu/~feketga/fil.txt
Is there anything like this already in Linux?
Or is KDE and Gnome heading to this direction?
(I don’t use either of them)
My distro would be available for download on throttled public FTP servers and also from some sort of contributor/buyer FTP servers.
No Cds?
because our install files will include everything
Thank god someone else thought of that.
I used to like that program back in the day when I still
flew the 4 coloured flag. I wonder if there is anything like it for Linux?
I guess a visit to /var/lib/dpkg/info in a Debian distro
will tell you pretty much where everything gets put.
It is long overdue, but finally
When I installed some Linux distributions, one question has come up over and over again:
“Why can’t we put all
applications in an /apn directory,
calculation support in a /calc directory,
drivers in a /drv directory,
mathematical tools in a /math directory,
programming items in a /prg directory,
that also may contain /lng – languages,
/edr – editors, or
/dev_env – development environments, and other directories,
system-related items in a /sys directory,
utilities in a /utl directory e.t.c.?”
Well, these people have done something historical. They dear to do the obvious: to quit the old, fossilized patchwork, and start with a clean sheet. We should salute, and support them! They move Unix to the 21st century!
It is long overdue, but finally
When I installed some Linux distributions, one question has come up over and over again:
“Why can’t we put all
applications in an /apn directory,
calculation support in a /calc directory,
drivers in a /drv directory,
mathematical tools in a /math directory,
programming items in a /prg directory,
that also may contain /lng – languages,
/edr – editors, or
/dev_env – development environments, and other directories,
system-related items in a /sys directory,
utilities in a /utl directory e.t.c.?”
Well, these people have done something historical. They dear to do the obvious: to quit the old, fossilized patchwork, and start with a clean sheet. We should salute, and support them! They move Unix to the 21st century!
Good article, I thought the Author was right on the button.
The thing is, Linux has grown up, and fast and it is almost there.
But what it needs is somebody to go through it with a fine toothcomb and look at all the things (like default apps) that don’t make sence or don’t work and fix them.
There needs to be panels of users saying “I can do this in OSX and Windows why not here?” and all the stupid “it has implications here and here” BS has got to stop.
If Linux achieves that in the next year (which I really believe it can) then there will be no stopping it.
It doesnt have to be an arguement about which is better or worse, or if we need to ‘fork Linux’ into a server OS and a Desktop OS. Linux is a kernel. Distributions fill in the rest with other software from many sources, like the kernel itself. Each distribution wishes to be unique in some fasion to stand apart from the others. For better or worse, they are all different, catering to different zeolots, and purposes. I do not think anyone has a valid case to make when they say that a given distribution should not change the filesystem layout (or anything else) unless they wish to use said distribution and wish it to be slightly different.
If someone wishes to create a new distribution that uses Applesoft Prodos filesystem in order to appeal to some user, all the more power to them and I wish them luck.
The thing of it is, the larger the userbase the better for everyone.