LWN.net Logo

Good ideas, but too far from the mainstream

Good ideas, but too far from the mainstream

Posted Jan 10, 2008 11:33 UTC (Thu) by epa (subscriber, #39769)
Parent article: GoboLinux

Clearly this is a better way to organize the filesystem.  Dumping all executables into /bin or
/usr/bin made some sense when V7 Unix or earlier was a small system with a hundred or so
programs.  It started to look silly soon afterwards and with today's Linux distributions it's
an absurd way to organize thousands of packages.  /usr/include is a little better but still
has lots of .h files splattered at the top level.

We all mock those computer-illiterate Windows users who don't understand the idea of
directories and save every file to the desktop, but our own filesystems are not much better.
Windows's stupid 'My Documents', 'My Computer' and so on make an uncomfortable second
filesystem hierarchy which tries to provide a sensible view of files that are scattered in
bizarre places on the real filesystem.  Yet our rpm databases are much the same kind of mess,
putting files all over the place and then needing to track separately which ones belong to
which packages.

The way things currently are, the shell expects all executables to be in PATH and many
programs look for files at fixed locations.  Fortunately we have symbolic links.

I think GoboLinux would have more impact on the Linux world if it were written as a variant of
Fedora or Debian where the package manager (rpm or dpkg) is modified to install standard,
vanilla packages into a more organized directory structure and then make symlinks for
compatibility.  Then, who knows, one day one of the major distributions might pick up their
work.


(Log in to post comments)

Good ideas, but too far from the mainstream

Posted Jan 10, 2008 23:09 UTC (Thu) by tzafrir (subscriber, #11501) [Link]

Now please explain to me what is the advantage of such splitting of the name-space of
executables. Tab-completion does make things manageable.

If that idea were so useful, it would have been implemented in some other distributions,
wouldn't it?

Good ideas, but too far from the mainstream

Posted Jan 13, 2008 1:16 UTC (Sun) by liljencrantz (subscriber, #28458) [Link]

My old university had something a bit like this. It allowed them to have truly massive amounts
of software installed, and dozens of versions of some packages. Each user could then freely
pick and choose which versions of which packages (or modules, as they called them) to use, or
they could simply use the latest recommended version. It was extremly useful in an environemnt
with tens of thousands of users running software on something like half a dozen different
hardware platforms and half a dozen different operating systems.

I don't really know how useful this would be on a simple desktop system.

Good ideas, but too far from the mainstream

Posted Jan 13, 2008 18:36 UTC (Sun) by nix (subscriber, #2304) [Link]

I wrote a system at an old workplace which worked something like this. At 
login it traversed a dependency tree, built a pair of directories full of 
symlinks to binaries and shared libraries under /tmp, and pointed PATH and 
LD_LIBRARY_PATH through it. (It used shell traps to remove the 
directories, although if I'd had root privs I would probably have used PAM 
instead.)

(You could ask for specific binaries or all binaries from specific 
packages, but almost nobody but me ever did that. Most people just turned 
everything off and on when necessary, *sigh*)

Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds