Linked by Thom Holwerda on Wed 2nd Nov 2011 23:17 UTC
Fedora Core Good news from the Linux world. Fedora has announced its intention to drastically alter the file system layout of its Linux distribution. The plan's been out for a while, but was brought to my attention by Brian Proffitt (still the best name ever) over at ITWorld. The gist is to move all binaries to /usr/bin, and all libraries to /usr/lib and /user/lib64.
Thread beginning with comment 495444
To read all comments associated with this story, please click here.
Why not go all the way?
by Lazarus on Thu 3rd Nov 2011 00:58 UTC
Lazarus
Member since:
2005-08-10

I find the whole thing kind of silly, but if you're going to do this, why not make it as simple as possible.

/System
/Library
/Programs
/Users

Reply Score: 13

RE: Why not go all the way?
by OSbunny on Thu 3rd Nov 2011 01:06 in reply to "Why not go all the way?"
OSbunny Member since:
2009-05-23

Because that's too long and complicated to type.

Moving everything to /usr is a nice idea. I just wonder how long before those symlinks in / will no longer be needed. Until then it won't feel like a real move.

Reply Parent Score: 0

tylerdurden Member since:
2009-03-17

That makes no sense, following your logic to its ultimate consequences, everything should be in /

Reply Parent Score: 7

RE: Why not go all the way?
by caruccio on Thu 3rd Nov 2011 01:07 in reply to "Why not go all the way?"
caruccio Member since:
2010-10-19

lowercase, please. shift keys are expensive.

Reply Parent Score: 10

RE[2]: Why not go all the way?
by oinet on Thu 3rd Nov 2011 03:40 in reply to "RE: Why not go all the way?"
oinet Member since:
2010-03-23

lowercase, please. shift keys are expensive.


Exactly!

Reply Parent Score: 3

RE[2]: Why not go all the way?
by bogomipz on Thu 3rd Nov 2011 07:13 in reply to "RE: Why not go all the way?"
bogomipz Member since:
2005-07-11

This and many more concerns are answered very well by the GoboLinux creator:

http://gobolinux.org/?page=doc/articles/clueless

In fact, the concerns on typing-friendliness always comes up in discussions about the GoboLinux tree. To that, I can only respond that, in a properly configured shell like the one that comes by default with GoboLinux, typing /Programs takes the exact same number of keystrokes as typing /usr: slash, lowercase p, Tab.

Reply Parent Score: 4

ThomasFuhringer Member since:
2007-01-25

When does a user ever type this?
They just select it in a list in the GUI. And the current ridiculous naming scheme is inpenetrable to them. And ugly.

Computers should be made for users and not developers.

Reply Parent Score: 2

mikelward Member since:
2007-03-22

Agree, but it's trivial to adapt to.

~/.inputrc
set completion-ignore-case On

~/.zshrc
zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}'

Reply Parent Score: 2

RE: Why not go all the way?
by ddc_ on Thu 3rd Nov 2011 01:32 in reply to "Why not go all the way?"
ddc_ Member since:
2006-12-05

I find the whole thing kind of silly, but if you're going to do this, why not make it as simple as possible.

/System
/Library
/Programs
/Users
What is simple here? The end user shouldn't browse / until he knows how that works. and when he learns the principals, the naming simplicity turns out to be the typing simplicity, so /s, /l, /p and /u (respectively) will make more sense. And You forgot /m (local media) and (possibly) /n (network resources).

Reply Parent Score: 0

lucas_maximus Member since:
2009-08-18

lolwot!

I give all my variable names in programming proper variables name so when another developer comes along and read my code they might know what the hell was going through my head at the time.

Stupid one letter names would be confusing.

Most shells have tab completion so the length of the actual word is largely irrelevant .. If you have problems typing "System" quickly ... I suggest you should invest in a better keyboard.

Reply Parent Score: 3

RE: Why not go all the way?
by ebasconp on Thu 3rd Nov 2011 02:22 in reply to "Why not go all the way?"
ebasconp Member since:
2006-05-09

I find the whole thing kind of silly, but if you're going to do this, why not make it as simple as possible.

/System
/Library
/Programs
/Users



I actually agree with this hierarchy (available in Mac OS X, PC-BSD and in some extent, in Windows).

Edited 2011-11-03 02:23 UTC

Reply Parent Score: 5

RE: Why not go all the way?
by oinet on Thu 3rd Nov 2011 03:37 in reply to "Why not go all the way?"
oinet Member since:
2010-03-23

I find the whole thing kind of silly, but if you're going to do this, why not make it as simple as possible.

/System
/Library
/Programs
/Users


1. "<Shift>First char</Shift>remnant chars" (after all: we're talking Unix with case sensitive FSs, and not Windows or AmigaOS where that luxury (pain) is absent) isn't exactly as simple as possible: one of the the few stupid ideas in GoboLinux.

2. You have "library" (singular/collective), and then "programs" and "users" (plural). Non-uniformity is not as simple as possible.

My few rotten cents...

Reply Parent Score: 2

RE[2]: Why not go all the way?
by tupp on Thu 3rd Nov 2011 05:34 in reply to "RE: Why not go all the way?"
tupp Member since:
2006-11-12

1. "<Shift>First char</Shift>remnant chars" (after all: we're talking Unix with case sensitive FSs, and not Windows or AmigaOS where that luxury (pain) is absent) isn't exactly as simple as possible: one of the the few stupid ideas in GoboLinux.

No.

Gobolinux by default uses a version of zsh which is configured to auto-complete regardless of case.

So, the procedure to type "/System" in the shell is simply "/", "s" and "<tab>".

Reply Parent Score: 8

RE[2]: Why not go all the way?
by raddude9 on Thu 3rd Nov 2011 14:21 in reply to "RE: Why not go all the way?"
raddude9 Member since:
2009-07-15

"I find the whole thing kind of silly, but if you're going to do this, why not make it as simple as possible.

/System
/Library
/Programs
/Users


1. "<Shift>First char</Shift>remnant chars" (after all: we're talking Unix with case sensitive FSs, and not Windows or AmigaOS where that luxury (pain) is absent) isn't exactly as simple as possible: one of the the few stupid ideas in GoboLinux.

2. You have "library" (singular/collective), and then "programs" and "users" (plural). Non-uniformity is not as simple as possible.

My few rotten cents...
"

Except that you would not have
/System
/Library
etc.
on AmigaOS. You would use device names to point to relevant directories, eg:
SYS:
Libs:
Devs:
Fonts:
C: (for commands)
etc.
Then it does not matter where you put those directories and you could re-point any of those device names at will.

Took a little while to get used to when if you were a DOS or UNIX head back in the day, but it was a far neater system IMHO. Maybe Linux should use that instead ;-)

Reply Parent Score: 1

RE: Why not go all the way?
by jabjoe on Thu 3rd Nov 2011 09:36 in reply to "Why not go all the way?"
jabjoe Member since:
2009-05-06

Because you have to support the Unix standard hierarchy. If you reinvent the hierarchy, you end up having the new one, and the old one. Like GoboLinux. Sure you can hide the old one, like GoboLinux, but that just pretending it's simpler when actually it's now more complicated. Windows NT kind of does this and it makes things much more complicated. What I love about Unix is it is simple. Everything is a file and those files are plain to see. It's all out in the open. The standard hierarchy really isn't that bad, especially considering it's age and how it's evolved, once you read how it works. So tweak it by all means, but don't try and throw it away, because unless you want to limit what can be run, you will end up with it anyway. As always, evolution not revolution.

Reply Parent Score: 4

RE: Why not go all the way?
by sorpigal on Thu 3rd Nov 2011 12:08 in reply to "Why not go all the way?"
sorpigal Member since:
2005-11-02

Okay big shot, reality check time.

Do you put libraries required by the system under /library or /system?

Where do you put databases?

Where do you put log files?

Do you split up logs for system and non-system components? How?

Where do you put temp files? Is that a /system sort of thing or a /users sort of thing? What if it's a temp file written by something from /programs - should we write into /system? If they write into /users, which home directory should be used when it's a daemon doing the writing?

Where does configuration go? If it's in /system, what about configuration for things that sit in /programs? Do you distinguish them? How?

If I put Firefox in /programs do I put its libraries in /library or under its directory in /programs? What counts as a library? Is it only ELF .so files or can I include e.g. Perl modules and "libraries" of shell code? What do you do about 32/64 bit programs and libs on the same system? Wht about libraries that aren't meant to be shared?

I could go on. Your idea of utopia is sweet but in the real world would be so much uglier than it appears in your head.

Edited 2011-11-03 12:10 UTC

Reply Parent Score: 2

RE[2]: Why not go all the way?
by Icaria on Thu 3rd Nov 2011 13:06 in reply to "RE: Why not go all the way?"
Icaria Member since:
2010-06-19

Have you actually used OSX? The root file system looks neat enough but start making you way down the filesystem tree and you'll get as lost and as quickly as you would browsing the FHS.

In short: 'yo dawg, I herd u liek filesystem layouts so we put file system layouts inside your filesystem layouts so u can file while u file'.

Funnily enough, OSX still makes a distinction between core OS resources/programmes and optional ones, with it's /Library and /System/Library directories (not to forget /Users/*/Library), which is exactly what Red Hat are trying to eradicate.


Anyway, I'm going to voice an unpopular opinion, here and state that I think the DOS style of filesystem layout is a lot better than anything the Unices have offered. The fundamental hierarchy is superior, as it doesn't lead to weird situations where users have to get their heads around mounting media inside another HDD's tree (WinNT can do this also but it's not often used), or dealing with virtual abstractions created by the kernel (eg. linux's /proc and *nix's /dev) inside your HDD's tree.

The obvious advantage of this goofy system is being able to do things like share /usr between multiple workstations over the network but a more ideal solution would still be to symlink /usr (or it's equivalent) to b:\ (or it's equivalent).

Eg. the first harddrive should appear as something like:
/devices/drive_a/

While the root filesystem remains simply as an abstraction for stuff like /proc and /dev[ices] (and perhaps a virtual /bin dir that populates with all items from all system paths).

Reply Parent Score: 2

RE: Why not go all the way?
by krreagan on Thu 3rd Nov 2011 13:21 in reply to "Why not go all the way?"
krreagan Member since:
2008-04-08

I agree. It time to move the file/directory system out of the last century.

Reply Parent Score: 1

RE: Why not go all the way?
by sirhalos on Thu 3rd Nov 2011 13:35 in reply to "Why not go all the way?"
sirhalos Member since:
2007-04-04

You should have it as /Applications and /Programs since it would help guarantee that the programs show up first if sorting alphabetically. Also you would always have symlinks to the traditional file system that you can use.

Reply Parent Score: 1

RE: Why not go all the way?
by xyproto on Thu 3rd Nov 2011 13:55 in reply to "Why not go all the way?"
xyproto Member since:
2011-10-12

Just remember include files, logs, temporary files, configuration files (both systemwide and per user), cache files, the possibility to mount some directories on a speedier drive etc etc

Reply Parent Score: 1